12 12
13Claude Code SDK был переименован в **Claude Agent SDK**, и его документация была переорганизована. Это изменение отражает более широкие возможности SDK для создания AI-агентов, выходящих за рамки только задач кодирования.13Claude Code SDK был переименован в **Claude Agent SDK**, и его документация была переорганизована. Это изменение отражает более широкие возможности SDK для создания AI-агентов, выходящих за рамки только задач кодирования.
14 14
15Переходите с OpenAI Agents SDK? [Рецепт миграции OpenAI Agents SDK](https://platform.claude.com/cookbook/claude-agent-sdk-04-migrating-from-openai-agents-sdk) отображает каждый примитив на Claude Agent SDK через один проработанный пример.
16
15<h2 id="what’s-changed">17<h2 id="what’s-changed">
16 Что изменилось18 Что изменилось
17</h2>19</h2>
18 20
19| Аспект | Старое | Новое |21| Аспект | Старое | Новое |
20| :---------------------------- | :-------------------------- | :------------------------------- |22| :------------------------------ | :-------------------------- | :----------------------------------------------------------------------- |
21| **Имя пакета (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |23| **Имя пакета (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |
22| **Python пакет** | `claude-code-sdk` | `claude-agent-sdk` |24| **Python пакет** | `claude-code-sdk` | `claude-agent-sdk` |
23| **Расположение документации** | Claude Code документация | API Guide → Agent SDK раздел |25| **Местоположение документации** | Claude Code docs | Claude Code docs → выделенный раздел [Agent SDK](/docs/ru/agent-sdk/overview) |
24
25<Note>
26 **Изменения в документации:** Документация Agent SDK переместилась из Claude Code документации в API Guide в отдельный раздел [Agent SDK](/ru/agent-sdk/overview). Документация Claude Code теперь сосредоточена на инструменте CLI и функциях автоматизации.
27</Note>
28 26
29<h2 id="migration-steps">27<h2 id="migration-steps">
30 Шаги миграции28 Этапы миграции
31</h2>29</h2>
32 30
33<h3 id="for-typescript/javascript-projects">31<h3 id="for-typescript/javascript-projects">
58import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";56import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";
59```57```
60 58
61**4. Обновите зависимости в package.json:**59**4. Обновите package.json:**
62
63Если у вас есть пакет в вашем `package.json`, обновите его:
64
65До:
66
67```json theme={null}
68{
69 "dependencies": {
70 "@anthropic-ai/claude-code": "^0.0.42"
71 }
72}
73```
74
75После:
76 60
77```json theme={null}61Если `@anthropic-ai/claude-code` всё ещё указан в вашем `package.json`, замените его на `@anthropic-ai/claude-agent-sdk` и также обновите диапазон версий, например с `"^0.0.42"` на `"^0.3.0"`.
78{
79 "dependencies": {
80 "@anthropic-ai/claude-agent-sdk": "^0.2.0"
81 }
82}
83```
84 62
85**5. Просмотрите [критические изменения](#breaking-changes)**63**5. Ознакомьтесь с [критическими изменениями](#breaking-changes)**
86 64
87Внесите необходимые изменения в код для завершения миграции.65Внесите необходимые изменения в код для завершения миграции.
88 66
89<h3 id="for-python-projects">67<h3 id="for-python-projects">
90 Для Python проектов68 Для проектов Python
91</h3>69</h3>
92 70
93**1. Удалите старый пакет:**71**1. Удалите старый пакет:**
94 72
95```bash theme={null}73```bash theme={null}
96pip uninstall claude-code-sdk74pip uninstall -y claude-code-sdk
97```75```
98 76
77Если старый пакет не установлен, pip выведет `WARNING: Skipping claude-code-sdk as it is not installed.` Это нормально, и вы можете перейти к следующему этапу.
78
99**2. Установите новый пакет:**79**2. Установите новый пакет:**
100 80
101```bash theme={null}81```bash theme={null}
102pip install claude-agent-sdk82pip install claude-agent-sdk
103```83```
104 84
85Если `claude-code-sdk` указан в вашем `requirements.txt` или `pyproject.toml`, замените его на `claude-agent-sdk`.
86
105**3. Обновите ваши импорты:**87**3. Обновите ваши импорты:**
106 88
107Измените все импорты с `claude_code_sdk` на `claude_agent_sdk`:89Измените все импорты с `claude_code_sdk` на `claude_agent_sdk`:
114from claude_agent_sdk import query, ClaudeAgentOptions96from claude_agent_sdk import query, ClaudeAgentOptions
115```97```
116 98
117**4. Обновите имена типов:**99**4. Ознакомьтесь с [критическими изменениями](#breaking-changes)**
118
119Измените `ClaudeCodeOptions` на `ClaudeAgentOptions`:
120
121```python theme={null}
122# До
123from claude_code_sdk import query, ClaudeCodeOptions
124
125options = ClaudeCodeOptions(model="claude-opus-4-7")
126
127# После
128from claude_agent_sdk import query, ClaudeAgentOptions
129
130options = ClaudeAgentOptions(model="claude-opus-4-7")
131```
132
133**5. Просмотрите [критические изменения](#breaking-changes)**
134 100
135Внесите необходимые изменения в код для завершения миграции.101Внесите необходимые изменения в код для завершения миграции.
136 102
139</h2>105</h2>
140 106
141<Warning>107<Warning>
142 Для улучшения изоляции и явной конфигурации Claude Agent SDK v0.1.0 вводит критические изменения для пользователей, переходящих с Claude Code SDK. Внимательно просмотрите этот раздел перед миграцией.108 Для улучшения изоляции и явной конфигурации Claude Agent SDK v0.1.0 вводит критические изменения для пользователей, переходящих с Claude Code SDK.
143</Warning>109</Warning>
144 110
145<h3 id="python-claudecodeoptions-renamed-to-claudeagentoptions">111<h3 id="python-claudecodeoptions-renamed-to-claudeagentoptions">
151**Миграция:**117**Миграция:**
152 118
153```python theme={null}119```python theme={null}
154# ДО (claude-code-sdk)120# BEFORE (claude-code-sdk)
155from claude_code_sdk import query, ClaudeCodeOptions121from claude_code_sdk import query, ClaudeCodeOptions
156 122
157options = ClaudeCodeOptions(model="claude-opus-4-7", permission_mode="acceptEdits")123options = ClaudeCodeOptions(model="claude-opus-4-7", permission_mode="acceptEdits")
158 124
159# ПОСЛЕ (claude-agent-sdk)125# AFTER (claude-agent-sdk)
160from claude_agent_sdk import query, ClaudeAgentOptions126from claude_agent_sdk import query, ClaudeAgentOptions
161 127
162options = ClaudeAgentOptions(model="claude-opus-4-7", permission_mode="acceptEdits")128options = ClaudeAgentOptions(model="claude-opus-4-7", permission_mode="acceptEdits")
163```129```
164 130
165**Почему это изменилось:** Имя типа теперь соответствует брендингу "Claude Agent SDK" и обеспечивает согласованность в соглашениях об именовании SDK.
166
167<h3 id="system-prompt-no-longer-default">131<h3 id="system-prompt-no-longer-default">
168 Системный промпт больше не используется по умолчанию132 Системный промпт больше не используется по умолчанию
169</h3>133</h3>
176 ```typescript TypeScript theme={null}140 ```typescript TypeScript theme={null}
177 import { query } from "@anthropic-ai/claude-agent-sdk";141 import { query } from "@anthropic-ai/claude-agent-sdk";
178 142
179 // ДО (v0.0.x) - Использовал системный промпт Claude Code по умолчанию143 // BEFORE (v0.0.x) - Used Claude Code's system prompt by default
180 const before = query({ prompt: "Hello" });144 const before = query({ prompt: "Hello" });
181 145
182 // ПОСЛЕ (v0.1.0) - Использует минимальный системный промпт по умолчанию146 // AFTER (v0.1.0) - Uses minimal system prompt by default
183 // Чтобы получить старое поведение, явно запросите предустановку Claude Code:147 // To get the old behavior, explicitly request Claude Code's preset:
184 const presetResult = query({148 const presetResult = query({
185 prompt: "Hello",149 prompt: "Hello",
186 options: {150 options: {
188 }152 }
189 });153 });
190 154
191 // Или используйте пользовательский системный промпт:155 // Or use a custom system prompt:
192 const customResult = query({156 const customResult = query({
193 prompt: "Hello",157 prompt: "Hello",
194 options: {158 options: {
198 ```162 ```
199 163
200 ```python Python theme={null}164 ```python Python theme={null}
201 # ДО (v0.0.x) - Использовал системный промпт Claude Code по умолчанию165 from claude_agent_sdk import query, ClaudeAgentOptions
166 import asyncio
167
168
169 async def main():
170 # BEFORE (v0.0.x) - Used Claude Code's system prompt by default
202 async for message in query(prompt="Hello"):171 async for message in query(prompt="Hello"):
203 print(message)172 print(message)
204 173
205 # ПОСЛЕ (v0.1.0) - Использует минимальный системный промпт по умолчанию174 # AFTER (v0.1.0) - Uses minimal system prompt by default
206 # Чтобы получить старое поведение, явно запросите предустановку Claude Code:175 # To get the old behavior, explicitly request Claude Code's preset:
207 from claude_agent_sdk import query, ClaudeAgentOptions
208
209 async for message in query(176 async for message in query(
210 prompt="Hello",177 prompt="Hello",
211 options=ClaudeAgentOptions(178 options=ClaudeAgentOptions(
212 system_prompt={"type": "preset", "preset": "claude_code"} # Используйте предустановку179 system_prompt={"type": "preset", "preset": "claude_code"} # Use the preset
213 ),180 ),
214 ):181 ):
215 print(message)182 print(message)
216 183
217 # Или используйте пользовательский системный промпт:184 # Or use a custom system prompt:
218 async for message in query(185 async for message in query(
219 prompt="Hello",186 prompt="Hello",
220 options=ClaudeAgentOptions(system_prompt="You are a helpful coding assistant"),187 options=ClaudeAgentOptions(system_prompt="You are a helpful coding assistant"),
221 ):188 ):
222 print(message)189 print(message)
190
191
192 asyncio.run(main())
223 ```193 ```
224</CodeGroup>194</CodeGroup>
225 195
226**Почему это изменилось:** Обеспечивает лучший контроль и изоляцию для приложений SDK. Теперь вы можете создавать агентов с пользовательским поведением без наследования инструкций, ориентированных на CLI Claude Code.
227
228<h3 id="settings-sources-default">196<h3 id="settings-sources-default">
229 Значения по умолчанию для источников настроек197 Источники параметров по умолчанию
230</h3>198</h3>
231 199
232Это значение по умолчанию было кратко изменено в v0.1.0, а затем восстановлено, поэтому никаких действий по миграции не требуется.200Это значение по умолчанию было кратко изменено в v0.1.0 для загрузки без параметров файловой системы, а затем восстановлено, поэтому никаких действий по миграции не требуется.
233
234**Текущее поведение:** Пропуск `settingSources` в `query()` загружает пользовательские, проектные и локальные настройки файловой системы, соответствуя CLI. Это включает `~/.claude/settings.json`, `.claude/settings.json`, `.claude/settings.local.json`, файлы CLAUDE.md и пользовательские команды.
235
236Для запуска в изоляции от настроек файловой системы передайте пустой массив:
237
238<CodeGroup>
239 ```typescript TypeScript theme={null}
240 import { query } from "@anthropic-ai/claude-agent-sdk";
241
242 const isolatedResult = query({
243 prompt: "Hello",
244 options: {
245 settingSources: [] // Настройки файловой системы не загружаются
246 }
247 });
248 201
249 // Или загрузите только определённые источники:202**Текущее поведение:** Пропуск `settingSources` в `query()` загружает параметры пользователя, проекта и локальной файловой системы, соответствуя CLI. Это включает `~/.claude/settings.json`, `.claude/settings.json`, `.claude/settings.local.json`, файлы CLAUDE.md и пользовательские команды.
250 const projectOnlyResult = query({
251 prompt: "Hello",
252 options: {
253 settingSources: ["project"] // Только настройки проекта
254 }
255 });
256 ```
257 203
258 ```python Python theme={null}204Для работы в изоляции от параметров файловой системы передайте `settingSources: []` или `setting_sources=[]` в Python. См. [Control filesystem settings with settingSources](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) для информации о том, что загружает каждый источник.
259 from claude_agent_sdk import query, ClaudeAgentOptions
260 205
261 async for message in query(206Изоляция особенно важна для конвейеров CI/CD, развёрнутых приложений, тестовых сред и многопользовательских систем, где локальные настройки не должны утекать.
262 prompt="Hello",
263 options=ClaudeAgentOptions(setting_sources=[]), # Настройки файловой системы не загружаются
264 ):
265 print(message)
266
267 # Или загрузите только определённые источники:
268 async for message in query(
269 prompt="Hello",
270 options=ClaudeAgentOptions(
271 setting_sources=["project"] # Только настройки проекта
272 ),
273 ):
274 print(message)
275 ```
276</CodeGroup>
277
278Изоляция особенно важна для конвейеров CI/CD, развёрнутых приложений, тестовых сред и многопользовательских систем, где локальные настройки не должны просачиваться.
279 207
280<Note>208<Note>
281 SDK v0.1.0 кратко использовал значение по умолчанию без загруженных настроек; это было восстановлено в последующих выпусках. Python SDK 0.1.59 и более ранние версии обрабатывали пустой список так же, как пропуск опции, поэтому обновитесь перед использованием `setting_sources=[]`. Смотрите [Что settingSources не контролирует](/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) для входных данных, которые читаются даже когда `settingSources` равен `[]`.209 Python SDK 0.1.59 и более ранние версии обрабатывали пустой список так же, как пропуск опции, поэтому обновитесь перед использованием `setting_sources=[]`. См. [What settingSources does not control](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) для входных данных, которые читаются даже когда `settingSources` равен `[]`.
282</Note>210</Note>
283 211
284<h2 id="why-the-rename">
285 Почему переименование?
286</h2>
287
288Claude Code SDK был первоначально разработан для задач кодирования, но он превратился в мощную платформу для создания всех типов AI-агентов. Новое имя "Claude Agent SDK" лучше отражает его возможности:
289
290* Создание бизнес-агентов (помощники по правовым вопросам, финансовые консультанты, поддержка клиентов)
291* Создание специализированных агентов кодирования (боты SRE, рецензенты безопасности, агенты проверки кода)
292* Разработка пользовательских агентов для любой области с использованием инструментов, интеграции MCP и многого другого
293
294<h2 id="getting-help">
295 Получение помощи
296</h2>
297
298Если вы столкнулись с какими-либо проблемами во время миграции:
299
300**Для TypeScript/JavaScript:**
301
3021. Проверьте, что все импорты обновлены для использования `@anthropic-ai/claude-agent-sdk`
3032. Убедитесь, что ваш package.json содержит новое имя пакета
3043. Запустите `npm install`, чтобы убедиться, что зависимости обновлены
305
306**Для Python:**
307
3081. Проверьте, что все импорты обновлены для использования `claude_agent_sdk`
3092. Убедитесь, что ваш requirements.txt или pyproject.toml содержит новое имя пакета
3103. Запустите `pip install claude-agent-sdk`, чтобы убедиться, что пакет установлен
311
312<h2 id="next-steps">212<h2 id="next-steps">
313 Следующие шаги213 Следующие шаги
314</h2>214</h2>
315 215
316* Изучите [Обзор Agent SDK](/ru/agent-sdk/overview), чтобы узнать о доступных функциях216* Изучите [Обзор Agent SDK](/docs/ru/agent-sdk/overview), чтобы узнать о доступных функциях
317* Ознакомьтесь со [Справочником TypeScript SDK](/ru/agent-sdk/typescript) для подробной документации API217* Ознакомьтесь со [Справочником TypeScript SDK](/docs/ru/agent-sdk/typescript) для подробной документации API
318* Просмотрите [Справочник Python SDK](/ru/agent-sdk/python) для документации, специфичной для Python218* Просмотрите [Справочник Python SDK](/docs/ru/agent-sdk/python) для документации, специфичной для Python
319* Узнайте о [Пользовательских инструментах](/ru/agent-sdk/custom-tools) и [Интеграции MCP](/ru/agent-sdk/mcp)219* Узнайте о [Пользовательских инструментах](/docs/ru/agent-sdk/custom-tools) и [Интеграции MCP](/docs/ru/agent-sdk/mcp)