Миграция на Claude Agent SDK
Руководство по миграции Claude Code TypeScript и Python SDK на Claude Agent SDK
Обзор
Claude Code SDK был переименован в Claude Agent SDK, и его документация была переорганизована. Это изменение отражает более широкие возможности SDK для создания AI-агентов, выходящих за рамки только задач кодирования.
Что изменилось
| Аспект | Старое | Новое |
|---|---|---|
| Имя пакета (TS/JS) | @anthropic-ai/claude-code |
@anthropic-ai/claude-agent-sdk |
| Python пакет | claude-code-sdk |
claude-agent-sdk |
| Расположение документации | Claude Code документация | API Guide → Agent SDK раздел |
Изменения в документации: Документация Agent SDK переместилась из Claude Code документации в API Guide в отдельный раздел Agent SDK. Документация Claude Code теперь сосредоточена на инструменте CLI и функциях автоматизации.
Шаги миграции
Для проектов TypeScript/JavaScript
1. Удалите старый пакет:
npm uninstall @anthropic-ai/claude-code
2. Установите новый пакет:
npm install @anthropic-ai/claude-agent-sdk
3. Обновите ваши импорты:
Измените все импорты с @anthropic-ai/claude-code на @anthropic-ai/claude-agent-sdk:
// До
import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-code";
// После
import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";
4. Обновите зависимости в package.json:
Если у вас есть пакет в вашем package.json, обновите его:
До:
{
"dependencies": {
"@anthropic-ai/claude-code": "^0.0.42"
}
}
После:
{
"dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.2.0"
}
}
5. Просмотрите критические изменения
Внесите необходимые изменения в код для завершения миграции.
Для Python проектов
1. Удалите старый пакет:
pip uninstall claude-code-sdk
2. Установите новый пакет:
pip install claude-agent-sdk
3. Обновите ваши импорты:
Измените все импорты с claude_code_sdk на claude_agent_sdk:
# До
from claude_code_sdk import query, ClaudeCodeOptions
# После
from claude_agent_sdk import query, ClaudeAgentOptions
4. Обновите имена типов:
Измените ClaudeCodeOptions на ClaudeAgentOptions:
# До
from claude_code_sdk import query, ClaudeCodeOptions
options = ClaudeCodeOptions(model="claude-opus-4-7")
# После
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(model="claude-opus-4-7")
5. Просмотрите критические изменения
Внесите необходимые изменения в код для завершения миграции.
Критические изменения
Для улучшения изоляции и явной конфигурации Claude Agent SDK v0.1.0 вводит критические изменения для пользователей, переходящих с Claude Code SDK. Внимательно просмотрите этот раздел перед миграцией.
Python: ClaudeCodeOptions переименован в ClaudeAgentOptions
Что изменилось: Тип Python SDK ClaudeCodeOptions был переименован в ClaudeAgentOptions.
Миграция:
# ДО (claude-code-sdk)
from claude_code_sdk import query, ClaudeCodeOptions
options = ClaudeCodeOptions(model="claude-opus-4-7", permission_mode="acceptEdits")
# ПОСЛЕ (claude-agent-sdk)
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(model="claude-opus-4-7", permission_mode="acceptEdits")
Почему это изменилось: Имя типа теперь соответствует брендингу "Claude Agent SDK" и обеспечивает согласованность в соглашениях об именовании SDK.
Системный промпт больше не используется по умолчанию
Что изменилось: SDK больше не использует системный промпт Claude Code по умолчанию.
Миграция:
import { query } from "@anthropic-ai/claude-agent-sdk";
// ДО (v0.0.x) - Использовал системный промпт Claude Code по умолчанию
const before = query({ prompt: "Hello" });
// ПОСЛЕ (v0.1.0) - Использует минимальный системный промпт по умолчанию
// Чтобы получить старое поведение, явно запросите предустановку Claude Code:
const presetResult = query({
prompt: "Hello",
options: {
systemPrompt: { type: "preset", preset: "claude_code" }
}
});
// Или используйте пользовательский системный промпт:
const customResult = query({
prompt: "Hello",
options: {
systemPrompt: "You are a helpful coding assistant"
}
});
# ДО (v0.0.x) - Использовал системный промпт Claude Code по умолчанию
async for message in query(prompt="Hello"):
print(message)
# ПОСЛЕ (v0.1.0) - Использует минимальный системный промпт по умолчанию
# Чтобы получить старое поведение, явно запросите предустановку Claude Code:
from claude_agent_sdk import query, ClaudeAgentOptions
async for message in query(
prompt="Hello",
options=ClaudeAgentOptions(
system_prompt={"type": "preset", "preset": "claude_code"} # Используйте предустановку
),
):
print(message)
# Или используйте пользовательский системный промпт:
async for message in query(
prompt="Hello",
options=ClaudeAgentOptions(system_prompt="You are a helpful coding assistant"),
):
print(message)
Почему это изменилось: Обеспечивает лучший контроль и изоляцию для приложений SDK. Теперь вы можете создавать агентов с пользовательским поведением без наследования инструкций, ориентированных на CLI Claude Code.
Значения по умолчанию для источников настроек
Это значение по умолчанию было кратко изменено в v0.1.0, а затем восстановлено, поэтому никаких действий по миграции не требуется.
Текущее поведение: Пропуск settingSources в query() загружает пользовательские, проектные и локальные настройки файловой системы, соответствуя CLI. Это включает ~/.claude/settings.json, .claude/settings.json, .claude/settings.local.json, файлы CLAUDE.md и пользовательские команды.
Для запуска в изоляции от настроек файловой системы передайте пустой массив:
import { query } from "@anthropic-ai/claude-agent-sdk";
const isolatedResult = query({
prompt: "Hello",
options: {
settingSources: [] // Настройки файловой системы не загружаются
}
});
// Или загрузите только определённые источники:
const projectOnlyResult = query({
prompt: "Hello",
options: {
settingSources: ["project"] // Только настройки проекта
}
});
from claude_agent_sdk import query, ClaudeAgentOptions
async for message in query(
prompt="Hello",
options=ClaudeAgentOptions(setting_sources=[]), # Настройки файловой системы не загружаются
):
print(message)
# Или загрузите только определённые источники:
async for message in query(
prompt="Hello",
options=ClaudeAgentOptions(
setting_sources=["project"] # Только настройки проекта
),
):
print(message)
Изоляция особенно важна для конвейеров CI/CD, развёрнутых приложений, тестовых сред и многопользовательских систем, где локальные настройки не должны просачиваться.
SDK v0.1.0 кратко использовал значение по умолчанию без загруженных настроек; это было восстановлено в последующих выпусках. Python SDK 0.1.59 и более ранние версии обрабатывали пустой список так же, как пропуск опции, поэтому обновитесь перед использованием setting_sources=[]. Смотрите Что settingSources не контролирует для входных данных, которые читаются даже когда settingSources равен [].
Почему переименование?
Claude Code SDK был первоначально разработан для задач кодирования, но он превратился в мощную платформу для создания всех типов AI-агентов. Новое имя "Claude Agent SDK" лучше отражает его возможности:
- Создание бизнес-агентов (помощники по правовым вопросам, финансовые консультанты, поддержка клиентов)
- Создание специализированных агентов кодирования (боты SRE, рецензенты безопасности, агенты проверки кода)
- Разработка пользовательских агентов для любой области с использованием инструментов, интеграции MCP и многого другого
Получение помощи
Если вы столкнулись с какими-либо проблемами во время миграции:
Для TypeScript/JavaScript:
- Проверьте, что все импорты обновлены для использования
@anthropic-ai/claude-agent-sdk - Убедитесь, что ваш package.json содержит новое имя пакета
- Запустите
npm install, чтобы убедиться, что зависимости обновлены
Для Python:
- Проверьте, что все импорты обновлены для использования
claude_agent_sdk - Убедитесь, что ваш requirements.txt или pyproject.toml содержит новое имя пакета
- Запустите
pip install claude-agent-sdk, чтобы убедиться, что пакет установлен
Следующие шаги
- Изучите Обзор Agent SDK, чтобы узнать о доступных функциях
- Ознакомьтесь со Справочником TypeScript SDK для подробной документации API
- Просмотрите Справочник Python SDK для документации, специфичной для Python
- Узнайте о Пользовательских инструментах и Интеграции MCP