Проблема разрозненного контекста

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

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

Архитектура репозитория agent

Для решения этой задачи создается специальный репозиторий agent. Он служит единой точкой входа и содержит описание всей экосистемы компании. В нем хранятся документация, настройки и специальные навыки (skills) для работы с внутренними инструментами.

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

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

Инструменты и навыки ИИ-агента

Чтобы агент мог не только читать, но и действовать, ему предоставляются навыки (skills). Каждый навык описывается в отдельном файле SKILL.md, где указаны условия вызова, команды и ограничения. Например, для работы с таск-трекером YouTrack агент использует специальные инструкции по чтению и созданию задач.

Важно, что все учетные данные (credentials) хранятся вне Git. Навык лишь называет переменные окружения, а система передает их значения во время выполнения. Это позволяет безопасно интегрировать ИИ с такими сервисами, как Portainer для управления контейнерами, GlitchTip для отслеживания ошибок или S3 для работы с записями созвонов.

Интерфейсы и безопасность

Работать с таким агентом можно через два интерфейса: привычный терминал или чат в Telegram. Для чат-бота используется специальный помощник, который подключает агент как подмодуль Git. Это гарантирует, что и в терминале, и в мессенджере используется одна и та же актуальная версия контекста.

Безопасность обеспечивается за счет запуска команд внутри изолированной среды (sandbox). Бот работает только в разрешенных чатах, а доступ к базам данных ограничен режимом «только чтение». Любые операции, которые могут изменить состояние системы, требуют обязательного подтверждения человеком.

Что это значит

Создание выделенного репозитория с картой проектов и набором навыков позволяет ИИ-агенту связывать разрозненные источники контекста — от кода и логов до задач в таск-трекере — и эффективно работать в рамках всей экосистемы компании.