← Мои проекты

Кодинг-агент

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

Цель проекта

Собрать собственного консольного кодинг-агента — и через это понять изнутри, как устроен Claude Code. Лучший способ разобраться в инструменте — построить его уменьшенную копию своими руками. Да, кодинг-агента вы будете писать с помощью кодинг-агента.

К концу у вас будет агент, который принимает задачу на естественном языке, сам читает и правит файлы, запускает команды, работает в цикле до результата — и умеет то же, что вы видели на лекциях: подхватывает контекст проекта, грузит знания по требованию, выносит подзадачи в изолированный контекст.

Как это устроено

Это итоговый проект на обе лекции про Claude Code. Вехи 1–4 закрывают первую лекцию, 5–6 — вторую. Срок — к началу блока про SDD.

  • Стройте агента через Claude Code (или другого агента) — это часть задания. Пока строите, вы вживую практикуете plan mode, CLAUDE.md, /rewind на реальном проекте.
  • Язык и стек — любые. Модель — тоже любая: локальная из прошлой лабы, Claude, OpenAI.
  • Ведите NOTES.md: по каждой вехе пара строк — что получилось и что удивило.

Дальше — вехи, а не пошаговая инструкция. Что агент должен уметь и какой механизм за этим стоит — задано; как именно вы это реализуете — на ваше усмотрение.

Веха 1. Цикл агента

Сердце агента — тот самый цикл, который мы видели на лекции про агентов: получить задачу → спросить модель → модель просит вызвать инструмент → выполнить → результат обратно в контекст → повторить, пока задача не решена.

Начните без инструментов: простой консольный диалог в цикле, где на каждом ходу вся история собирается заново и уходит модели. Здесь важно своими глазами увидеть, как контекст растёт с каждым шагом, — то самое окно, которое в Claude Code показывает /context.

В NOTES.md: как вы храните историю диалога и что в неё кладёте.

Веха 2. Инструменты — руки агента

Дайте агенту минимум: Read, Write, Update, Delete, List, Execute (команда в терминале). Модель сама решает, какой инструмент вызвать и с какими аргументами; ваш код выполняет и возвращает результат обратно в цикл.

У большинства API для этого есть структурированный вызов инструментов (tool use / function calling) — но можно и разобрать ответ модели руками, как мы пробовали через регулярку на лекции про агентов. С этого момента агент уже реально пишет код в файлы и запускает его.

В NOTES.md: какие инструменты сделали, как описали их модели и где агент ошибался с аргументами.

Веха 3. AGENTS.md — контекст проекта

Научите агента перед первым ходом читать файл AGENTS.md из рабочей папки и класть его в системный промпт. Это ровно то, что Claude Code делает с CLAUDE.md: агент с нуля не знает ни стек, ни конвенции, ни где что лежит — а так получает это ещё до вашего первого сообщения. (AGENTS.md — общий формат такого файла, его понимают разные инструменты.)

В NOTES.md: что вы положили в AGENTS.md своего тестового проекта и как изменились ответы агента после этого.

Веха 4. Skills — знание по требованию

Положить все правила в AGENTS.md — значит раздувать контекст: он целиком уходит модели на каждом ходу. Скиллы решают это иначе.

Сделайте набор скиллов: каждый — файл с коротким описанием (когда его применять) и телом (как делать что-то конкретное). Агент видит только описания; тело нужного скилла он подгружает в контекст по требованию, а не держит всё сразу. Это та же экономия окна, ради которой скиллы есть в Claude Code.

В NOTES.md: какой скилл сделали и по какому сигналу агент решил его подтянуть.

Веха 5. Субагент — изолированный контекст

Дайте агенту инструмент, который запускает субагента — отдельный экземпляр вашего же агента с чистым контекстом — на подзадачу и возвращает наружу только результат. Например: «изучи структуру проекта и верни краткий отчёт». Разведка не засоряет основной диалог техническими деталями — наружу приходит выжимка.

В NOTES.md: сравните размер основного контекста на одной задаче с субагентом и без — разница и есть смысл изоляции.

Веха 6. Разрешения и полировка

Агент сам запускает команды и удаляет файлы — это страшновато. Добавьте подтверждение перед опасным: Execute, Delete, Write. Это ровно модель разрешений из Claude Code — чтение идёт само, действие спрашивает.

Когда базовый агент работает — добавьте хотя бы одно своё улучшение на вкус.

Со звёздочкой (по желанию)

Одно из:

  • Хуки: на событии (например, после Write) запускать шелл-скрипт — автоформат или линтер.
  • Шаг планирования: агент сперва показывает план и ждёт подтверждения, и только потом действует (= plan mode).
  • Параллельные субагенты на независимых подзадачах.
  • Команда агентов, где запущенные агенты могут общаться между собой.

Результат

Репозиторий с агентом, CLAUDE.md, скиллами и NOTES.md. Добавьте ссылку в поле «Ваш результат» и нажмите «Отправить на проверку».

Начните работу над проектом

Войдите, чтобы начать работу над этим проектом

Войти