architect/standards/SUPER_AGENT.md

SUPER_AGENT — Универсальный алгоритм AI-агента

⚠️ SUPERSEDED: этот документ заменён 3-process/process-project-processor.md (v1.0.0)
Хранится как исторический эталон. После переноса всех деталей — в архив.

Версия: 1.0.0
Дата: 2026-03-24
Статус: superseded
Тезаурус: SUPER_AGENT_THESAURUS.md


1. ФУНДАМЕНТ

1.1 Определение

Супер-агент — не отдельная роль. Это рекурсивный протокол: одна функция, работающая на любом уровне глубины, с тремя реестрами общей памяти.

1.2 Две независимые рекурсии

РЕКУРСИЯ ЗАДАЧ    — задача логически сложная → делим на подзадачи
                    дерево по смыслу, глубина не ограничена
                    параллельность где нет зависимостей

РЕКУРСИЯ БЛОКОВ   — задача слишком большая для контекста → делим на части
                    последовательные куски, каждый самодостаточен
                    НЕ смешивать с рекурсией задач

1.3 Три реестра общей памяти

TEMPLATE_REGISTRY   — паттерны решений (JIT-компиляция задач)
AGENT_REGISTRY      — иерархия агентов с метриками здоровья
TOOL_REGISTRY       — инструменты: статус, интерфейс, покрытие тестами

2. ГЛАВНЫЙ АЛГОРИТМ

Одна функция. Применяется на любом уровне глубины.

SUPER_AGENT(task, context):

  [S1] CONTEXT_CHECK
        оценить размер задачи
        если > CONTEXT_LIMIT * 0.7: BLOCK_DECOMPOSE(task)  выполнять блоками

  [S2] MATCHER
        поиск в TEMPLATE_REGISTRY по типу и структуре задачи
        точное совпадение:   БЫСТРЫЙ ПУТЬ (инстанцировать шаблон)
        частичное:           БЫСТРЫЙ ПУТЬ + дополнить
        нет совпадения:      МЕДЛЕННЫЙ ПУТЬ

  [S3] ANALYZE  (только МЕДЛЕННЫЙ ПУТЬ)
        тип задачи (code / docs / ops / data / design / test / meta)
        размер: atomic или требует декомпозиции
        зависимости от других задач
        уровень риска: LOW / MEDIUM / HIGH / CRITICAL

  [S4] CLARIFY
        режим A: вопросы к оператору (бизнес-решения, приоритеты)
        режим B: агент-критик параллельно (техническая корректность)
        режим C: cross-LLM валидация (только HIGH_RISK и CRITICAL)
        повторять пока AMBIGUITY_SCORE = 0 и CONFLICT_SCORE = 0

  [S5] DECOMPOSE  (если не atomic)
        разбить на подзадачи
        определить зависимости между ними
        оценить возможность параллельного выполнения

  [S6] RESOLVE
        для каждой подзадачи найти агента:
           точное совпадение в AGENT_REGISTRY   использовать
           частичное совпадение (70%)          INHERIT + расширить
           нет совпадения                       CREATE_AGENT (мета-задача рекурсивно)
        для каждого агента найти инструменты:
           есть в TOOL_REGISTRY   использовать
           нет                    CREATE_TOOL (мета-задача рекурсивно)  добавить в реестр

  [S7] EXECUTE
        PUSH_STACK(task, context)        сохранить позицию
        child_ctx = INHERIT(context, task)   передать только нужное
        запустить подзадачи:
           параллельно где нет зависимостей
           последовательно где есть
        каждая подзадача: SUPER_AGENT(subtask, child_ctx)   рекурсия
        POP_STACK()                      вернуться

  [S8] STEP_VERIFY  (после каждого EXECUTE)
        anti-hallucination: запустить в sandbox, проверить реальный вывод
        no-hardcode: статический анализ на магические значения
        diff-spec: что в спеке не покрыто? что лишнее?
        CONFIDENCE_SCORE = вычислить (см. блок 4)
        действие по порогу (см. блок 4)

  [S9] INTEGRATE
        собрать результаты подзадач
        CHECKPOINT(task, result)
        context = MERGE(context, result)
        сохранить шаблон в TEMPLATE_REGISTRY если МЕДЛЕННЫЙ ПУТЬ
        вернуть result

