А король-то голый! Как написать свой Claude Code в 200 строках кода

В статье показано, как собрать простой кодинг-агент наподобие Claude Code примерно в 200 строках Python: LLM запрашивает действия, а локальная программа выполняет их и возвращает результат. Главная мысль — модель не работает с файловой системой напрямую, она лишь просит инструменты.

  • Базовая архитектура описана как цикл: сообщение пользователя → ответ LLM с вызовом инструмента → выполнение инструмента программой → передача результата обратно LLM.
  • Минимальный набор инструментов в примере: чтение файла, получение списка файлов в директории и редактирование файла (создание или замена первой найденной строки).
  • Инструменты регистрируются в словаре, а их описание для LLM генерируется из docstring и сигнатуры функций через inspect.
  • Системный промпт задаёт формат вызова: одна строка вида tool: TOOL_NAME({JSON_ARGS}) с компактным JSON в двойных кавычках.
  • Пример использует клиент и переменную окружения ANTHROPIC_API_KEY, а вызов модели указан как claude-sonnet-4-20250514.

Почему это важно: Материал снимает ощущение «магии» вокруг кодинг-помощников и показывает границу ответственности между LLM и исполняющим кодом. Такой цикл «LLM → инструменты → контекст» делает поведение агента более объяснимым и проверяемым. Также видно, какие части можно наращивать до продакшен-уровня: контекст, ошибки, UX и набор инструментов.

На что обратить внимание: В описании подчёркивается, что все действия с файлами выполняет локальная программа, поэтому именно она задаёт права и ограничения. Протокол на основе текстового парсинга строк tool: и JSON требует аккуратного разбора и обработки ошибок. В примере редактирование зависит от поиска old_str и заменяет только первое совпадение, а при отсутствии строки возвращает статус. Для продакшен-уровня отдельно перечислены более умное управление контекстом, потоковые ответы, дополнительные инструменты и процедуры подтверждения для деструктивных операций.

Коротко

  • Паттерн разделяет ответственность: LLM предлагает шаги, а доступ к файлам и реальные изменения остаются в коде инструмента — это упрощает контроль и аудит.
  • Если вызовы инструментов передаются строками и JSON, устойчивость к ошибкам парсинга и неожиданным форматам становится частью качества агента.
  • В тексте подчёркнуто, что подробные docstring важны: модель опирается на них, выбирая инструменты и аргументы во время беседы.
  • Минимальный набор функций работает, но автор отдельно перечисляет, что для «продакшена» обычно добавляют управление контекстом и подтверждения опасных действий.
  • Архитектура не привязана к одному провайдеру: меняется клиент API, а логика цикла «запрос → инструменты → результат» остаётся той же.

FAQ

Зачем это важно понимать тем, кто использует кодинг-агентов: какой ключевой принцип работы Claude Code и похожих инструментов объясняет текст?

Автор сводит «магию» к циклу: LLM запрашивает инструменты, локальный код исполняет операции и возвращает структурированный результат в контекст.

Какие три инструмента автор считает достаточными для базового кодинг-агента и какие действия они покрывают в описанном примере кода?

Чтение файла, список файлов в директории и редактирование файла: создание при пустой old_str или замена первого вхождения old_str на new_str.

Как в примере LLM узнаёт о доступных инструментах и в каком формате она должна запрашивать их выполнение во время диалога?

Описание собирается из docstring и сигнатуры функций и вставляется в системный промпт. Запрос инструмента должен быть одной строкой вида tool: TOOL_NAME({JSON_ARGS}) с компактным JSON.

Чем предложенная реализация отличается от продакшен-инструментов вроде Claude Code, если опираться на перечень улучшений в тексте?

В тексте перечислены обработка ошибок, потоковые ответы, более умное управление контекстом, дополнительные инструменты и процедуры подтверждения для деструктивных операций.

Читайте также

  1. Как я локально тестировал новый Qwen 3.6 и Gemma 4
  2. Как тимлид заменил десятки вкладок на файловую систему и Claude Code
  3. Когда, зачем и как правильно начинать новую сессию в Claude Code
  4. Как писать промпты для разработки: опыт, который экономит часы
  5. Claude Code изнутри: как устроены ИИ-агенты для разработки
Ключевые инсайты из новости (по версии ChatGPT)
  • Базовый цикл кодинг-агента: LLM как оркестратор, инструменты как исполнитель: Минимальная архитектура кодинг-агента строится как повторяющийся цикл: пользователь формулирует задачу, LLM отвечает структурированным запросом инструмента, локальная программа выполняет действие и возвращает результат обратно в контекст LLM. Ключевой момент: модель не взаимодействует с файловой системой напрямую и не «делает изменения сама» — все права, ограничения и фактические операции определяются инструментами и кодом-исполнителем.
    [AI-агенты и автоматизация разработки]
Для получения полного доступа оформите подписку PubMag PRO.
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Инсайты автоматически генерируются с помощью искусственного интеллекта на основе текста статьи.
← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!