Перейти к содержимому
cd /blog

Прогрессивное раскрытие: CLI-окна в агентные системы

[Архитектура][CLI][Инструментарий]

> Агентные системы по умолчанию непрозрачны. Прогрессивное раскрытие даёт операторам многоуровневые CLI-представления — от быстрой проверки статуса до полного устройства агента и трасс решений.

Цифры в этом посте отражают состояние системы на момент публикации (январь 2026). Актуальные цифры смотрите на нашей странице команды.

Агентные системы непрозрачны по своей природе. Они принимают решения, вызывают инструменты и координируют работу десятков специалистов. Но когда что-то идёт не так — или когда вы просто хотите понять, что происходит, — куда смотреть?

Ответ — прогрессивное раскрытие: многоуровневый интерфейс, который открывает ровно столько сложности, сколько вам нужно, ровно тогда, когда это нужно.

Проблема непрозрачности

Современная система оркестрации агентов может иметь:

  • 40+ специализированных агентов, каждый со своими возможностями
  • 700+ скиллов, охватывающих внутреннюю автоматизацию и интеграции с вендорами
  • 470+ архитектурных решений, формирующих поведение
  • Десятки MCP-серверов инструментов, предоставляющих внешние возможности

Эта сложность намеренная. Агентам нужен доступ к богатому контексту — доменным знаниям, интеллектуальному анализу кода, схемам БД, — чтобы принимать хорошие решения. Но то же богатство создаёт проблему видимости.

Как узнать, какой агент занимается миграциями БД? Какие решения сформировали поведение ранжирования в системе поиска? К каким инструментам имеет доступ архитектурный советник?

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

Прогрессивное раскрытие как архитектура

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

Для агентных систем это превращается в CLI-команды возрастающей глубины:

Уровень Команда На какой вопрос отвечает
1 orkestra system status Всё ли здорово?
2 orkestra agents list Какие агенты существуют?
3 orkestra agents info <name> Что делает этот агент?
4 orkestra decisions search Почему это работает именно так?
5 MCP-инструменты Maguyva Покажи мне код.

Каждый уровень отвечает на естественный следующий вопрос. Вам редко нужно прыгать сразу на уровень 5.

Уровень 1: здоровье системы

Первый вопрос всегда: всё ли работает?

$ orkestra system status
on
{
  "agents": 40,
  "skills_internal": 466,
  "skills_vendor": 240,
  "skills_total": 706,
  "commands": 17
}

Одна команда. Четыре цифры. Достаточно, чтобы знать, что система настроена, а реестры заполнены.

Если число агентов неожиданно падает или скиллы не загружаются, вы увидите это здесь первым делом. Не нужно нырять в логи.

Уровень 2: инвентарь агентов

Как только вы знаете, что система здорова, следующий вопрос: что доступно?

$ orkestra agents list

Это возвращает структурированные данные — имена агентов, описания, предпочтения по модели, покрытие доменов. По умолчанию вывод в JSON, что легко направить через пайп в jq для фильтрации:

$ orkestra agents list | jq '.agents[] | select(.model == "opus") | .name'

Нужны агенты, которые занимаются работой с БД? Команда поиска сужает круг:

$ orkestra agents search "database"

Это сканирует имена, описания и возможности. Вы находите нужного специалиста, не читая 40 определений агентов.

Уровень 3: глубокое погружение в агента

Нашли агента, который выглядит подходящим? Команда info раскрывает всё:

$ orkestra agents info architecture-advisor

Вывод включает:

  • Метаданные: имя, категорию, предпочтение по модели, описание
  • Домены: какие области знаний покрывает этот агент
  • Identity: черты характера (architect, strategist, knowledge-architect)
  • Руководства по инструментам: какая документация по инструментам внедряется в контекст
  • Инструменты: полный список MCP-инструментов, доступных этому агенту

Вот пример того, что вы увидите:

on
{
  "metadata": {
    "name": "architecture-advisor",
    "model": "opus",
    "description": "Strategic decision-making and architectural guidance..."
  },
  "domains": [
    "product",
    "development/architecture",
    "meta/strategy"
  ],
  "tools": {
    "mcp_tools": [
      "mcp__maguyva__intelligent_search",
      "mcp__maguyva__analyze_dependencies",
      "mcp__supabase__execute_sql",
      ...
    ]
  }
}

Это точно говорит вам, что может делать агент. Исходный код не требуется.

Уровень 4: археология решений

Агенты ведут себя согласно задокументированным решениям. Когда вам нужно понять, почему что-то работает именно так, реестр решений — источник истины.

$ orkestra decisions search "agent"

Это возвращает совпадающие архитектурные решения:

on
{
  "results": [
    {
      "id": "DEC-SR-049",
      "title": "AI-Agent-First Defaults with Graph Intelligence",
      "domain": "search",
      "status": "active"
    }
  ]
}

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

$ orkestra decisions info DEC-SR-049
on
{
  "id": "DEC-SR-049",
  "title": "AI-Agent-First Defaults with Graph Intelligence",
  "summary": "Changes default values for search tools to AI-agent-optimal behavior...",
  "rationale": [
    "AI agents work better with pre-ranked, importance-weighted results",
    "Graph metrics already computed by pipeline - leverage them",
    "Community context helps agents understand feature scope in single query"
  ],
  "source_commits": [
    {
      "sha": "156a880d05eae295669ef7c194b039023f245511",
      "message": "feat(maguyva): enable boost_by_importance..."
    }
  ]
}

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

