Как научить ИИ-агента писать код по стандартам уровня Senior

23 апр 2026
100,792
10,589
521
6 дней

Знакомая картина: просишь ИИ набросать фичу, а в ответ получаешь пачку кода в одном файле без тестов, документации и с кучей потенциальных дыр в безопасности. Вроде работает, но в продакшен это тащить страшно. Начинаешь объяснять: «добавь тесты», «разбей на модули», «проверь граничные случаи». К третьей итерации понимаешь, что проще было написать самому.

Проблема в том, что современные LLM по умолчанию выбирают кратчайший путь. Они оптимизированы на быстрый ответ, а не на долгосрочную поддержку вашего проекта. Эдди Османи (тот самый инженер из Google) решил подойти к проблеме системно и выложил репозиторий agent-skills. Если вкратце, это набор жестких инструкций и ворклоув, которые заставляют ИИ-агентов вести себя как опытные разработчики.

Что это за навыки

Проект не пытается сделать нейронку «умнее». Вместо этого он дает ей четкие рельсы — пайплайны, по которым проходит любая задача. В репозитории собрано 20 «навыков» (skills), разбитых по этапам жизненного цикла разработки: от идеи и планирования до деплоя и документирования.

Интересно, что за основу взяты практики из Google. Здесь можно встретить ссылки на закон Хайрама в дизайне API, «правило Бейонсе» в тестировании (если это не протестировано, значит, на это нельзя полагаться) и принцип Честертоновского забора при рефакторинге.

Это не просто набор советов, а структурированные Markdown-файлы. Каждый файл содержит конкретные шаги процесса, критерии приемки и даже таблицу «анти-рационализаций». Последнее — самое полезное: там прописаны типичные отговорки, которые ИИ любит использовать (например, «я добавлю тесты позже»), и аргументы, почему агент не имеет права так поступать.

Реклама

Как это работает на практике

Агент получает доступ к командам через слэш-команды. Выглядит это примерно так:

  • /spec — заставляет ИИ сначала описать PRD (Project Requirements Document) и архитектуру, прежде чем трогать код.
  • /plan — декомпозиция задачи на мелкие атомарные таски.
  • /build — инкрементальная сборка тонкими вертикальными слайсами.
  • /review — самопроверка по чек-листу из пяти осей качества.

Внутри каждого этапа зашиты проверки. Например, если агент использует навык incremental-implementation, он обязан внедрять фичу по частям, запускать тесты после каждого изменения и делать коммит. Никаких гигантских PR на 50 файлов, где всё сломано.

  DEFINE          PLAN           BUILD          VERIFY         REVIEW          SHIP
 ┌──────┐      ┌──────┐      ┌──────┐      ┌──────┐      ┌──────┐      ┌──────┐
 │ Idea │ ───▶ │ Spec │ ───▶ │ Code │ ───▶ │ Test │ ───▶ │  QA  │ ───▶ │  Go  │
 │Refine│      │  PRD │      │ Impl │      │Debug │      │ Gate │      │ Live │
 └──────┘      └──────┘      └──────┘      └──────┘      └──────┘      └──────┘
  /spec          /plan          /build        /test         /review       /ship

(Примечание: здесь и далее визуализация процессов из документации проекта).

Пять навыков, которые меня зацепили

Я покопался в папке skills/ и выбрал то, что пригодится в ежедневной рутине больше всего.

1. Spec-driven development

Тут всё просто: код — это следствие спецификации. Агент не имеет права начинать кодить, пока не согласует с вами цели, структуру данных и стиль кода. Это экономит часы переделок, когда ИИ вдруг решает использовать Redux там, где достаточно обычного стейта.

2. Context engineering

Обычно мы просто скармливаем агенту файлы. Этот навык учит ИИ самому выбирать нужный контекст, использовать MCP (Model Context Protocol) и отсекать лишнее, чтобы не забивать контекстное окно и не терять фокус.

3. Source-driven development

Бесит, когда ИИ галлюцинирует и придумывает несуществующие методы библиотек. Этот навык обязывает агента проверять официальную документацию фреймворков и цитировать источники. Если он не уверен в версии API, он должен прямо об этом сказать.

4. Тестирование по пирамиде

Навык test-driven-development заставляет ИИ соблюдать пропорцию 80/15/5 (юнит-тесты, интеграционные и e2e). Более того, агент должен использовать «грязные» тесты (DAMP) вместо сухих (DRY) там, где это улучшает читаемость сценариев.

5. Безопасность и упрощение

Есть отдельные воркфлоу для проверки по OWASP Top 10 и для упрощения кода. Команда /code-simplify нацелена на ясность кода, а не на его «красоту» или лаконичность. Если алгоритм можно написать проще, агент обязан это сделать.

Как подключить к себе

Проект поддерживает почти все популярные инструменты. Проще всего с Claude Code — там установка идет как плагин:

/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills

Для Cursor достаточно скопировать нужные SKILL.md в папку .cursor/rules/. ИИ начнет учитывать эти инструкции при генерации ответов. Аналогично работает с Windsurf, GitHub Copilot и Gemini CLI.

По сути, это универсальный стандарт инструкций. Даже если вы используете просто веб-интерфейс ChatGPT, вы можете скормить ему содержимое конкретного навыка, чтобы получить предсказуемый результат.

Кому это нужно

Если вы используете ИИ только для написания однострочников или простых скриптов, agent-skills может показаться избыточным. Слишком много бюрократии: спеки, планы, обзоры.

Но если вы пытаетесь делегировать ИИ целые фичи в сложном проекте, такие «ограничители» становятся жизненно необходимы. Это превращает ИИ из непредсказуемого джуна в дисциплинированного разработчика, который не забудет про обработку ошибок, правильно обновит CHANGELOG и не оставит после себя «зомби-код».

Проект активно растет, и сейчас там уже есть специализации для агентов: например, отдельный конфиг для security-auditor или test-engineer. Это отличный пример того, как мы будем работать с ИИ в ближайшем будущем — не просто промптить, а задавать профессиональные стандарты и требовать их соблюдения.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.