Anthropic Claude Agents Training — selective extract
Source: https://x.com/i/status/2055666094967320773 (re-upload by @Jouhatsu_ai 2026-05-16)
Original: Anthropic Claude Code team engineer, 1h52min training
Extracted: 2026-05-17 by Gemini 2.5 Flash (selective, not verbatim)
Вот детальный и селективный экстракт из тренировочной сессии Anthropic о построении агентов Claude, сфокусированный на ценной информации для разработчика, использующего Claude Code и строящего мультиагентные системы.
Построение агентов Claude: Подход Anthropic
Этот экстракт основан на тренировочной сессии Anthropic, посвященной построению агентов Claude, и содержит ключевые идеи и лучшие практики, озвученные инженером. Основное внимание уделяется техническим деталям, архитектурным решениям и методам, которые Anthropic использует для создания своих агентов, включая Claude Code.
1. Эволюция AI-возможностей: От функций к агентам
Инженер начинает с обзора эволюции AI-возможностей, подчеркивая переход от простых LLM-функций к сложным агентам:
- Single LLM features (одиночные LLM-функции): "Когда появился GPT-3, речь шла о таких вещах, как 'можешь ли ты категоризировать это?' или 'верни ответ в одной из этих категорий'." (0:02:40) Это были простые, атомарные задачи.
- Workflows (рабочие процессы): Следующий шаг — это более структурированные задачи, где LLM выполняет последовательность действий. "Эй, можешь ли ты прочитать это письмо и пометить его, или вот моя кодовая база, проиндексируй ее для RAG, можешь ли ты дать мне следующее завершение или следующий файл для редактирования?" (0:03:00) Рабочие процессы очень структурированы: вы даете код, получаете код.
- Agents (агенты): Это текущий этап, где агенты действуют автономно. "Теперь мы переходим к агентам. И канонический агент для нас — это Claude Code. Claude Code — это инструмент, где мы на самом деле не ограничиваем то, что он может делать. Вы просто общаетесь с ним текстом, и он будет выполнять очень широкий спектр действий." (0:03:30) Агенты строят свой собственный контекст, определяют свои собственные траектории и работают очень автономно.
Инженер подчеркивает, что агенты будут становиться все более автономными, и сейчас самое подходящее время для их создания, несмотря на то, что они еще не идеальны.
2. Claude Code как основа и источник лучших практик
Claude Code является первым "настоящим агентом" для Anthropic, способным работать автономно в течение 10-30 минут. SDK агентов Claude (Claude Agent SDK) построен на базе Claude Code.
- Повторяющиеся паттерны: "При создании агентов в Anthropic мы постоянно перестраивали одни и те же части снова и снова." (0:05:40) Это привело к созданию SDK, который инкапсулирует эти общие компоненты.
- Не только для кодирования: Изначально Claude Code использовался инженерами, но вскоре его начали применять финансисты, специалисты по данным, маркетологи и другие для не-кодинговых задач. Это показало универсальность подхода.
- Встроенные уроки: "Это уроки, которые мы извлекли из развертывания Claude Code, которые мы встроили в SDK агентов Claude." (0:07:00) SDK включает в себя лучшие практики, такие как обработка ошибок инструментов (tool usage errors), компактирование контекста (compacting), и другие.
- Мнение Anthropic: "В результате у нас есть много твердых мнений о том, как лучше всего создавать агентов." (0:07:20) SDK является "довольно категоричным" (opinionated) в этом отношении.
3. Ключевые компоненты агента и "Bash — это все, что вам нужно"
Anthropic выделяет несколько ключевых компонентов, которые составляют агента, и подчеркивает центральную роль Bash:
- Модели (Models): Основа любого агента.
- Инструменты (Tools): "Затем в ядре у вас есть инструменты." (0:06:00) Это могут быть как пользовательские инструменты, так и инструменты для взаимодействия с файловой системой.
- Промпты (Prompts): "Промпты для агента, промпты для завершений и тому подобное." (0:06:20)
- Файловая система (File System): "Файловая система — это способ контекстной инженерии." (0:06:40) Она позволяет агенту взаимодействовать с окружением и сохранять состояние.
- Навыки (Skills): Недавно представленная концепция, позволяющая агентам выполнять сложные, многошаговые задачи.
- Другие компоненты: Суб-агенты (sub-agents), веб-поиск (web search), компактирование (compacting), хуки (hooks), память (memory) — все это части экосистемы агента.
"Bash — это все, что вам нужно" (Bash is all you need):
Это центральный тезис Anthropic. Bash рассматривается как первый "режим кода" (code mode) и самый мощный инструмент для агента.
- Хранение результатов: "Bash позволяет вам хранить результаты вызовов инструментов в файлах, хранить в памяти." (0:12:40)
- Динамическая генерация и вызов скриптов: Агент может динамически генерировать скрипты Bash и вызывать их.
- Компонуемость (Composability): "Компонуйте функциональность, такую как
tail и grep." (0:13:00)
- Использование существующих программ: "Используйте существующее программное обеспечение, такое как
ffmpeg или libreoffice." (0:13:10)
- Пример с электронной почтой: Вместо создания отдельных инструментов для поиска Uber/Lyft, агент может использовать Bash для запуска скрипта поиска Gmail, который затем фильтрует результаты с помощью
grep и суммирует цены. Это позволяет агенту "проверять свою работу" (check its work) и динамически адаптироваться. (0:14:00)
- Кодогенерация для не-кодинговых задач: "Кодогенерация для не-кодинговых задач" (Code generation for non-coding tasks) — это когда агент пишет код (например, Bash-скрипты) для выполнения задач, которые традиционно не считаются кодингом, таких как анализ данных, взаимодействие с API или управление файлами. (0:10:00)
4. Агентский цикл: Контекст, Действие, Верификация
Инженер описывает трехэтапный цикл, который лежит в основе работы агента:
- Gather Context (Сбор контекста): Агент собирает всю необходимую информацию для выполнения задачи.
- Для Claude Code это может быть
grep и find файлов.
- Для email-агента — поиск релевантных писем.
- "Думать о том, как он находит этот контекст, очень важно, и я думаю, что многие люди как бы пропускают этот шаг или недооценивают его." (0:18:40)
- Take Action (Выполнение действия): Агент выполняет задачу, используя доступные инструменты.
- Это может быть кодогенерация, использование Bash или вызов специализированных инструментов.
- "Кодогенерация, Bash — это более гибкие способы выполнения действий." (0:19:00)
- Verify Work (Верификация работы): Агент проверяет, насколько успешно была выполнена задача.
- Это критически важный шаг. "Если вы можете верифицировать его работу, это отличный кандидат для агента." (0:19:20)
- Примеры верификации: Код можно верифицировать с помощью линтинга (linting) и компиляции. Для исследования (deep research) верификация сложнее, но может включать цитирование источников.
- "Агенты, которые наиболее близки к тому, чтобы быть очень общими, — это те, у которых очень сильный шаг верификации." (0:20:00)
5. Инструменты для агентов: Tools vs. Bash vs. Code Generation
Anthropic предлагает три основных подхода к выполнению задач агентом, каждый со своими плюсами и минусами:
- Tools (Инструменты):
- Плюсы: Чрезвычайно структурированы, очень надежны, минимальные ошибки и повторные попытки. Идеальны для получения быстрого и предсказуемого результата.
- Минусы: Высокое потребление контекста (high context usage) — 50-100 инструментов могут запутать модель. Не компонуемы.
- Использование: Для атомарных, неразрушающих или необратимых действий (например, запись файла, отправка email), где требуется высокий контроль. "Мы не используем Bash для записи файла, у нас есть инструмент
write_file." (0:24:40)
- Bash:
- Плюсы: Очень компонуем, низкое потребление контекста (low context usage) благодаря использованию существующих утилит.
- Минусы: Может потребоваться больше времени на обнаружение (discovery time), так как агенту нужно каждый раз выяснять, что может делать Bash-скрипт. Может иметь немного более низкую частоту успешных вызовов (call rates).
- Использование: Для компонуемых действий, таких как поиск по файловой системе (
grep, find), взаимодействие с Git, линтинг кода, использование памяти как файловой системы.
- Code Generation (Кодогенерация):
- Плюсы: Высокая компонуемость, динамические скрипты, очень гибкая логика.
- Минусы: Требует больше времени на выполнение (линтер, компиляция, API-дизайн).
- Использование: Для высокодинамичной, гибкой логики, такой как компоновка API, анализ данных, глубокие исследования, повторное использование паттернов.
Инженер подчеркивает, что "Bash — это первый режим кода" (Bash is the first code mode) и часто является формой кодогенерации.
6. Безопасность и разрешения: Многоуровневая защита
Вопрос о безопасности и разрешениях при предоставлении агенту доступа к Bash и файловой системе является критическим. Anthropic использует многоуровневый подход:
- "Швейцарский сыр" (Swiss Cheese Defense): "Мы думаем об этом как о 'защите швейцарского сыра'. На каждом уровне есть свои средства защиты, и вместе мы надеемся, что это блокирует все." (0:10:40)
- Уровень модели (Model Layer): "На уровне модели мы проводим много работы по выравниванию (alignment)." (0:10:50) Anthropic активно работает над тем, чтобы модели были выровнены и безопасны.
- Уровень ядра (Harness Layer): Внутри SDK агентов Claude есть механизмы разрешений (permissions) и промптинга (prompting).
- AST-парсер для Bash: "Мы используем AST-парсер для инструмента Bash, например, чтобы мы могли довольно надежно знать, что на самом деле делает инструмент Bash." (0:11:20) Это позволяет контролировать и понимать действия агента.
- Уровень песочницы (Sandboxing Layer): "Последний уровень — это песочница." (0:11:30) Если злоумышленник захватит агента, песочница ограничивает его возможности.
- Ограничение сетевых операций: Агент может быть запущен в песочнице, которая ограничивает сетевые операции.
- Ограничение файловой системы: Операции с файловой системой могут быть ограничены пределами песочницы.
- Хостинг у провайдеров: Использование провайдеров песочниц (Cloudflare, Modal, AWS) добавляет еще один уровень безопасности.
- "Трифекта утечки" (Exfiltration Triad): Основные риски — это выполнение кода, изменение файловой системы и утечка данных. Песочница нацелена на предотвращение этих угроз.
7. Навыки (Skills) и прогрессивное раскрытие контекста (Progressive Context Disclosure)
Навыки — это относительно новая концепция, которая позволяет агентам выполнять более сложные задачи, используя файловую систему как источник знаний:
- Коллекция файлов: "Навыки — это, по сути, коллекция файлов." (0:28:00) Агент может "перейти" (CD) в директорию навыка и прочитать его содержимое.
- Повторяемые инструкции: Навыки полезны для "повторяемых инструкций, которые требуют большого опыта". (0:28:20) Например, навык для фронтенд-дизайна, созданный опытным инженером.
- Прогрессивное раскрытие контекста: Навыки являются частью более широкого паттерна "прогрессивного раскрытия контекста". Агент не получает весь контекст сразу, а раскрывает его по мере необходимости.
- "Это способ, которым агент может сказать: 'Окей, мне нужно это сделать, позвольте мне выяснить, как это сделать', а затем позвольте мне прочитать этот
skill.md." (0:29:00)
- Bash и файловая система: Навыки тесно связаны с Bash и файловой системой, так как агент использует их для навигации и чтения файлов навыков.
- Рынок навыков (Skill Marketplace): Anthropic планирует развивать рынок плагинов/навыков, где пользователи смогут обмениваться или находить навыки.
8. Проектирование агента: Пример с таблицами и "Bash as your memory system"
Инженер предлагает пример проектирования агента для работы с таблицами (spreadsheet agent), чтобы проиллюстрировать применение принципов Anthropic:
- Поиск в таблице: Как агент будет искать в таблице?
- Использование
grep для CSV-файлов.
- Агент должен уметь читать заголовки (headers).
- Многомерный поиск: Для сложных запросов (например, "доход в 2026 году") требуется более сложный подход, чем простой
grep.
- Креативность в API-интерфейсах: Можно использовать
sqlite для запросов к CSV-файлам, что позволяет агенту использовать знакомый интерфейс SQL.
- Трансформация данных: Преобразование данных в формат, с которым агент хорошо знаком (например, SQL), является мощным инструментом.
- Предварительная обработка (Pre-processing): Агент может предварительно обрабатывать данные, чтобы улучшить поиск. Например, другой агент может аннотировать таблицу, добавляя метаданные, которые затем используются для поиска.
- Bash как система памяти: "Bash может быть вашей системой памяти." (0:25:00) Агент может сохранять результаты в файлах и затем использовать Bash для их обработки.
- Верификация: Агент должен постоянно верифицировать свою работу.
- Правила (Rule-based verification): Внедрение детерминированных правил верификации (например, проверка на
null указатели, компиляция кода).
- Хуки (Hooks): Использование хуков для вставки детерминированных шагов верификации.
- "Постоянная верификация": "Верификация может происходить где угодно, и должна происходить где угодно." (0:46:00)
- Обратная связь: Агент должен уметь читать вывод ошибок и использовать его для итерации.
9. Прототипирование агентов: "Simple, but not easy"
Прототипирование агентов должно быть простым, но это не означает, что оно легкое.
- Начало работы: "Просто зайдите в Claude Code. Дайте Claude Code несколько скриптов и библиотек, а также пользовательский
claude.md, который он должен выполнить." (0:38:00)
- Фокус на проблеме: SDK позволяет разработчику сосредоточиться на "сложных, специфичных для предметной области проблемах", таких как организация данных, проектирование агентов и создание защитных механизмов.
- Высокая убежденность: "У вас должна быть высокая убежденность в конце." (0:39:00)
- Пример с Pokemon Agent: Инженер демонстрирует создание Pokemon Agent, который использует PokeAPI для получения информации о покемонах.
- Кодогенерация API-клиента: Агент генерирует TypeScript-библиотеку для взаимодействия с PokeAPI.
- Анализ данных: Агент может анализировать данные о покемонах, их типах, способностях и движениях.
- Использование
claude.md: Файл claude.md используется для предоставления инструкций агенту, включая примеры использования API и скриптов.
- Итеративный процесс: Агент выполняет поиск, анализирует результаты, делает выводы и предлагает дальнейшие действия.
10. Управление контекстом и суб-агенты
Эффективное управление контекстом является ключевым для производительности агента. Суб-агенты играют важную роль в этом процессе.
- Очистка контекста: "Я склонен очень часто очищать окно контекста." (0:42:00) Это помогает избежать перегрузки модели.
- Git-изменения: Агент может использовать
git diff для понимания текущих изменений, вместо того чтобы загружать всю историю чата.
- Суб-агенты для разделения задач: "Суб-агенты — это очень, очень важный способ управления контекстом." (0:44:00)
- Возврат ответа: Суб-агенты отлично подходят, когда нужно выполнить большой объем работы и вернуть один ответ основному агенту.
- Параллелизация: Можно запускать несколько суб-агентов параллельно, например, для чтения и суммирования данных из разных частей большой таблицы.
- Bash и суб-агенты: Использование Bash с суб-агентами позволяет эффективно управлять сложными операциями и избегать состояний гонки (race conditions).
- "Лучший примитив": "Суб-агенты — это отличный примитив в SDK агентов Claude, и я не видел, чтобы кто-либо делал это так хорошо." (0:45:00)
Этот экстракт охватывает основные технические и архитектурные аспекты построения агентов Claude, предлагая ценные инсайты для разработчиков, стремящихся создавать мощные и автономные AI-системы.
Why this is in memory
For future Claude Code sessions working on NEXUS/RVV/Phantom bot stack and multi-agent flows.
Cited patterns (Bash composition, file system as memory, verification loop, progressive disclosure)
match committee-validated practices in current bot architecture.
Related
- [[comet-hunter-closed-2026-05-17]] — methodological discipline parallel
- [[SUPERLAW_record_every_solution]] — verification-first principle