Habr: Т-Банк→ оригинал

Т-Банк научил AI-агента писать iOS unit-тесты через AGENTS.md и SKILL.md

iOS-разработчик Т-Банка Артем Житко рассказал на Habr, как команда заставила LLM-агента писать unit-тесты по правилам проекта. Первые попытки с ChatLLM провалились: код не компилировался, модель придумывала несуществующие Mock-объекты, игнорировала архитектурные соглашения и брала не те тестовые утилиты. Вместо новых промптов инженеры собрали систему правил на базе файлов AGENTS.md и SKILL.md. Генерация тестов превратилась из разового запроса в воспроизводимый процесс. Вывод команды: качество правил сегодня важнее выбора самой умной модели. • Причина сбоев: у модели не было контекста проекта. • Решение: AGENTS.md и SKILL.md вместо разовых промптов. • Количественных метрик в анонсе нет.

AI-обработка оригинала Habr: Т-Банк; редакция Hamidun News
Т-Банк научил AI-агента писать iOS unit-тесты через AGENTS.md и SKILL.md
Источник: Habr: Т-Банк. Коллаж: Hamidun News.
◐ Слушать статью

Команда iOS-разработки Т-Банка описала на Habr, как научила LLM-агента писать unit-тесты в стиле проекта: с реальными Mock-объектами, правильными утилитами и кодом, который собирается с первого раза. Автор материала, iOS-разработчик Артем Житко, рассказывает, что подбор промптов не помог. Помогла система правил на файлах AGENTS.md и SKILL.md. Цифр вроде процента компилируемых тестов или сэкономленных часов в анонсе нет, они, видимо, остались внутри полной статьи.

Что сломалось в первой попытке

Тесты обычно пишут в конце задачи, когда логика готова и мотивации уже мало. Это очевидный кандидат на передачу агенту. Т-Банк попробовал поручить его ChatLLM и получил типичный набор дефектов:

  • код не компилировался;
  • модель придумывала Mock-объекты, которых в проекте нет;
  • архитектурные соглашения команды игнорировались;
  • использовались не те тестовые утилиты, которые принято применять в кодовой базе.

Все четыре пункта имеют общий корень. Модель не видела проект изнутри. Она знает, как выглядят тесты на Swift вообще, но не знает, как называются ваши хелперы, где лежат заглушки и какой слой зависимостей принято подменять. Поэтому она достраивает недостающее правдоподобной выдумкой. Для кода это худший вариант: выдумка выглядит убедительно, а ломается только на сборке.

Правила вместо промптов

Команда сделала вывод, что причина в отсутствии контекста, а не в слабости модели, и вынесла знания о проекте в файлы. AGENTS.md служит общей инструкцией для агента в репозитории: структура, соглашения, обязательные практики. SKILL.md описывает конкретное умение, здесь это написание тестов: порядок действий, какие утилиты брать, как называть кейсы, что считать готовым результатом. Как именно разложены правила между двумя файлами, в анонсе не раскрыто.

Главное изменение связано с самим подходом. Промпт живёт в чьей-то голове или чате, и результат зависит от того, кто и как его написал. Файл правил лежит в репозитории, ревьюится, версионируется и работает одинаково для каждого разработчика. Генерация тестов из разового запроса превращается в воспроизводимый инженерный процесс, как пишет сам автор.

Ключевые факты из анонса

  • Платформа: iOS, unit-тесты.
  • Исходная модель: ChatLLM, результат без контекста признан непригодным.
  • Инструменты: AGENTS.md и SKILL.md.
  • Тезис команды: хорошие правила важнее выбора самой умной модели.
  • Метрики качества и экономии времени в анонсе не приведены.

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

Как применить у себя

Если хотите повторить подход, начните с анализа ошибок, а не с написания правил. Соберите 10–20 тестов, которые агент сгенерировал неудачно, и разметьте причины: выдуманный класс, неверная утилита, нарушенная архитектура. Каждая повторяющаяся причина превращается в конкретное правило.

В AGENTS.md кладите то, что верно для всего репозитория: структуру модулей, соглашения об именовании, запреты. В отдельный навык выносите узкую процедуру, например написание тестов, и приводите там один-два эталонных примера из реального кода. Явно перечислите существующие Mock-объекты и тестовые утилиты и запретите создавать новые без запроса. Это прямой ответ на главную болезнь, описанную командой.

И обязательно замыкайте цикл проверкой: пусть агент запускает сборку и тесты и исправляет ошибки сам. Правила снижают число выдумок, но компилятор остаётся самым надёжным рецензентом. Файлы правил стоит ревьюить как обычный код и обновлять вместе с архитектурой, иначе они быстро устареют и начнут вредить.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 50+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
✦ Автономные AI-агенты

Делегируйте ресёрч, код и рутину автономному AI-агенту

Интеллектуальная агентная среда NomadNet Agent (agent.nomadnet.ai) выполняет многошаговые задачи: глубокий веб-ресёрч, анализ данных, написание кода и автоматизацию браузера.

Запустить NomadNet Agent →Платформа NomadNet AI
Что вы думаете?
Загружаем комментарии…