Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как я внедрил ИИ-агента в разработку: опыт создания умного помощника для YouTrack

Как я внедрил ИИ-агента в разработку: опыт создания умного помощника для YouTrack

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

В своей практике я использую большие языковые модели для написания небольших изолированных участков кода. Однако даже здесь возникают трудности, когда простая функция требует часов ручной доработки. Поэтому я долгое время рассматривал ИИ лишь как инструмент поиска и помощи, а не полноценного разработчика. Тем не менее, меня привлекла идея перенести искусственный интеллект на этап трансформации бизнес-требований в архитектурные задачи.

Конфигурация проекта для ИИ-агента
Настройки окружения и параметров подключения сервисов.
Панель управления API моделей
Статистика вызовов API и расхода токенов во время отладки.
Лог работы фонового сервиса интеграции
Консольный вывод работы скрипта на Python при взаимодействии с трекером.

Философия применения

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

Реклама

Установка дедлайна в две недели позволила мне проверить концепцию на практике, не уходя в излишние теоретические размышления и абстрактные модели. Я хотел создать инструмент, который работает стабильно независимо от случайных факторов.

Техническая реализация и разработка

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

Хронология изменений

В процессе работы я вел подробный журнал изменений, фиксируя каждый шаг трансформации архитектуры:

  • 2026-09-21: Комментарии начали направляться участникам команды на понятном им языке, фильтровались лишние контексты для предотвращения галлюцинаций агента, а также исправлена проблема с пропущенными двусмысленными замечаниями.
  • 2026-09-20: Каждая модель получила конфигурацию для входа и выхода, был внедрен базовый класс Contract с поддержкой отладки в консоли и генерацией текстовых промптов. Компонент IssueReader переименован в IssueTriage из-за расширения его функций по созданию последовательности решений.
  • 2026-09-19: Реализован базовый прием идентификатора задачи из YouTrack через FastAPI, скачивание вложений, комментариев и декомпозиция требований.

Архитектурная логика агента

Агент IssueTriage принимает ID задачи, после чего формирует полный контекст с помощью YoutrackMCP. На следующем этапе LLM анализирует возможность реализации силами текущей команды. Если задача невыполнима, оставляется скрытый, но читаемый комментарий.

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

Реклама

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

Интеграция и безопасность

Полноценный Kubernetes мне не потребовался, проект развернут во внутреннем контуре. Обращение по ID задачи сделано идемпотентным. Если исполнителем выступает обычный человек, а не агент, вызов просто игнорируется.

Секреты и ключи OpenAI хранятся через HashiCorp Vault с настроенными лимитами, временем жизни и ротацией. Для самого агента заведен отдельный технический аккаунт в YouTrack с базовым разграничением прав.

Финансовые затраты

Из-за отсутствия мощного локального железа я использовал API от OpenAI и DeepSeek. На все тесты ушло около 30 центов, а обработка одной стандартной задачи с изображениями стоила примерно один цент.

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

Будущее агентных систем

Сегодня агент представляет собой набор навыков и протоколов коммуникации вроде MCP. Созданный мной помощник гармонично вписался в существующие процессы.

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

Я убежден, что главное назначение LLM в точности отражено в самом названии — это язык. И хотя прямые затраты на подобные решения пока высоки, интеграция языковых моделей в повседневную разработку открывает интересные перспективы.

01.