6.7 KiB
Запуск через T3 Code
Для автора, который работает внутри T3 Code и видит инструменты
orchestrator_capabilities и delegate_task (имена могут идти с префиксом
вроде mcp__t3-code__). Приложение само следит за дочерней задачей, будит
тебя по её завершении, а пользователь видит ход ревью в отдельном разговоре.
Проверено 2026-10-17: Claude → Codex.
Выбор модели
Модель и глубину выбирай по адаптеру семейства ревьюера:
Codex или
Claude. Вызови orchestrator_capabilities,
найди у нужного провайдера эту модель (providerInstanceId, model) и
проверь, что она есть в списке. Ключ глубины у провайдеров разный —
смотри options модели: у Codex это reasoningEffort, у Claude —
effort.
Запуск
Собери prompt.md так же, как для командной строки, и передай его путь:
{
"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:
{
"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.