Loading...
    • Руководство разработчика
    • Справочник API
    • MCP
    • Ресурсы
    • Примечания к выпуску
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Модели и цены
    Обзор моделейВыбор моделиЧто нового в Claude 4.6Руководство миграцииУстаревшие моделиЦены
    Разработка с Claude
    Обзор функцийИспользование Messages APIОбработка причин остановкиЛучшие практики промптирования
    Возможности модели
    Extended thinkingAdaptive thinkingУсилиеБыстрый режим (preview)Структурированные выходные данныеЦитированияПотоковая передача сообщенийПакетная обработкаПоддержка PDFРезультаты поискаМногоязычная поддержкаEmbeddingsЗрение
    Инструменты
    ОбзорКак реализовать использование инструментовИнструмент веб-поискаИнструмент веб-загрузкиИнструмент выполнения кодаИнструмент памятиИнструмент BashИнструмент управления компьютеромИнструмент текстового редактора
    Инфраструктура инструментов
    Поиск инструментовПрограммный вызов инструментовПотоковая передача инструментов с детализацией
    Управление контекстом
    Контекстные окнаСжатиеРедактирование контекстаКэширование промптовПодсчет токенов
    Файлы и ресурсы
    Files API
    Agent Skills
    ОбзорБыстрый стартЛучшие практикиSkills для предприятийИспользование Skills с API
    Agent SDK
    ОбзорБыстрый стартTypeScript SDKTypeScript V2 (preview)Python SDKРуководство миграции
    MCP в API
    MCP коннекторУдаленные MCP серверы
    Claude на платформах третьих сторон
    Amazon BedrockMicrosoft FoundryVertex AI
    Инженерия промптов
    ОбзорГенератор промптовИспользование шаблонов промптовУлучшитель промптовБудьте ясны и прямолинейныИспользуйте примеры (многошаговое промптирование)Дайте Claude думать (CoT)Используйте XML тегиДайте Claude роль (системные промпты)Цепочка сложных промптовСоветы для длинного контекстаСоветы для Extended thinking
    Тестирование и оценка
    Определение критериев успехаРазработка тестовых случаевИспользование инструмента оценкиСнижение задержки
    Укрепление защиты
    Снижение галлюцинацийУвеличение согласованности выходных данныхСмягчение jailbreaksПотоковая передача отказовСнижение утечки промптаДержите Claude в образе
    Администрирование и мониторинг
    Обзор Admin APIРезидентность данныхРабочие пространстваUsage and Cost APIClaude Code Analytics APIZero Data Retention
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Agent SDK

    Быстрый старт

    Начните работу с Python или TypeScript Agent SDK для создания AI-агентов, которые работают автономно

    Используйте Agent SDK для создания AI-агента, который читает ваш код, находит ошибки и исправляет их, всё без ручного вмешательства.

    Что вы будете делать:

    1. Настроить проект с Agent SDK
    2. Создать файл с некорректным кодом
    3. Запустить агента, который автоматически находит и исправляет ошибки

    Предварительные требования

    • Node.js 18+ или Python 3.10+
    • Аккаунт Anthropic (зарегистрируйтесь здесь)

    Настройка

    1. 1

      Создайте папку проекта

      Создайте новую директорию для этого быстрого старта:

      mkdir my-agent && cd my-agent

      Для ваших собственных проектов вы можете запустить SDK из любой папки; по умолчанию он будет иметь доступ к файлам в этой директории и её поддиректориях.

    2. 2

      Установите SDK

      Установите пакет Agent SDK для вашего языка:

    3. 3

      Установите ваш API ключ

      Получите API ключ из Claude Console, затем создайте файл .env в директории вашего проекта:

      ANTHROPIC_API_KEY=your-api-key

      SDK также поддерживает аутентификацию через сторонних поставщиков API:

      • Amazon Bedrock: установите переменную окружения CLAUDE_CODE_USE_BEDROCK=1 и настройте учётные данные AWS
      • Google Vertex AI: установите переменную окружения CLAUDE_CODE_USE_VERTEX=1 и настройте учётные данные Google Cloud
      • Microsoft Azure: установите переменную окружения CLAUDE_CODE_USE_FOUNDRY=1 и настройте учётные данные Azure

      Подробнее см. в руководствах по настройке для Bedrock, Vertex AI или Azure AI Foundry.

      Если не получено предварительное одобрение, Anthropic не разрешает сторонним разработчикам предлагать вход через claude.ai или ограничения скорости для своих продуктов, включая агентов, созданных на основе Claude Agent SDK. Вместо этого используйте методы аутентификации с API ключом, описанные в этом документе.

    Создайте файл с ошибками

    Этот быстрый старт проведёт вас через создание агента, который может находить и исправлять ошибки в коде. Сначала вам нужен файл с некоторыми намеренными ошибками для исправления агентом. Создайте utils.py в директории my-agent и вставьте следующий код:

    def calculate_average(numbers):
        total = 0
        for num in numbers:
            total += num
        return total / len(numbers)
    
    def get_user_name(user):
        return user["name"].upper()

    Этот код содержит две ошибки:

    1. calculate_average([]) падает с ошибкой деления на ноль
    2. get_user_name(None) падает с TypeError

    Создайте агента, который находит и исправляет ошибки

    Создайте agent.py, если вы используете Python SDK, или agent.ts для TypeScript:

    import asyncio
    from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ResultMessage
    
    async def main():
        # Agentic loop: streams messages as Claude works
        async for message in query(
            prompt="Review utils.py for bugs that would cause crashes. Fix any issues you find.",
            options=ClaudeAgentOptions(
                allowed_tools=["Read", "Edit", "Glob"],  # Tools Claude can use
                permission_mode="acceptEdits"            # Auto-approve file edits
            )
        ):
            # Print human-readable output
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if hasattr(block, "text"):
                        print(block.text)              # Claude's reasoning
                    elif hasattr(block, "name"):
                        print(f"Tool: {block.name}")   # Tool being called
            elif isinstance(message, ResultMessage):
                print(f"Done: {message.subtype}")      # Final result
    
    asyncio.run(main())

    Этот код состоит из трёх основных частей:

    1. query: основная точка входа, которая создаёт цикл агента. Она возвращает асинхронный итератор, поэтому вы используете async for для потоковой передачи сообщений по мере работы Claude. Полный API см. в справочнике Python или TypeScript SDK.

    2. prompt: то, что вы хотите, чтобы сделал Claude. Claude определяет, какие инструменты использовать на основе задачи.

    3. options: конфигурация для агента. В этом примере используется allowedTools для ограничения Claude инструментами Read, Edit и Glob, а также permissionMode: "acceptEdits" для автоматического одобрения изменений файлов. Другие опции включают systemPrompt, mcpServers и многое другое. Все опции для Python или TypeScript.

    Цикл async for продолжает работать, пока Claude думает, вызывает инструменты, наблюдает результаты и решает, что делать дальше. Каждая итерация выдаёт сообщение: рассуждение Claude, вызов инструмента, результат инструмента или финальный результат. SDK обрабатывает оркестровку (выполнение инструментов, управление контекстом, повторные попытки), поэтому вы просто потребляете поток. Цикл заканчивается, когда Claude завершает задачу или возникает ошибка.

    Обработка сообщений внутри цикла фильтрует вывод, удобный для чтения человеком. Без фильтрации вы бы видели необработанные объекты сообщений, включая инициализацию системы и внутреннее состояние, что полезно для отладки, но иначе шумно.

    В этом примере используется потоковая передача для отображения прогресса в реальном времени. Если вам не нужен живой вывод (например, для фоновых заданий или CI конвейеров), вы можете собрать все сообщения сразу. Подробнее см. в разделе Потоковая передача vs. однооборотный режим.

    Запустите ваш агент

    Ваш агент готов. Запустите его с помощью следующей команды:

    После запуска проверьте utils.py. Вы увидите защитный код, обрабатывающий пустые списки и нулевых пользователей. Ваш агент автономно:

    1. Прочитал utils.py для понимания кода
    2. Проанализировал логику и определил граничные случаи, которые вызовут сбой
    3. Отредактировал файл для добавления надлежащей обработки ошибок

    Это то, что делает Agent SDK отличным: Claude выполняет инструменты напрямую вместо того, чтобы просить вас их реализовать.

    Если вы видите "API key not found", убедитесь, что вы установили переменную окружения ANTHROPIC_API_KEY в вашем файле .env или окружении оболочки. Подробнее см. в полном руководстве по устранению неполадок.

    Попробуйте другие подсказки

    Теперь, когда ваш агент настроен, попробуйте некоторые другие подсказки:

    • "Add docstrings to all functions in utils.py"
    • "Add type hints to all functions in utils.py"
    • "Create a README.md documenting the functions in utils.py"

    Настройте ваш агент

    Вы можете изменить поведение вашего агента, изменив опции. Вот несколько примеров:

    Добавьте возможность веб-поиска:

    options=ClaudeAgentOptions(
        allowed_tools=["Read", "Edit", "Glob", "WebSearch"],
        permission_mode="acceptEdits"
    )

    Дайте Claude пользовательскую системную подсказку:

    options=ClaudeAgentOptions(
        allowed_tools=["Read", "Edit", "Glob"],
        permission_mode="acceptEdits",
        system_prompt="You are a senior Python developer. Always follow PEP 8 style guidelines."
    )

    Запустите команды в терминале:

    options=ClaudeAgentOptions(
        allowed_tools=["Read", "Edit", "Glob", "Bash"],
        permission_mode="acceptEdits"
    )

    С включённым Bash, попробуйте: "Write unit tests for utils.py, run them, and fix any failures"

    Ключевые концепции

    Инструменты контролируют, что может делать ваш агент:

    ИнструментыЧто может делать агент
    Read, Glob, GrepАнализ только для чтения
    Read, Edit, GlobАнализ и изменение кода
    Read, Edit, Bash, Glob, GrepПолная автоматизация

    Режимы разрешений контролируют, сколько человеческого надзора вы хотите:

    РежимПоведениеВариант использования
    acceptEditsАвтоматически одобряет редактирование файлов, запрашивает другие действияНадёжные рабочие процессы разработки
    bypassPermissionsРаботает без подсказокКонвейеры CI/CD, автоматизация
    defaultТребует обратный вызов canUseTool для обработки одобренияПользовательские потоки одобрения

    Приведённый выше пример использует режим acceptEdits, который автоматически одобряет файловые операции, чтобы агент мог работать без интерактивных подсказок. Если вы хотите запрашивать у пользователей одобрение, используйте режим default и предоставьте обратный вызов canUseTool, который собирает пользовательский ввод. Для большего контроля см. Разрешения.

    Следующие шаги

    Теперь, когда вы создали своего первого агента, узнайте, как расширить его возможности и адаптировать его к вашему варианту использования:

    • Разрешения: контролируйте, что может делать ваш агент и когда ему нужно одобрение
    • Хуки: запускайте пользовательский код до или после вызовов инструментов
    • Сессии: создавайте многооборотные агенты, которые сохраняют контекст
    • MCP серверы: подключайтесь к базам данных, браузерам, API и другим внешним системам
    • Хостинг: развёртывайте агентов в Docker, облако и CI/CD
    • Примеры агентов: см. полные примеры: помощник по электронной почте, исследовательский агент и многое другое

    Was this page helpful?

    • Предварительные требования
    • Настройка
    • Создайте файл с ошибками
    • Создайте агента, который находит и исправляет ошибки
    • Запустите ваш агент
    • Попробуйте другие подсказки
    • Настройте ваш агент
    • Ключевые концепции
    • Следующие шаги