Use this file to discover all available pages before exploring further.
Starting June 15, 2026, Agent SDK and claude -p usage on subscription plans will draw from a new monthly Agent SDK credit, separate from your interactive usage limits. See Use the Claude Agent SDK with your Claude plan for details.
Создавайте AI-агентов, которые автономно читают файлы, запускают команды, ищут в интернете, редактируют код и многое другое. Agent SDK предоставляет вам те же инструменты, цикл агента и управление контекстом, которые питают Claude Code, программируемые на Python и TypeScript.
import asynciofrom claude_agent_sdk import query, ClaudeAgentOptionsasync def main(): async for message in query( prompt="Find and fix the bug in auth.py", options=ClaudeAgentOptions(allowed_tools=["Read", "Edit", "Bash"]), ): print(message) # Claude reads the file, finds the bug, edits itasyncio.run(main())
Agent SDK включает встроенные инструменты для чтения файлов, запуска команд и редактирования кода, поэтому ваш агент может начать работу немедленно без необходимости реализации выполнения инструментов. Погрузитесь в быстрый старт или изучите реальных агентов, созданных с помощью SDK:
Быстрый старт
Создайте агента по исправлению ошибок за несколько минут
Примеры агентов
Помощник по электронной почте, исследовательский агент и многое другое
Пакет Python требует Python 3.10 или более поздней версии. Если pip сообщает No matching distribution found for claude-agent-sdk, ваш интерпретатор старше 3.10. Запустите python3 --version на macOS или Linux или py --version на Windows, чтобы проверить.
TypeScript SDK поставляется с собственным бинарным файлом Claude Code для вашей платформы в качестве дополнительной зависимости, поэтому вам не нужно устанавливать Claude Code отдельно.
2
Установите ваш API ключ
Получите API ключ из Console, затем установите его как переменную окружения:
export ANTHROPIC_API_KEY=your-api-key
SDK также поддерживает аутентификацию через сторонних поставщиков API:
Amazon Bedrock: установите переменную окружения CLAUDE_CODE_USE_BEDROCK=1 и настройте учетные данные AWS
Claude Platform on AWS: установите CLAUDE_CODE_USE_ANTHROPIC_AWS=1 и ANTHROPIC_AWS_WORKSPACE_ID, затем настройте учетные данные AWS
Google Vertex AI: установите переменную окружения CLAUDE_CODE_USE_VERTEX=1 и настройте учетные данные Google Cloud
Microsoft Azure: установите переменную окружения CLAUDE_CODE_USE_FOUNDRY=1 и настройте учетные данные Azure
Если не одобрено ранее, Anthropic не разрешает сторонним разработчикам предлагать вход в claude.ai или ограничения скорости для своих продуктов, включая агентов, созданных на Claude Agent SDK. Вместо этого используйте методы аутентификации по API ключу, описанные в этом документе.
3
Запустите вашего первого агента
Этот пример создает агента, который перечисляет файлы в вашем текущем каталоге, используя встроенные инструменты.
import asynciofrom claude_agent_sdk import query, ClaudeAgentOptionsasync def main(): async for message in query( prompt="What files are in this directory?", options=ClaudeAgentOptions(allowed_tools=["Bash", "Glob"]), ): if hasattr(message, "result"): print(message.result)asyncio.run(main())
Готовы к разработке? Следуйте Быстрому старту, чтобы создать агента, который находит и исправляет ошибки за несколько минут.
Задавать пользователю уточняющие вопросы с вариантами множественного выбора
Этот пример создает агента, который ищет в вашей кодовой базе комментарии TODO:
import asynciofrom claude_agent_sdk import query, ClaudeAgentOptionsasync def main(): async for message in query( prompt="Find all TODO comments and create a summary", options=ClaudeAgentOptions(allowed_tools=["Read", "Glob", "Grep"]), ): if hasattr(message, "result"): print(message.result)asyncio.run(main())
Запускайте пользовательский код в ключевых точках жизненного цикла агента. SDK hooks используют функции обратного вызова для проверки, логирования, блокирования или преобразования поведения агента.Доступные hooks:PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd, UserPromptSubmit и другие.Этот пример логирует все изменения файлов в файл аудита:
import asynciofrom datetime import datetimefrom claude_agent_sdk import query, ClaudeAgentOptions, HookMatcherasync def log_file_change(input_data, tool_use_id, context): file_path = input_data.get("tool_input", {}).get("file_path", "unknown") with open("./audit.log", "a") as f: f.write(f"{datetime.now()}: modified {file_path}\n") return {}async def main(): async for message in query( prompt="Refactor utils.py to improve readability", options=ClaudeAgentOptions( permission_mode="acceptEdits", hooks={ "PostToolUse": [ HookMatcher(matcher="Edit|Write", hooks=[log_file_change]) ] }, ), ): if hasattr(message, "result"): print(message.result)asyncio.run(main())
Создавайте специализированных агентов для обработки сосредоточенных подзадач. Ваш основной агент делегирует работу, а подагенты сообщают результаты.Определите пользовательских агентов со специализированными инструкциями. Подагенты вызываются через инструмент Agent, поэтому включите Agent в allowedTools для автоматического одобрения этих вызовов:
import asynciofrom claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinitionasync def main(): async for message in query( prompt="Use the code-reviewer agent to review this codebase", options=ClaudeAgentOptions( allowed_tools=["Read", "Glob", "Grep", "Agent"], agents={ "code-reviewer": AgentDefinition( description="Expert code reviewer for quality and security reviews.", prompt="Analyze code quality and suggest improvements.", tools=["Read", "Glob", "Grep"], ) }, ), ): if hasattr(message, "result"): print(message.result)asyncio.run(main())
Сообщения из контекста подагента включают поле parent_tool_use_id, позволяющее отследить, какие сообщения принадлежат какому выполнению подагента.Узнайте больше о subagents →
Подключайтесь к внешним системам через Model Context Protocol: базы данных, браузеры, API и сотни других.Этот пример подключает Playwright MCP server, чтобы дать вашему агенту возможности автоматизации браузера:
import asynciofrom claude_agent_sdk import query, ClaudeAgentOptionsasync def main(): async for message in query( prompt="Open example.com and describe what you see", options=ClaudeAgentOptions( mcp_servers={ "playwright": {"command": "npx", "args": ["@playwright/mcp@latest"]} } ), ): if hasattr(message, "result"): print(message.result)asyncio.run(main())
Контролируйте точно, какие инструменты может использовать ваш агент. Разрешите безопасные операции, заблокируйте опасные или требуйте одобрения для чувствительных действий.
Этот пример создает агента только для чтения, который может анализировать, но не изменять код. allowed_tools предварительно одобряет Read, Glob и Grep.
import asynciofrom claude_agent_sdk import query, ClaudeAgentOptionsasync def main(): async for message in query( prompt="Review this code for best practices", options=ClaudeAgentOptions( allowed_tools=["Read", "Glob", "Grep"], ), ): if hasattr(message, "result"): print(message.result)asyncio.run(main())
Сохраняйте контекст между несколькими обменами. Claude помнит прочитанные файлы, выполненный анализ и историю разговора. Возобновляйте сеансы позже или разветвляйте их, чтобы исследовать различные подходы.Этот пример захватывает ID сеанса из первого запроса, затем возобновляет работу с полным контекстом:
import asynciofrom claude_agent_sdk import query, ClaudeAgentOptions, SystemMessage, ResultMessageasync def main(): session_id = None # First query: capture the session ID async for message in query( prompt="Read the authentication module", options=ClaudeAgentOptions(allowed_tools=["Read", "Glob"]), ): if isinstance(message, SystemMessage) and message.subtype == "init": session_id = message.data["session_id"] # Resume with full context from the first query async for message in query( prompt="Now find all places that call it", # "it" = auth module options=ClaudeAgentOptions(resume=session_id), ): if isinstance(message, ResultMessage): print(message.result)asyncio.run(main())
SDK также поддерживает конфигурацию на основе файловой системы Claude Code. С параметрами по умолчанию SDK загружает их из .claude/ в вашем рабочем каталоге и ~/.claude/. Чтобы ограничить, какие источники загружаются, установите setting_sources (Python) или settingSources (TypeScript) в ваших параметрах.
Сравнение Agent SDK с другими инструментами Claude
Claude Platform предлагает несколько способов разработки с Claude. Вот как Agent SDK вписывается:
Agent SDK vs Client SDK
Agent SDK vs Claude Code CLI
Agent SDK vs Managed Agents
Anthropic Client SDK дает вам прямой доступ к API: вы отправляете подсказки и реализуете выполнение инструментов самостоятельно. Agent SDK дает вам Claude со встроенным выполнением инструментов.С Client SDK вы реализуете цикл инструментов. С Agent SDK Claude обрабатывает это:
# Client SDK: You implement the tool loopresponse = client.messages.create(...)while response.stop_reason == "tool_use": result = your_tool_executor(response.tool_use) response = client.messages.create(tool_result=result, **params)# Agent SDK: Claude handles tools autonomouslyasync for message in query(prompt="Fix the bug in auth.py"): print(message)
Те же возможности, другой интерфейс:
Вариант использования
Лучший выбор
Интерактивная разработка
CLI
CI/CD конвейеры
SDK
Пользовательские приложения
SDK
Одноразовые задачи
CLI
Производственная автоматизация
SDK
Многие команды используют оба: CLI для ежедневной разработки, SDK для производства. Рабочие процессы напрямую переводятся между ними.
Managed Agents — это размещенный REST API: Anthropic запускает агента и песочницу, а ваше приложение отправляет события и получает результаты потоком. Agent SDK — это библиотека, которая запускает цикл агента внутри вашего собственного процесса.
Agent SDK
Managed Agents
Запускается в
Ваш процесс, ваша инфраструктура
Инфраструктура, управляемая Anthropic
Интерфейс
Библиотека Python или TypeScript
REST API
Агент работает с
Файлами в вашей инфраструктуре
Управляемой песочницей на сеанс
Состояние сеанса
JSONL в вашей файловой системе
Журнал событий, размещенный в Anthropic
Пользовательские инструменты
Функции Python или TypeScript в процессе
Claude запускает инструмент; вы выполняете и возвращаете результаты
Лучше всего подходит для
Локальное прототипирование, агенты, которые работают непосредственно с вашей файловой системой и сервисами
Производственные агенты без необходимости управления песочницей или инфраструктурой сеанса, долгоживущие и асинхронные сеансы
Обычный путь — прототипирование с Agent SDK локально, а затем переход на Managed Agents для производства.
Для партнеров, интегрирующих Claude Agent SDK, использование брендинга Claude является необязательным. При ссылке на Claude в вашем продукте:Разрешено:
“Claude Agent” (предпочтительно для раскрывающихся меню)
“Claude” (когда находится в меню, уже помеченном как “Agents”)
” Powered by Claude” (если у вас есть существующее имя агента)
Не разрешено:
“Claude Code” или “Claude Code Agent”
ASCII-арт с брендингом Claude Code или визуальные элементы, которые имитируют Claude Code
Ваш продукт должен сохранять свой собственный брендинг и не должен выглядеть как Claude Code или любой продукт Anthropic. Для вопросов о соответствии брендингу свяжитесь с командой Anthropic sales team.
Использование Claude Agent SDK регулируется Коммерческими условиями обслуживания Anthropic, включая случаи, когда вы используете его для питания продуктов и услуг, которые вы предоставляете своим собственным клиентам и конечным пользователям, за исключением случаев, когда конкретный компонент или зависимость покрыты другой лицензией, как указано в файле LICENSE этого компонента.