Урок 22Продвинутое
Agent SDK
Программный доступ
SDK vs CLI: когда что использовать
CLI (Interactive)
- • Интерактивная разработка
- • Отладка и исследование
- • Одноразовые задачи
- • Обучение и эксперименты
SDK (Programmatic)
- • CI/CD автоматизация
- • Пакетная обработка
- • Интеграция в приложения
- • Кастомные workflow
Headless режим
Headless режим позволяет запускать Claude Code без интерактивного ввода:
# Headless mode - no interactive prompts claude --headless --prompt "Fix all TypeScript errors" --output result.json # With specific model claude --headless --model sonnet --prompt "Add tests for UserService" # With MCP servers claude --headless --mcp-config ./mcp.json --prompt "Query database for users"
--headlessБез интерактивных промптов--promptЗадача для выполнения--outputФайл для результата--modelВыбор моделиПримеры SDK
from anthropic_claude_code import ClaudeCode
# Initialize Claude Code
claude = ClaudeCode()
# Run a task
result = claude.run(
prompt="Fix the failing tests in auth.ts",
working_dir="/path/to/project"
)
print(result.output)
print(f"Cost: ${result.cost}")GitHub Actions
Интеграция Claude Code в CI/CD через GitHub Actions:
name: Code Review with Claude
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Claude Code Review
uses: anthropic/claude-code-action@v1
with:
prompt: |
Review this PR for:
- Code quality issues
- Security vulnerabilities
- Performance problems
Provide specific feedback with line numbers.
github-token: ${{ secrets.GITHUB_TOKEN }}
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}Примеры применения SDK
Автоматический код-ревью PR
Запускать ревью при каждом PR
PR opened
Генерация тестов
Автоматически писать тесты для нового кода
New file
Документация
Обновлять документацию при изменениях
Merge to main
Миграции БД
Генерировать миграции из описания
Manual
Советы по использованию SDK
- 1.Используйте --max-turns для ограничения итераций
- 2.Обрабатывайте ошибки и таймауты
- 3.Мониторьте расходы через result.cost
- 4.Храните API ключи в секретах
Этот урок — часть структурированного курса по LLM.
Мой путь обучения