Skip to content

Code-агенты: исследование и анализ кода ​

Семейство Code-агентов в Unishift Platform предназначено для глубокого исследования кодовой базы, анализа архитектуры и межсервисных зависимостей, инспекции схем баз данных и проведения автоматизированного код-ревью.

Все агенты семейства поддерживают наследование MCP (Model Context Protocol): инструменты поиска по коду, чтения файлов и работы с репозиторием подтягиваются автоматически из контекста чата, рабочего пространства или зарегистрированных в платформе MCP-серверов.


Каталог Code-агентов ​

АгентИдентификатор (slug)НазначениеКлючевые инструменты
Code Architectcode-architectИсследование архитектуры, выявление паттернов и построение диаграммcreate_drawio, read_drawio, update_drawio, search_knowledge_base, MCP-поиск кода
Code Relationscode-relationsАнализ графа связей, зависимостей микросервисов и структуры вызововsearch_tables, get_table, search_knowledge_base, MCP-поиск кода
Code Reviewercode-reviewerПроверка кода на безопасность, надёжность, производительность и стильsearch_knowledge_base, ask_user, search_tasks, get_task, MCP-чтение кода
DB Inspectordb-inspectorАнализ схем PostgreSQL, индексов, внешних ключей и генерация миграцийsearch_tables, get_table, list_table_rows, create_file, MCP-поиск миграций

Наследование MCP-инструментов ​

В отличие от узкоспециализированных встроенных агентов (генераторов документов или презентаций), Code-агенты спроектированы для работы с внешними инструментами исследования кода через MCP (например, Code Context Engine / CCE, git-серверами или поисковыми утилитами).

Как работает доступ к инструментам ​

  1. Контекст чата и пространства: Если в чате пространства или в настройках чата подключены MCP-серверы (например, cce, gateway, gitlab), агент автоматически получает доступ к их инструментам (mcp__{slug}__{tool}).
  2. Глобальный fallback: Если у чата не задан индивидуальный список серверов, агент обнаруживает активные серверы в MCP Gateway.
  3. Сохранение инструментов: Роутер инструментов платформы гарантированно сохраняет инструменты исследования (context_search, expand_chunk, grep, read_file, session_recall, related_context) для запросов к Code-агентам, предотвращая их исключение из контекста модели.

1. Code Architect (code-architect) ​

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

Инструменты ​

  • Схемы draw.io: create_drawio, read_drawio, update_drawio — автоматическая генерация диаграмм компонентов и потоков данных.
  • База знаний (RAG): search_knowledge_base — поиск по внутренней технической документации и архитектурным решениям (ADR).
  • MCP: context_search, expand_chunk, related_context — навигация по файлам репозитория.

Типичные запросы ​

  • «Как устроена авторизация и валидация токенов в сервисе gateway?»
  • «Исследуй модуль платежей и сгенерируй C4-диаграмму компонентов в draw.io»
  • «Какие архитектурные паттерны используются в ai-router при обработке сообщений?»

Формат ответа ​

  1. Назначение модуля/сервиса: краткое описание ответственности.
  2. Ключевые компоненты: таблицы, сервисные структуры, обработчики.
  3. Взаимодействие и зависимости: внутренние и внешние интеграции.
  4. Архитектурная схема: сгенерированный файл .drawio с визуализацией.

2. Code Relations (code-relations) ​

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

Инструменты ​

  • База данных: search_tables, get_table — инспекция структуры таблиц и внешних ключей.
  • База знаний: search_knowledge_base — поиск описания зависимостей в документации.
  • MCP: поиск импортов, вызовов функций, маршрутов REST и NATS-топиков через context_search.

Типичные запросы ​

  • «Какие микросервисы зависят от сервиса storage и какие методы они вызывают?»
  • «Построй граф вызовов для функции RunSubAgentTurn»
  • «Где в коде используется таблица ai_chat_agents и какие поля читаются чаще всего?»

Формат ответа ​

  1. Цель анализа: исследуемый узел или интерфейс.
  2. Граф связей: входящие и исходящие зависимости.
  3. Оценка влияния (Blast Radius): какие модули затронет изменение сигнатуры или схемы.
  4. Рекомендации по безопасному изменению: шаги по рефакторингу без поломки обратной совместимости.

3. Code Reviewer (code-reviewer) ​

Агент выполняет структурированное ревью кода или предложенных изменений (diff / pull request) по стандартам безопасности, надёжности и производительности.

Категории проверки ​

  1. Безопасность: SQL-инъекции, path traversal, утечка учетных данных, отсутствие валидации входящих параметров.
  2. Производительность: N+1 запросы к базе данных, утечки памяти, неэффективные блокировки и циклы.
  3. Надёжность: обработка ошибок, горутинные утечки, race conditions, корректность таймаутов контекста.
  4. Стандарты проекта: соблюдение кодстайла, конвенций логирования (log/slog) и именования.

Формат замечаний ​

Каждая находка оформляется в стандартизированном виде:

text
[SEVERITY: critical | high | medium | low] ПУТЬ_К_ФАЙЛУ:СТРОКА
Проблема: краткое описание обнаруженного дефекта
Стандарт: ссылка на правило или соглашение команды
Влияние: к чему приведет дефект в продакшене
Исправление: конкретный фрагмент кода с исправлением

4. DB Inspector (db-inspector) ​

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

Инструменты ​

  • search_tables — поиск таблиц по маске или префиксу.
  • get_table — получение структуры колонок, первичных ключей, ограничений и индексов.
  • list_table_rows — просмотр выборок данных и справочников.
  • create_file — формирование готовых файлов миграций (SQL или Go-миграций).

Типичные запросы ​

  • «Покажи схему таблицы ai_chat_agents со всеми индексами и ограничениями»
  • «Составь безопасную миграцию добавления колонки metadata с типом JSONB в таблицу tasks»
  • «Проверь, есть ли нехватающие индексы для часто используемых фильтров в chat_repository»