💭 в уме · писать не нужно
Представь не чат, а маленькую мастерскую, которую ты можешь вызвать из своей программы. У неё есть руки — инструменты, память — сессия, и правило остановки — чтобы работа не продолжалась бесконечно.
Если ты уже знаешь, что агент должен делать снова и снова, но каждый запуск всё ещё начинаешь вручную, где ему не хватает одной кнопки «старт»?
💭 в уме · писать не нужно
Agent SDK (набор инструментов для встраивания агента в программу) превращает агентный loop в библиотечный вызов. Claude Code остаётся тем же механизмом: агент планирует шаги, вызывает инструменты и проверяет результат, а твой скрипт задаёт границы и получает сообщения.
Это похоже на передачу мастерской по расписанию: ты не пишешь заново, как пользоваться каждым инструментом, но решаешь, какие инструменты лежат на столе и когда мастер обязан остановиться.
Для разовой интерактивной задачи оставь Claude Code CLI. SDK нужен, когда агент становится частью автосборки и выкладки (CI/CD — непрерывная сборка и доставка), приложения или постоянной автоматизации.
Agent SDK даёт тот же loop, что и Claude Code, но из Python или TypeScript: встроенные Read, Edit, Bash, Grep, Glob и веб-поиск, MCP-серверы, hooks, skills, субагентов и сессии. В клиентском SDK tool loop и файловые инструменты пришлось бы собирать самому.
Установка:
npm install @anthropic-ai/claude-agent-sdk # Node 18+
pip install claude-agent-sdk # Python 3.10+
Авторизация — две дороги, как в модуле 02. Для себя SDK работает через тот же вход, что и Claude Code (claude login, подписка): переменная ANTHROPIC_API_KEY должна быть не установлена, иначе SDK пойдёт по ключу и начнёт списывать токены. Для продукта, клиента или автоматизации официальный quickstart описывает ANTHROPIC_API_KEY — ключ клиента, не твоя подписка. Корпоративный провайдер — организация, которая предоставляет модели по договору для рабочей команды. Ключ не клади в репозиторий и не печатай в логе; условия тарифа меняются, перед запуском проверь актуальную документацию.
Минимальный TypeScript-агент:
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "Найди и исправь баг в auth.py",
options: {
allowedTools: ["Read", "Edit", "Bash"],
permissionMode: "acceptEdits",
maxTurns: 10,
},
})) {
if ("result" in message) console.log(message.result);
}
allowedTools — белый список. Начни с минимума: для анализа достаточно Read, Glob, Grep.