3. СТЕК КАК ИЕРАРХИЯ ПАПОК

3.1 Структура

stack/
  000_root.yaml                    ← глобальный контекст проекта
  001_catalog/
    task.yaml                      ← задача + позиция + что осталось
    002_product_model/
      task.yaml
      003_validation/
        task.yaml                  ← ТЕКУЩИЙ УРОВЕНЬ

3.2 Операции

PUSH(task, ctx)  → mkdir NNN_name/ → записать task.yaml → войти
POP()            → прочитать родительский task.yaml → выйти наверх
RESUME()         → найти самую глубокую незавершённую папку → продолжить

3.3 Формат task.yaml

id: "NNN_name"
depth: N
status: pending | in_progress | completed | blocked
task:
  type: code | docs | ops | data | design | test | meta
  description: "..."
  risk: low | medium | high | critical
context:
  inherited: [ключи из родительского контекста]
  local: {данные текущего уровня}
remaining_subtasks: [список незавершённых]
confidence_score: 0.0
divergence_log: []

3.4 Политика архивирования

Завершённая ветка → через 30 дней → переместить в stack/archive/YYYY-MM/
Активные → никогда не удалять автоматически

4. ОЦЕНКА ТОЧНОСТИ (CONFIDENCE)

4.1 Формула

CONFIDENCE_SCORE = weighted_average(
  completeness    * 0.25,   ← всё из спеки покрыто?
  consistency     * 0.20,   ← нет внутренних противоречий?
  grounding       * 0.20,   ← каждый факт имеет источник?
  test_pass_rate  * 0.25,   ← % пройденных тестов
  n_version_match * 0.10    ← совпадение N независимых решений
)
→ результат: 0.0 — 1.0

4.2 Пороги и действия

≥ 0.85              PROCEED — продолжить нормально
0.60 – 0.84         PROCEED_UNCERTAIN — продолжить + запустить RESEARCHER фоном
0.40 – 0.59         PAUSE — исследовать глубже, параллельные ветки продолжают работу
< 0.40              STOP + ESCALATE к оператору
CONFLICT_SCORE > 0  ESCALATE немедленно (независимо от confidence)

4.3 N-версионное решение

Применяется только для HIGH_RISK и CRITICAL:

N = 2  для HIGH_RISK
N = 3  для CRITICAL

Каждое решение: независимый агент, разный подход
Консенсус: совпадение ≥ ⌈N/2⌉ + 1 для принятия
Расхождение: место расхождения = зона риска → CLARIFY

4.4 Параллельное выполнение при блокировке

Задача заблокирована (ESCALATE / PAUSE):
   определить независимые ветки дерева задач
   продолжить их выполнение параллельно
   RESEARCHER запущен фоном  ищет ответ
   разблокировка: оператор ответил ИЛИ RESEARCHER нашёл  MERGE  продолжить

5. HUMAN OVERRIDE И САМОУЛУЧШЕНИЕ

5.1 Обработка переопределения

Оператор принял решение противоречащее рекомендации агента:
  1. Принять решение оператора  выполнить немедленно
  2. Записать в DIVERGENCE_LOG:
       {task_type, task_id, ai_decision, ai_confidence,
        human_decision, human_reason, timestamp}
  3. Продолжить работу

5.2 Триггер улучшения

IMPROVEMENT_TRIGGER если:
  DIVERGENCE_LOG[task_type].count >= THRESHOLD (по умолчанию: 3)
  ИЛИ
  BLOCK_HEALTH метрики: любые 2 в красной зоне одновременно

5.3 Алгоритм улучшения блока

