Пишем свой Claude Code на Python: LLM, цикл и семь инженерных решений, о которых молчат туториалы

Самый цитируемый текст про кодинг-агентов, «How to Build an Agent» Торстена Балла, прекрасен и вреден одновременно. Прекрасен, потому что снимает мистику: агент это LLM, цикл и достаточно токенов, 400 строк, и модель уже правит ваши файлы. Вреден, потому что оставляет ощущение, что дело сделано. А это примерно одна десятая пути.
Я проверил на себе. Прошёл туториал за вечер, порадовался сгенерированному fizzbuzz.js, а через два дня выкинул агента и больше к нему не возвращался. Игрушка перезаписывала файлы без предпросмотра, не умела искать по коду и захлёбывалась контекстом на третьей серьёзной задаче. Однажды она предложила выполнить команду, после которой я на всякий случай проверил бэкапы. Доверять такому рабочий репозиторий не станет никто в здравом уме, и в этом честном признании нет ничего обидного для Балла: он и не обещал инструмент, он показывал принцип.
Меня же интересуют оставшиеся девять десятых: конкретные инженерные решения, которые отличают демо от Claude Code, Aider и Amp. В этой статье мы соберём агента на Python с нуля и по одному добавим их: поиск по коду, диффы с подтверждением, модель разрешений для shell, чекпоинты через git, управление контекстом и планирование. Получится чуть больше 400 строк, весь код рабочий, полная версия лежит в репозитории (ссылка в конце).
Сразу оговорка. Это не «убийца Claude Code» и не продукт. Это учебный проект, который честно показывает, из каких решений складывается настоящий агент. Каждое из них по отдельности скучное. Вместе они меняют всё.
Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.
Источник: Habr