- Зачем: третий круг ревью Astra и отзыв DeepSeek нашли пробелы в разборе находок, вердикте и адаптере T3. - Что: продолжение кругов в T3 оставлено основным путём с оговоркой, что это расходится с замыслом авторов T3, и с разрешённым запасным путём; резолюции пишутся файлом; вердикт связан с тяжестью находок; добавлены проверка «работа или отписка» в T3, повод для свежего ревьюера при переработке версии, независимость параллельных ревьюеров и заметка о памяти Codex. - Проверка: схемы t3_thread_configure и t3_thread_read сверены, вид activity проверен на реальном разговоре; ссылки проверены скриптом. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
101 lines
6.4 KiB
Markdown
101 lines
6.4 KiB
Markdown
# Запуск через T3 Code
|
||
|
||
Для автора, который работает внутри T3 Code и видит инструменты
|
||
`orchestrator_capabilities` и `delegate_task` (имена могут идти с префиксом
|
||
вроде `mcp__t3-code__`). Приложение само следит за дочерней задачей, будит
|
||
тебя по её завершении, а пользователь видит ход ревью в отдельном разговоре.
|
||
Проверено 2026-10-17: Claude → Codex.
|
||
|
||
## Выбор модели
|
||
|
||
Модель и глубину выбирай по адаптеру семейства ревьюера:
|
||
[Codex](launch-codex.md#первый-запуск) или
|
||
[Claude](launch-claude.md#первый-запуск). Вызови `orchestrator_capabilities`,
|
||
найди у нужного провайдера эту модель (`providerInstanceId`, `model`) и
|
||
проверь, что она есть в списке. Ключ глубины у провайдеров разный —
|
||
смотри `options` модели: у Codex это `reasoningEffort`, у Claude —
|
||
`effort`.
|
||
|
||
## Запуск
|
||
|
||
Собери `prompt.md` так же, как для командной строки, и передай его путь:
|
||
|
||
```json
|
||
{
|
||
"task": "Прочитай /tmp/…/prompt.md и выполни.",
|
||
"target": {
|
||
"providerInstanceId": "codex",
|
||
"model": "<model>",
|
||
"options": { "reasoningEffort": "high" }
|
||
},
|
||
"role": "review",
|
||
"mode": "async",
|
||
"title": "cross-review: <что проверяем>",
|
||
"clientRequestId": "<уникальный id этого раунда>"
|
||
}
|
||
```
|
||
|
||
- **`isolation` не задавай** (по умолчанию — общий checkout). Отдельный
|
||
worktree строится от последнего коммита, и незакоммиченные правки
|
||
ревьюер не увидит.
|
||
- **`runtimeMode` не задавай.** Режимы с подтверждением остановят ревьюера
|
||
на первом же действии и будут ждать человека в его разговоре. Ограничения
|
||
задаёт мандат в поручении.
|
||
- После запуска заверши ход: уведомление о завершении придёт само.
|
||
`task_status` нужен, только если результат требуется посреди хода.
|
||
- Итоговое сообщение ревьюера приходит в `summary`; полный отчёт — в файле
|
||
`REPORT`.
|
||
- Вердикт без находок проверь по активности разговора: `t3_thread_read` с
|
||
`view: "activity"` показывает выполненные команды (`command_execution`).
|
||
Голое APPROVED без команд — отписка, перезапускай.
|
||
|
||
## Следующие круги
|
||
|
||
Следующие круги — узкую перепроверку и полный проход по новой версии —
|
||
отправляй тому же ревьюеру, в его дочерний разговор, когда предыдущая
|
||
задача уже завершилась. Это `t3_thread_send`:
|
||
|
||
```json
|
||
{
|
||
"threadId": "<childThreadId из ответа delegate_task>",
|
||
"message": "Прочитай /tmp/…/recheck-prompt.md и выполни.",
|
||
"mode": "auto",
|
||
"clientRequestId": "<уникальный id этого круга>"
|
||
}
|
||
```
|
||
|
||
- В дочернем разговоре появляется новая задача со своим `taskId`; по
|
||
завершении она будит тебя так же, как исходная. Ребёнок помнит свои
|
||
прошлые ходы (проверено 2026-10-17 на Codex).
|
||
- Модель, глубина и режим остаются от исходной задачи. Модель и глубину
|
||
можно сменить через `t3_thread_configure`, но это сбрасывает кэш и
|
||
отчасти обесценивает продолжение — оставляй как есть.
|
||
- `childThreadId` запиши в реестр сразу после запуска ревью: разговор
|
||
хранит T3, но его id нужен тебе.
|
||
- Что положить в поручение круга — в разделе «Следующие круги» SKILL.md.
|
||
|
||
Свежий ревьюер — новый `delegate_task` с новым `clientRequestId`. Когда он
|
||
нужен — там же, в SKILL.md. Тем же путём иди, если продолжить разговор не
|
||
удалось или системные инструкции T3 для тебя обязательны (о них ниже). В
|
||
поручение свежей задачи положи пути к исходному `prompt.md`, отчёту
|
||
ревьюера и своим резолюциям.
|
||
|
||
Системные инструкции T3 и описание `t3_thread_send` говорят об этом
|
||
по-разному. Первые считают каждый круг ревью независимым: новый
|
||
`delegate_task`, без продолжения через `t3_thread_send`. Второе оставляет
|
||
`delegate_task` независимым кругам, а продолжение, которому нужен разговор
|
||
того же ребёнка, отправляет в `childThreadId`. Этот скилл считает следующие
|
||
круги продолжением: ревьюер работает по уже набранному контексту, это
|
||
дешевле и глубже. В прогонах 2026-10-17 круги-продолжения шли в 2–4 раза
|
||
быстрее первого захода.
|
||
|
||
Это расходится с замыслом авторов T3 и сделано сознательно: владелец скилла
|
||
ставит повторное использование контекста ревьюера выше независимости
|
||
каждого круга. T3 и скилл развиваются; если инструкции T3 изменятся,
|
||
этот выбор стоит пересмотреть.
|
||
|
||
## Затраты
|
||
|
||
T3 сообщает только время выполнения. Токены и стоимость видны в выводе
|
||
командной строки — см. адаптеры Codex и Claude.
|