Claude Code: работа с coding-агентом2. Как устроен coding-агент
Модель, harness, агент и окружение
Засчитывается, когда отвечены все вопросы квиза
Зачем это нужно
Агент неделю подряд пишет в вашем проекте неудачный код. Первое желание — переключиться на самую сильную модель и ждать, что всё наладится. Иногда помогает, чаще нет: модель — только одна из четырёх частей агента, и обычно проблема в другой.
Чтобы понять, что именно чинить, нужна простая карта: model, harness, agent и environment. Дальше весь курс опирается на эти четыре слова.
Как это устроено
Model — это двигатель. Она принимает текст и возвращает текст, больше ничего. Модель живёт на сервере провайдера, и за каждый запрос к ней платят. Сама по себе она не умеет открыть файл или запустить тесты.
Environment — внешний мир, с которым работает агент. Для coding-агента это ваш проект: файлы, терминал, git. У чат-интерфейса окружение другое: документы, веб-поиск.
Harness — слой между моделью и окружением. Он даёт модели tools, через которые она действует, и решает, какой контекст модель увидит. Claude Code — это именно harness: документация называет его слоем вокруг модели, который предоставляет tools и управляет контекстом, и прямо использует термин agentic harness.
Agent — не отдельная сущность, а имя для связки: модель, запряжённая в harness и работающая в окружении. Claude Code с моделью Claude в вашем репозитории — это агент.
Чем Claude Code снабжает модель, видно по категориям встроенных tools: операции с файлами, поиск, выполнение команд, веб и code intelligence. Без tools, как сказано в документации, Claude может только отвечать текстом; с ними — читать код, править файлы, запускать команды.
Когда вы запускаете claude в каталоге, окружение агента — это ваш проект, терминал (любая команда, которую могли бы запустить вы), состояние git, ваш CLAUDE.md и подключённые расширения.
Границы между частями размыты. Скрипт test в package.json — это часть harness или окружения? Скорее окружения: harness его только вызывает. Но спорить об этом не нужно; карта нужна, чтобы искать рычаг, а не чтобы раскладывать всё по полочкам.
Главный вывод карты: качество агента зависит от трёх частей, а не от одной. Обучить свою модель — дорого и недоступно почти никому. А вот улучшить harness (настроить Claude Code, дать ему правила и skills) и окружение (тесты, линтер, понятная структура проекта) может любой разработчик. Там и лежит основная работа этого курса.
Практика
Откройте учебный проект Cadence в терминале и запустите claude. Попросите агента: «Перечисли tools, которые тебе доступны в этой сессии, и сгруппируй их по назначению».
Посмотрите на ответ через нашу карту:
- что из списка — способы дотянуться до окружения (файлы, shell, поиск);
- что — служебные tools самого harness, например запуск subagents или вопросы к вам;
- какую модель использует сессия: её можно увидеть и сменить командой
/model.
Обратите внимание: модель знает о tools только потому, что harness рассказал ей о них. Сама модель по-прежнему лишь получает и выдаёт текст.
Подводные камни
- «Сменю модель — станет лучше». Новая модель меняет только двигатель. Если в проекте нет тестов, которые агент может запустить, он так же будет останавливаться, когда работа «выглядит готовой».
- Агент — не тот же чат. В чате окружение — переписка. У Claude Code окружение — ваша машина и всё, что на ней может запустить терминал. Поэтому права, которые вы даёте агенту, важнее, чем кажется.
Проверь себя
Что такое агент в терминах этого Bite?
Агент в вашем проекте регулярно сдаёт код, который не проходит CI. Где у вас больше всего рычагов?
К какой части относится Claude Code?
Почему модель в Claude Code может прочитать файл проекта, хотя сама умеет только выдавать текст?
Источники
- Anthropic, How Claude Code works
- По мотивам AI Coding Crash Course, AI Hero
Текст подготовлен с помощью LLM и может содержать неточности.