ИИ-агенты. Файлы AGENTS.md и SKILL.md
Всем привет! Сегодня я хочу рассказать вам подробнее про skills.md и agents.md. Расскажу про некоторые фишки, которые я использую в работе с ИИ-агентом.
Что такое agents.md или AGENTS.md? agents.md — это конфигурационный файл, который задает глобальный контекст, технический стек и правила игры для ИИ-агента (или группы агентов) в рамках проекта. То есть туда можно написать абстрактно, что мы хотим, что нужно использовать (FastAPI, asyncio, Postgres). Какой роли должен придерживаться агент (архитектор, бэкенд-разработчик, тестировщик). Можно написать условия разработки: используем контейнеры и .env, используем механизм router, обязательное тестирование перед сдачей и push в ветку dev. Этот файл писать должны не вы, а другая модель (часто более умная, чем та, которая будет писать вам код). Вы лишь можете чуть корректировать его, если что-то модель написала не так. Используем Git Я упомянул, про push в ветку dev. Это на самом деле очень удобная и важная вещь. Я добавил следующее в agents.md:
Каждая подзадача должна завершаться отдельным коммитом. Начинать строго с номера задачи и пару слов задачи на русском языке. Шаблон: Task-[Номер задачи]: [Краткое описание изменений на русском]. После успешного тестирования задачи делать git push в GitLab репозиторий, я настроил ssh ключ. Создал для тебя ветку dev, работаешь только в ней. Для пуша: git push origin dev
Это позволяет мне откатиться на нужный коммит в случае проблем. А также отслеживать готовые задачи. Откат с удалением изменений:
Переходим к skills.md или SKILL.md Skills.md — это файл, который определяет как ИИ-агент должен выполнять конкретные задачи. Каждый хороший скилл состоит из 4 компонентов:
0)Шапка из полей name и description, выделенных 3 дефисами, именно по ним модель выбирает скилл. 1) Name / Identifier — уникальное имя или ID скилла, по которому ИИ-агент отличает этот скилл от сотен других. 2) Trigger — событие, по которому ИИ-агент должен среагировать и вызвать этот скилл. 3) Execution Pipeline — пошаговая инструкция, какие функции вызвать, куда перенаправить поток данных и в какую базу записать логи или как надо мыслить(например, триггер это написание фронтенда, при его написании пиши оригинально, не как Ии и тд).
Опять же это все не обязательно, это РЕКОМЕНДАЦИЯ, так пишут свои скиллы сами создатели Claude и GPT. Иногда хватает только шапки и названия, а дальше вольный текст. Но по хорошему это используем разметку md файла и пишем, как в примерах. Вот часть моего skills.md:
# PXILUM Agent Execution Skills & Pipelines ## Skill: Inbound Mesh Packet Relay (Radio -> Web) * Trigger: Коллбэк-поток обнаружил входящий бинарный пакет или LXMF-сообщение из радиоэфира. * Execution Pipeline: 1. Перехватить сырые данные внутри синхронного коллбэка RNS. 2. Извлечь 16-байтный хэш криптографического Identity отправителя. 3. Безопасно передать payload в поток FastAPI через thread-safe queue (`asyncio.Queue`). 4. Асинхронно прочитать очередь фоновой задачей и записать лог в PostgreSQL. 5. Моментально сдирижировать пакет в активные WebSocket-соединения /ws для веб-пользователей.
Вот начало скилла от Anthropic:
--- name: frontend-design description: Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults. license: Complete terms in LICENSE.txt --- # Frontend Design Approach this as the design lead at a design studio known for giving every client a distinct visual identity that is not mistaken for anyone else's. This client has already rejected proposals that felt cliché or templated, and is paying for a distinctive point of view: make deliberate, opinionated choices about palette, typography, and layout that are specific to this brief, and take aesthetic risk if justified. ## Ground your designs in the subject matter If the brief does not identify
Как вы уже поняли, необязательно писать под каждую задачу свой SKILL, скорее всего он уже кем-то написан и хорошо. Вот пару ссылочек: OpenAI: https://github.com/openai/skills Anthropic: https://github.com/anthropics/skills Google: https://github.com/google-gemini/gemini-skills Можно выделить 3 категории скиллов: пользовательские, навыки от организаций, навыки партнёров. Пользовательские — созданные самостоятельно для личного использования. Навыки от организаций — когда у сотрудников компании есть корпоративные аккаунты и организация может предоставить им свои скиллы. Навыки партнёров — скиллы в связке с MCP от крупных компаний, например, от Notion, Figma, Atlassian. Ещё можно выделить точечные скиллы, которые применяются и пишутся для одного проекта. А также универсальные, которые хранятся в специальной директории ИИ-агента для скиллов и применяются ко всем проектам, с которыми работает агент.
Нужно ли явно указывать агенту на эти файлы? Всё зависит от того, какую модель и расширение/приложение вы используете. В моём случае я в самом первом промпте пишу, что нужно посмотреть эти два файла обязательно. На этой ноте я бы хотел закончить. Обращу внимание, что переход на более умную модель Claude Haiku с llama-3.3-70b, написание хорошего agents.md и skills.md, а также хорошо продуманные промпты качественно улучшили разработку с ИИ-агентом.