Уровень 5: прямой интеллектуальный анализ кода

Когда вам нужно увидеть реальную реализацию — а не метаданные о ней, — MCP-инструменты Maguyva дают прямой доступ.

Изнутри сессии агента:

mcp__maguyva__intelligent_search
  query: "agent context loading"

Это автоматически маршрутизирует между семантическим, текстовым и AST-поиском, чтобы найти релевантный код. Для конкретных символов:

mcp__maguyva__find_symbol
  symbol_name: "load_agent_context"

Для анализа зависимостей:

mcp__maguyva__analyze_dependencies
  target: "packages/orchestration/core/agents.py"

Это не просто замена grep. Они осведомлены о графе, семантически индексированы и интегрированы с тем же интеллектуальным анализом кода, который питает самих агентов.

Единый поиск по реестрам

Иногда вы не знаете, в каком реестре хранится ответ. Единый поиск охватывает всё:

$ orkestra search "database" --summary
on
{
  "query": "database",
  "total": 254,
  "counts": {
    "agents": 40,
    "skills": 59,
    "decisions": 476,
    "truths": 2,
    "packages": 1
  }
}

254 совпадения по пяти реестрам. Сводка подсказывает, куда углубиться. Уберите --summary для детальных результатов или добавьте --limit 5, чтобы вывод оставался управляемым.

Почему это важно

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

Отладка становится посильной. Когда агент принимает неожиданное решение, вы не грепаете логи. Вы проверяете, к каким инструментам у него есть доступ (agents info), какие решения формируют его поведение (decisions search), и при необходимости прослеживаете реализацию (intelligent_search).

Онбординг ускоряется. Новым участникам команды не нужно читать всю кодовую базу. Они начинают с system status, исследуют с agents list и углубляются только тогда, когда натыкаются на что-то непонятное.

Документация остаётся актуальной. Поскольку CLI читает из тех же реестров, которые конфигурируют агентов, вывод всегда точен. Нет расхождения между тем, что говорит документация, и тем, что делает система.

CLI как интерфейс

Мы могли бы построить веб-дашборд. Мы могли бы написать обширную документацию. Вместо этого мы построили CLI, который читает из источника истины.

У CLI есть преимущества:

  • Компонуемость: пропускайте вывод через пайп в jq, интегрируйте со скриптами
  • Скриптуемость: автоматизируйте проверки, генерируйте отчёты
  • Скорость: никаких загрузок страниц, никаких потоков аутентификации
  • Точность: читает реальную конфигурацию, а не кешированное представление

Для систем, где корректность важнее эстетики, побеждает CLI.

Как построить своё прогрессивное раскрытие

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

  1. Начните с проверок здоровья. Одна команда, которая говорит, работает ли всё.
  2. Предоставьте инвентарные представления. Перечислите, что существует, прежде чем объяснять, что оно делает.
  3. Обеспечьте целевые запросы. Поиск побеждает просмотр в масштабе.
  4. Раскройте происхождение. Дайте пользователям проследить решения до их истоков.
  5. Подключитесь к интеллектуальному анализу кода. В конце концов, пользователям нужно увидеть реализацию.

Каждый слой отвечает на следующий вопрос. Стройте их в порядке частоты — большинство пользователей останавливаются на слое 2 или 3. Только продвинутые пользователи доходят до слоя 5.

Цель не в том, чтобы раскрыть всё. Цель в том, чтобы раскрыть ровно то, что нужно, ровно тогда, когда это нужно. Это и есть прогрессивное раскрытие, применённое к архитектуре агентов.

Похожие материалы

Ещё из журнала разработки Maguyva

Почему мы обновили поиск по коду до voyage-4-large_

Мы перевели эмбеддинги кода на voyage-4-large — модель, которая сейчас возглавляет публичный рейтинг RTEB по поиску кода. Честная версия: какой компромисс мы принимаем, что мы на самом деле индексируем и почему платим за премиальные эмбеддинги.

[Эмбеддинги][Поиск][Архитектура]

Рекурсивное самосовершенствование языков: шлифуем интеллектуальный анализ кода на ~280 языках_

Мы поддерживаем интеллектуальный анализ кода для ~280 языков. Ни один человек не может вручную проверить это. Поэтому мы построили цикл рекурсивного самосовершенствования языков — выборочная проверка, LLM в роли судьи, исправление одной вещи, повторная валидация — и прогоняем его флотом изолированных агентов, пока извлечение не станет по-настоящему верным, а не просто «зелёным».

[Архитектура][Языки][Агенты]

Мультимодальный фьюжн-поиск: выбор правильного ретривера для каждого запроса_

Запрос вроде «где определён parseConfig» требует другого поиска, чем «как работает аутентификация». Maguyva классифицирует намерение, соответствующим образом взвешивает четыре модальности поиска и сливает результаты с помощью взвешенного Reciprocal Rank Fusion.

[Поиск][Архитектура]