- Дата публикации
Из чего на самом деле состоит ИИ‑помощник для программиста
Что появилось / что изменилось
Автор разбирает, из каких блоков собирают ИИ‑агентов для программирования — тех самых, на которых работают Claude Code, Codex CLI и похожие инструменты. Фокус не на очередной модели, а на "обвязке" вокруг неё.
Он предлагает чёткое разложение на уровни:
- LLM — базовая языковая модель, просто предсказывает следующий токен.
- Reasoning‑модель — всё та же LLM, но обученная или настроенная тратить больше вычислений на промежуточное рассуждение, проверку себя и поиск вариантов ответа.
- Агент — цикл управления вокруг модели: ставит цель, решает, что посмотреть дальше, какие инструменты вызвать, когда остановиться.
- Agent harness — программный каркас, который управляет контекстом, инструментами, промптами, состоянием и логикой работы агента.
- Coding harness — частный случай для разработки: добавляет работу с репозиторием, запуск кода, тесты, диффы и длинные сессии.
Ключевая мысль: ощущение "умности" Claude Code или Codex CLI возникает не только из‑за самой модели, а из‑за всей системы вокруг неё — контекста репозитория, инструментов, памяти и стабильного промпта.
Как это работает
Автор предлагает смотреть на стек код‑агента как на три слоя.
-
Семейство моделей
Внизу — LLM как движок. Обычная LLM даёт быстрый ответ. Reasoning‑модель тратит больше вычислений на цепочки рассуждений и самопроверку, поэтому дороже в запуске, но лучше справляется со сложными задачами. -
Агентный цикл
Сверху — цикл, который многократно вызывает модель внутри среды. Внутри него есть четыре шага:- observe — собрать информацию из окружения: файлы репозитория, результаты тестов, вывод интерпретатора.
- inspect — проанализировать, что происходит, какие ошибки, какие функции задействованы.
- choose — выбрать следующий шаг: поиск по коду, редактирование файла, запуск тестов.
- act — выполнить действие с помощью инструментов: применить дифф, вызвать тестовый раннер, открыть нужный файл.
-
Runtime‑поддержка
Этот слой даёт агенту доступ к:- контексту репозитория и навигации по коду;
- поиску и lookup по функциям;
- запуску кода и тестов;
- хранению состояния сессии и памяти между шагами;
- стабильному кешу промптов, чтобы агент не "забывал" рамки задачи.
Claude Code и Codex CLI — примеры coding harness: они оборачивают LLM в такой цикл и добавляют инструменты, нужные именно разработчику.
Что это значит для вас
Главный вывод: если вы оцениваете ИИ‑помощника по коду только по названию модели, вы видите половину картины. Вторая половина — насколько хорошо сделан harness.
Где это реально помогает:
- Работа с крупными репозиториями. Агент может сам искать нужные файлы, функции и связанные куски кода, а не ждать, что вы всё принесёте в один промпт.
- Рефакторинг и поэтапные изменения. Цикл observe → inspect → choose → act позволяет вносить изменения итеративно: внести правку, запустить тесты, посмотреть ошибки, доработать.
- Длинные сессии разработки. Память и состояние сессии помогают не пересказывать задачу каждый раз.
- Диагностика багов. Агент может сам запускать тесты, анализировать стектрейсы и предлагать точечные правки.
Где ожидания лучше понизить:
- Одноразовые мелкие задачи. Для правки одной функции быстрее открыть обычный чат с LLM, чем поднимать тяжёлый агент с инструментами.
- Жёсткие ограничения по ресурсам. Reasoning‑модели и многошаговые циклы стоят дороже и работают медленнее, чем один короткий вызов LLM.
- Сценарии без доступа к коду и среде исполнения. Если агент не может читать репозиторий и запускать тесты, он превращается почти в обычный чат с подсветкой синтаксиса.
Если вы строите свой инструмент для разработчиков, стоит думать не только о выборе модели, но и о:
- дизайне инструментов (поиск, диффы, запуск кода);
- управлении контекстом (что именно видит модель на каждом шаге);
- устойчивых промптах и памяти сессии.
Если вы просто пользуетесь готовыми решениями вроде Claude Code или Codex CLI, полезно понимать, что они делают под капотом: это не "магический ассистент", а довольно понятный цикл действий вокруг LLM.
Место на рынке
Автор прямо сравнивает подход не по брендам, а по архитектуре:
- Обычная LLM в чате — это одиночный вызов движка без окружения.
- Reasoning‑модель — тот же движок, но с упором на длинные цепочки размышлений и самопроверку.
- Coding harness — надстройка, которая добавляет к reasoning‑модели инструменты разработчика и агентный цикл.
Claude Code и Codex CLI он относит к классу coding harness. Они используют LLM как двигатель, но основную ценность создаёт именно агентный слой: доступ к репозиторию, инструментам, памяти и управлению контекстом.
Чётких цифр по скорости, стоимости токена или размеру контекста автор не приводит. Акцент на другом: ощущение "сильного" код‑ассистента — это результат сочетания трёх вещей одновременно:
- мощности базовой LLM;
- качества reasoning‑режима;
- продуманности agent / coding harness вокруг модели.
Поэтому сравнивать такие инструменты только по названию модели бессмысленно. Для разработчика важнее, насколько хорошо агент умеет ходить по репозиторию, применять диффы, запускать тесты и удерживать длинную сессию работы над задачей.