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
@@ -15,9 +15,13 @@
|
||||
и его конфигурацию.
|
||||
|
||||
- **Управляемая стоимость.** Хост видит агентов из `~/.codex/agents` или
|
||||
`.codex/agents` и позволяет выбрать агента по имени. Вызывай именованную
|
||||
роль; модель и глубину рассуждений закрепляй в её TOML-файле. Не наследуй
|
||||
плавающие настройки мастер-сессии для роли с известным бюджетом.
|
||||
`.codex/agents` и схема `spawn_agent` открывает `agent_type`, `model` и
|
||||
`reasoning_effort`. Для TOML-роли передавай `agent_type`, а модель и
|
||||
глубину бери из её файла. Для разового выбора передавай `model` и
|
||||
`reasoning_effort` без пользовательской роли с закреплённой моделью.
|
||||
Плейбук использует `fork_turns="none"` ради чистого контекста. Технически
|
||||
ограниченный fork числом тоже допускает переопределения; только полный
|
||||
fork `all` наследует модель мастера и отклоняет их.
|
||||
- **Неуправляемая стоимость.** Интерфейс запуска принимает только задачу и
|
||||
имя треда. Передавай роль мандатом в промпте, но не утверждай, что выбрана
|
||||
дешёвая или сильная модель. `task_name` — идентификатор треда, а не выбор
|
||||
@@ -26,6 +30,38 @@
|
||||
Если способ выбора роли не виден в доступном инструменте, считай стоимость
|
||||
неуправляемой и отметь это в итоговом отчёте.
|
||||
|
||||
Вызов TOML-роли:
|
||||
|
||||
```json
|
||||
{
|
||||
"task_name": "explore_code",
|
||||
"message": "Исследуй код и верни выжимку по договору роли.",
|
||||
"fork_turns": "none",
|
||||
"agent_type": "explorer"
|
||||
}
|
||||
```
|
||||
|
||||
Разовый выбор модели без TOML-роли с закреплёнными настройками:
|
||||
|
||||
```json
|
||||
{
|
||||
"task_name": "explore_code",
|
||||
"message": "Исследуй код и верни выжимку по договору результата.",
|
||||
"fork_turns": "none",
|
||||
"model": "<быстрая модель>",
|
||||
"reasoning_effort": "medium"
|
||||
}
|
||||
```
|
||||
|
||||
Не смешивай режимы: роль применяется отдельным слоем конфигурации и может
|
||||
перекрыть прямые параметры. `service_tier` передавай только по явному запросу;
|
||||
он технически совместим и с полным fork. Если TOML-роль закрепляет
|
||||
`service_tier`, значение роли перекрывает аргумент вызова; для гарантированного
|
||||
разового tier используй роль без закреплённого tier.
|
||||
|
||||
Основание: [официальная документация о субагентах](https://learn.chatgpt.com/docs/agent-configuration/subagents)
|
||||
и [актуальная схема `spawn_agent`](https://github.com/openai/codex/blob/main/codex-rs/core/src/tools/handlers/multi_agents_spec.rs).
|
||||
|
||||
## Выбор уровня
|
||||
|
||||
| Уровень | Для чего | Настройка |
|
||||
@@ -97,6 +133,8 @@
|
||||
`workspace-write`, запретить правки исходников мандатом и сверить Git до и
|
||||
после. Доступ к сети проверять отдельно: право записи не гарантирует поиск и
|
||||
доступ к документации. Непроверенную внешнюю механику отмечать как гипотезу.
|
||||
Для длинного или повторно используемого индекса нужен доступ на запись в
|
||||
обменный каталог; иначе вернуть короткий индекс один раз сообщением.
|
||||
|
||||
### `verifier`
|
||||
|
||||
@@ -123,7 +161,8 @@ developer_instructions = """
|
||||
```
|
||||
|
||||
Не подменяй выбор роли совпадением `task_name` с её именем: это работает
|
||||
только при явной гарантии хоста.
|
||||
только при явной гарантии хоста. После добавления или изменения TOML начни
|
||||
новую сессию и проверь, что имя роли появилось в описании `agent_type`.
|
||||
|
||||
## Пределы параллельности
|
||||
|
||||
|
||||
Reference in new issue
Block a user