IMPROVE(block_type):
  1. Собрать все случаи расхождения для block_type
  2. Найти паттерн: где AI систематически ошибается?
  3. Сформулировать гипотезу улучшения шаблона
  4. Обновить TEMPLATE в TEMPLATE_REGISTRY (версионирование!)
  5. Регрессия: прогнать исторические задачи с новым шаблоном
  6. Сравнить метрики:
       улучшилось  принять  обновить реестр
       ухудшилось  откат шаблона  ESCALATE архитектору

6. МЕТРИКИ ЗДОРОВЬЯ БЛОКА

BLOCK_HEALTH = {
  override_rate:     % задач где оператор переопределил AI
  rollback_rate:     % задач где пришлось откатиться
  verify_fail_rate:  % задач не прошедших VERIFY с первого раза
  confidence_avg:    средний CONFIDENCE_SCORE
  time_deviation:    отклонение реального времени от оценки
}

Интерпретация (красная зона):

override_rate     > 30%  → AI не понимает предметную область
rollback_rate     > 20%  → шаблон ненадёжный
verify_fail_rate  > 25%  → критерии готовности неправильные
confidence_avg    < 0.60 → задачи типа слишком неопределённые
time_deviation    > 2.0x → декомпозиция неточная

7. ИЕРАРХИЯ АГЕНТОВ

7.1 Структура (наследование)

BASE_AGENT
  analyze(), clarify(), execute(), verify(), report()

├── ORCHESTRATOR_AGENT      декомпозиция + делегирование
     decompose(), spawn(), integrate()

├── EXECUTOR_AGENT          атомарное выполнение
     ├── CODE_AGENT
          ├── PYTHON_AGENT   (+ python_tools)
          ├── GO_AGENT       (+ go_tools)
          └── JS_AGENT       (+ js_tools)
     ├── DOCS_AGENT
     ├── OPS_AGENT
     └── DATA_AGENT

├── VERIFIER_AGENT          проверка + автоисправление
     verify(), auto_fix(), escalate()
     ├── TEST_AGENT          (unit, integration, e2e)
     ├── CHAOS_AGENT         (personas, failure simulation)
     └── SECURITY_AGENT      (xss, sqli, auth)

├── RESEARCHER_AGENT        поиск информации фоном
     search(), synthesize(), score_source()

└── BUILDER_AGENT           создание недостающих инструментов
      analyze_gap(), build_tool(), register_tool()

7.2 Правило наследования

Нужен агент для задачи X?
  → Найти ближайший в AGENT_REGISTRY по capabilities
  → Совпадение ≥ 70%: INHERIT(parent) + добавить только отличие
  → Совпадение < 70%: CREATE_AGENT с нуля
  → Не создавать дубли: проверить реестр ДО создания

8. КОНТРОЛЬ КАЧЕСТВА

8.1 STEP_VERIFY (встроен в каждый шаг)

[V0] Синтаксис/запуск     работает? (sandbox execution)
[V1] Контракт             соответствует спеке?
[V2] Граничные случаи     пустой ввод, null, max, min?
[V3] Зависимости          не сломал соседей?
[V4] Hardcode detector    нет магических значений?
[V5] Diff-spec            покрытие 100%? лишнего нет?

8.2 PASS 3: Тотальное тестирование (после полного EXECUTE)

L1  UNIT          — каждая функция изолированно
L2  INTEGRATION   — блоки вместе, стыки
L3  E2E           — полные пользовательские сценарии
L4  PERSONAS      — expert, novice, hostile, distracted, impatient, mobile
L5  CHAOS         — infra, network, data, deps, concurrency, time
L6  LOAD          — под нагрузкой

8.3 PASS 4: HARDEN

Исправить всё найденное в PASS 3
→ повторить VERIFY_ALL
→ пока ISSUES = 0

9. MULTI-LLM ВЕРИФИКАЦИЯ

9.1 Принцип

Использовать внешние LLM как независимых верификаторов — особенно для HIGH_RISK задач. Применять бесплатные тарифы по максимуму.

9.2 Источники верификации

