Большие вызовы Т-Банк

Research-проект · Т-Банк

ИИ-агент,
который находит
и исправляет баги

Проверили инженерные гипотезы и нашли подходы, которые делают кодового агента точнее, быстрее и полезнее для команды разработки.

Задача от Т-Банка

Проверить гипотезы на реальном кодовом агенте

Т-Банк предоставил нам задачу: проверить инженерные гипотезы на примере ИИ-агента для поиска и исправления багов и сравнить подходы по измеримым метрикам.

Зачем нужен проект

От сообщения об ошибке —
до проверенного патча

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

01

Локализует

Находит файлы, функции и зависимости, связанные с багом.

02

Понимает

Собирает контекст и определяет вероятную первопричину.

03

Исправляет

Готовит минимальный патч вместо переписывания всего решения.

04

Проверяет

Запускает тесты и возвращает воспроизводимый результат.

ξ

Не заменяет разработчика. Сокращает время от баг-репорта до понятного, проверенного решения.

Точка отсчёта

Базовый агент

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

1Поискgrep · list_files
2Чтениеread_file
3Патчedit_file
4Тестexecute_cmd
50%success rate
≈109 cна задачу
≈226kтокенов
Главная точка ростадать агенту более структурный контекст и научить использовать накопленный опыт.

Гипотеза 01

AST Index

Искать не по словам, а по структуре кода.

Как работает

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

+0%к базовому success rate
-34,9 cвремя
-40,1kтокенов
Вывод

Структурный поиск повышает точность, но индекс нужно сделать надёжнее и дешевле.

Гипотеза 02

Мультиагент

Разделить локализацию и исправление между агентами.

Как работает

Supervisor передаёт поиск агенту-locator, а патч — агенту-fixer. Каждый работает в собственном контексте.

−10%к базовому success rate
+20,5 cвремя
+5kтокенов
Вывод

Координация съедает контекст и не окупается качеством. Один сильный агент эффективнее.

Гипотеза 03

Cognitive
Memory

Превращать прошлые решения в полезные правила.

Как работает

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

+30%к базовому success rate
−4,8 cвремя
+211kтокенов
Вывод

Память улучшает результат и скорость, но требует жёсткого контроля объёма контекста.

Главный результат

Не больше агентов.
Больше правильного контекста.

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

Графики экспериментов

Сравнение с базовым агентом

Итоговые значения экспериментов на датасете из 55 багов.

Success rate

Базовый агент50%
AST Index50%
Мультиагент40%
Cognitive Memory80%

Время на задачу

Базовый агент102 c
AST Index124 c
Мультиагент123 c
Cognitive Memory97 c

Токены

Базовый агент207k
AST Index220k
Мультиагент212k
Cognitive Memory418k
01

Структурный поиск

AST повышает точность и сокращает бессмысленный просмотр файлов.

02

Один агент

Меньше потерь контекста, проще контроль и предсказуемее стоимость.

03

Селективная память

Хранить не всё, а только проверенные принципы и похожие эпизоды.

Рекомендуемая конфигурация

Один агент + надёжный AST-индекс + память с лимитами

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

Рабочий прототип

Полный цикл уже работает

Агент принимает баг-репорт, исследует код, создаёт патч и запускает тесты в изолированной среде. Следующий этап — снизить стоимость контекста и повысить надёжность AST-инструментов.

01Принимает баг-репортПолучает описание ошибки и команду для воспроизведения.
02Исследует кодНаходит связанные файлы, функции и зависимости.
03Создаёт патчВносит минимальное изменение в нужном месте.
04Проверяет в изоляцииЗапускает тесты и формирует понятный отчёт о результате.

Люди проекта

Команда и менторы

Команда

Семён

Семён

Команда проекта

Владимир

Владимир

Команда проекта

Дмитрий

Дмитрий

Команда проекта

Олег

Олег

Команда проекта

Арсений

Арсений

Команда проекта

Иван

Иван

Команда проекта

Менторы

Михаил

Михаил

Ментор

Никита

Никита

Ментор

Михаил

Ульяна

Ментор

Андрей

Андрей

Ментор

Полина

Полина

Ментор

Маргарита

Маргарита

Ментор