fix(agents): исправлена оркестрация моделей и контекста
- Зачем: - следующая сессия должна управлять стоимостью субагентов без повторной загрузки длинных отчётов в контекст мастера. - Что: - разделены TOML-роли и разовые переопределения модели, уточнены fork и service tier. - добавлен файловый обмен, жизненный цикл временного каталога и нативные скелеты промптов. - синхронизированы полевые заметки и handoff с проверенной механикой Codex. - Проверка: - quick_validate.py agents/.agents/skills/codex-subagent-playbook. - git diff --cached --check. - независимое ревью: VERDICT: APPROVED.
This commit is contained in:
1 parent
0d2fc9af65
commit
60182ab493
5 files changed
+249
-57
No files matched your search
+33
-6
@@ -11,12 +11,15 @@ Codex и проверит полный конвейер на боевой зад
|
||||
- выбор ролей и уровней — [`../references/roles.md`](../references/roles.md);
|
||||
- перенесённые уроки и открытые проверки —
|
||||
[`../references/field-notes.md`](../references/field-notes.md);
|
||||
- точные договоры нативных агентов —
|
||||
[`../references/prompt-templates.md`](../references/prompt-templates.md);
|
||||
- явный вызов скилла — [`../agents/openai.yaml`](../agents/openai.yaml).
|
||||
|
||||
Нативные TOML-роли ещё не созданы. В текущем интерфейсе `spawn_agent` роль,
|
||||
модель и глубина рассуждений не выбираются явно, поэтому первый пробный
|
||||
прогон использовал роли только как мандаты в промпте и честно пометил
|
||||
стоимость как неуправляемую.
|
||||
Нативные TOML-роли ещё не созданы. В интерфейсе пробной tool-backed сессии
|
||||
хост скрыл поля `agent_type`, `model`, `reasoning_effort` и `service_tier`,
|
||||
поэтому прогон использовал роли только как мандаты в промпте и честно
|
||||
пометил стоимость как неуправляемую. Это не общее ограничение Codex:
|
||||
нативная схема поддерживает все четыре поля.
|
||||
|
||||
## Принятые решения
|
||||
|
||||
@@ -27,9 +30,20 @@ Codex и проверит полный конвейер на боевой зад
|
||||
`policy.allow_implicit_invocation: false` в `openai.yaml`.
|
||||
- Модели закрепляются в файлах ролей, а не в `SKILL.md`, чтобы процесс не
|
||||
зависел от смены модельной линейки.
|
||||
- Для TOML-роли передаётся `agent_type`; для разового выбора — `model` и
|
||||
`reasoning_effort` без роли с закреплённой моделью. Плейбук использует
|
||||
`fork_turns="none"` ради чистого контекста; полный fork `all` наследует
|
||||
модель мастера.
|
||||
- Один агент владеет рабочим деревом. До записи сохраняется точка отсчёта,
|
||||
включая хэши неотслеживаемых файлов.
|
||||
- Критичный отчёт ревьюера возвращается сообщением и сохраняется в `/tmp`.
|
||||
- Полный отчёт ревьюера сохраняется файлом; сообщение содержит только
|
||||
вердикт, счётчики и путь. `read-only`-ревьюер возвращает короткий индекс
|
||||
один раз сообщением.
|
||||
- На прогон создаётся один обменный временный каталог. Полные отчёты и
|
||||
повторно используемые промпты передаются между агентами путями; мастер не
|
||||
вставляет их повторно в tool-call.
|
||||
- После завершения или сохранения блокирующего handoff обменный каталог
|
||||
этого прогона удаляется.
|
||||
- Нативный конвейер не зависит от вложенного запуска `codex exec`.
|
||||
|
||||
## Что проверено
|
||||
@@ -58,9 +72,15 @@ Codex и проверит полный конвейер на боевой зад
|
||||
проверить смысловые договоры ролей, повторную установку, стороннюю роль и
|
||||
конфликт совпадающего имени.
|
||||
6. Проверить обнаружение ролей установленным Codex CLI в отдельном
|
||||
`CODEX_HOME`. Синтаксический разбор TOML не доказывает поддержку схемы.
|
||||
`CODEX_HOME`. Затем начать новую сессию и проверить, что её схема
|
||||
`spawn_agent` открывает `agent_type`, `model`, `reasoning_effort` и
|
||||
`service_tier`.
|
||||
Синтаксический разбор TOML не доказывает поддержку схемы.
|
||||
7. Прогнать этапы 3–7 на подходящей задаче, обновить полевые заметки только
|
||||
подтверждёнными фактами и убрать поглощённый осадок.
|
||||
8. Измерить, сколько длинных отчётов реально попало в контекст мастера.
|
||||
Цель — каждый полный артефакт читается не более одного раза и больше не
|
||||
пересказывается между агентами.
|
||||
|
||||
## Известные ловушки
|
||||
|
||||
@@ -71,8 +91,15 @@ Codex и проверит полный конвейер на боевой зад
|
||||
от сохранённой точки отсчёта, не очищать и не включать их в коммиты.
|
||||
- `task_name` нативного `spawn_agent` — имя треда, а не доказанный выбор
|
||||
пользовательской конфигурации агента.
|
||||
- Полный fork `all` несовместим с другой ролью, моделью и глубиной. Плейбук
|
||||
использует `none` для свежего контекста; ограниченный fork числом
|
||||
технически допускает переопределения.
|
||||
- Некоторые tool-backed хосты скрывают поля управления моделью, хотя Codex
|
||||
их поддерживает. Проверять фактическую схему в начале сессии.
|
||||
- Права `workspace-write` не гарантируют сеть. Проверку документации и поиск
|
||||
отмечать как непроверенные, если сеть недоступна.
|
||||
- Длинный текст в `spawn_agent`, `send_message` или `followup_task` остаётся
|
||||
в истории мастера. Передавать путь к файлу и короткий вопрос.
|
||||
|
||||
## Suggested skills
|
||||
|
||||
|
||||
Reference in new issue
Block a user