TIER_FREE:                         (использовать в первую очередь)
  Google Gemini Flash    — бесплатный, быстрый, хорош для анализа
  Mistral (free tier)    — хорош для кода
  Groq (free tier)       — очень быстрый inference

TIER_PAID:                         (только для CRITICAL)
  Claude Opus            — архитектурные решения
  GPT-4                  — cross-validation

9.3 Протокол Cross-LLM валидации

1. Отправить задачу + результат в N внешних LLM с промптом:
   "Найди противоречия, пробелы, ошибки, галлюцинации в этом решении"

2. Собрать ответы

3. Анализ:
   проблема найдена всеми     CRITICAL, исправить обязательно
   проблема найдена частью    WARN, рассмотреть
   уникальная у одного LLM    на рассмотрение оператора

4. Экономия:
   бесплатные тарифы  использовать всегда для HIGH_RISK
   платные            только CRITICAL или если бесплатные не справились

9.4 Ротация аккаунтов

ACCOUNT_POOL: список аккаунтов по провайдерам
Политика ротации:
   использовать аккаунт пока не исчерпан лимит
   переключиться на следующий
   вести статистику использования
   уведомить оператора если все лимиты исчерпаны

Хранение: infra/SECRETS.md (credentials) + system/config/llm-pool.yaml (конфиг)

10. JIT-КОМПИЛЯЦИЯ ПАТТЕРНОВ

10.1 МЕДЛЕННЫЙ vs БЫСТРЫЙ путь

Первая встреча с типом задачи X:
  МЕДЛЕННЫЙ ПУТЬ: полный цикл S1-S9
  → в конце: сохранить ШАБЛОН_X в TEMPLATE_REGISTRY

Повторная встреча с похожей задачей:
  БЫСТРЫЙ ПУТЬ: MATCHER нашёл → инстанцировать → выполнить
  → пропустить ANALYZE + DECOMPOSE
  → только CLARIFY (параметры изменились?) + EXECUTE + VERIFY

10.2 Формат шаблона

template_id: "catalog_crud"
task_type: code
capabilities: [crud, rest_api, database]
decomposition:
  - {subtask: "model", agent: CODE_AGENT, tools: [db_tool]}
  - {subtask: "api", agent: CODE_AGENT, tools: [http_tool]}
  - {subtask: "tests", agent: TEST_AGENT, tools: [test_runner]}
parameters: [entity_name, fields, db_type]
health:
  usage_count: 0
  success_rate: 0.0
  avg_confidence: 0.0

10.3 Фоновая оптимизация

PROFILER  → наблюдать: частота, скорость, откаты по каждому шаблону
OPTIMIZER → улучшать горячие пути (только после 10+ успешных использований)
PRUNER    → архивировать если usage_count = 0 за 90 дней
IMPROVER  → по IMPROVEMENT_TRIGGER обновлять шаблоны с версионированием

11. СТАНДАРТНЫЕ ФУНКЦИИ (библиотека)

// Управление деревом задач
DECOMPOSE(task)            subtasks[]
ATOMIC(task)               bool
INTEGRATE(results[])       result
BLOCK_DECOMPOSE(task)      blocks[]   (по размеру контекста)

// Управление контекстом
INHERIT(ctx, subtask)      child_ctx  (только нужное)
CACHE(ctx)                 summary    (сжатие для передачи)
MERGE(ctx, result)         updated_ctx
PUSH_STACK(task, ctx)      void
POP_STACK()                (task, ctx)

// Качество
CLARIFY(task, ctx)         validated_task
VERIFY(result, criteria)   pass | issues[]
STEP_VERIFY(result)        {v0..v5}
EXECUTE(task, ctx)         result

// Реестры
MATCHER(task)              template | null
RESOLVE_AGENT(task)        agent
RESOLVE_TOOLS(task)        tools[]

// Восстановление и обучение
ROLLBACK(task)             void
CHECKPOINT(task, result)   void
IMPROVE(block_type)        updated_template

ССЫЛКИ


Версия: 1.0.0
Статус: draft — ожидает уточнения вопросов 1-4