Дата: 2026-03-30 Автор: Coordinator (AI) Статус: 🔬 RES — В процессе Parent HL: HL-TFW-11
Проектируем стадию RESEARCH для TFW-пайплайна: артефакт, воркфлоу, шаблон, интеграцию. Нужно определить внутреннюю структуру RESEARCH-процесса, формат цикла, и конкретные секции RES-шаблона.
| # | Решение | Обоснование |
|---|---|---|
| D1 | RES-артефакт: summary сверху + лог этапов ниже (вариант C) | Удобно для AI (быстрый доступ к решениям) + полный trace |
| D2 | Standalone RESEARCH создаёт мини-задачу TFW-N |
Единообразие: всё в tasks/, всё на Task Board |
| D3 | Standalone lifecycle: → 🔬 RES → ✅ DONE (или → новая задача) | Нет HL для standalone; если нужна работа — отдельная задача |
| D4 | Role lock: Coordinator | RESEARCH = исследование, не исполнение |
| D5 | TS ссылается на HL + RES | RES дополняет HL, не заменяет |
| D6 | Max 3 вопроса за раз | 5 — слишком разнородно, теряется фокус |
| D7 | RES создаётся сразу при входе в RESEARCH | Пользователь читает параллельно, агент пишет по ходу |
| D8 | 3 этапа: Сбор, Извлечение, Вызов | Академическая аналогия: lit review → data collection → analysis. Покрывает все виды работ |
| D9 | Этапы = чеклист, не строгая последовательность | Агент покрывает все три, порядок по ситуации |
| D10 | Checkpoint после каждого этапа | 3 точки решения вместо одной — раннее закрытие возможно |
| D11 | Терминология: Этап (Stage) + Проход (Pass), без “цикл” | Этап = тематический блок, Проход = все этапы. Просто и однозначно |
| D12 | Один воркфлоу research.md, два входа | Plan inline + standalone /tfw-research. Единая реализация |
| D13 | Read-only AG: лимиты автономной работы | Мягкие: ≤5 веб, ≤15 файлов/этап. Жёсткий: ≤3 вопроса/этап |
| D14 | Настройки RESEARCH в отдельном файле | Все лимиты и параметры в одном месте, легко тюнить |
| D15 | Anti-complexity check — обязательная проверка на переусложнение | См. Цикл 6 |
| D16 | Заключение (Conclusion) в RES — один абзац, самокритично | Итог сессии: что сделано, какая польза |
| # | Вопрос | Статус | Ответ |
|---|---|---|---|
| Q1 | Внутренняя структура RESEARCH: какие этапы? | ✅ | 3 этапа: Сбор → Извлечение → Вызов (чеклист, не строгая последовательность) |
| Q2 | Что такое “цикл” формально? | ✅ | Этап (Stage) = один тематический блок. Проход (Pass) = round-trip по всем этапам. Min 1 проход. |
| Q3 | Read-only автономия агента в RESEARCH | ✅ | Read-only AG: читает код/веб, пишет только в RES. См. D13 для лимитов. |
| Q4 | Inline в plan.md или отдельный /tfw-research |
✅ | Один воркфлоу research.md, два входа (plan inline + standalone) |
| Q5 | Секции RES-шаблона (финальные) | 🔬 Обсуждаем | См. Цикл 5 |
| Q6 | Checkpoint после каждого этапа — формат? | 🔬 Обсуждаем | См. Цикл 5 |
| Q7 | Лимиты автономной работы | ✅ | См. D13 |
Закрыты D1-D5. Определены: вариант C для артефакта, standalone = мини-задача, Coordinator lock, TS→HL+RES.
Закрыты D6-D7. Открыты Q1-Q5 — структура RESEARCH-процесса, цикл, автономия, интеграция.
Пользователь предложил разделить RESEARCH на именованные этапы. Аналогия с академическим research:
| Академический research | TFW-аналог | Что происходит |
|---|---|---|
| Literature review / Related works | Обзор | Внешние источники: документация, блоги, issues, версии библиотек, аналогичные решения |
| Data collection | Извлечение | Внутренние источники: код проекта, соседние проекты, знания в голове пользователя |
| Analysis & Hypotheses | Анализ | Альтернативы, слепые зоны, edge cases, критика, неожиданные сценарии |
Но академический research — линейный. TFW — итеративный. Вопрос: этапы строго последовательные или агент выбирает порядок?
Этап 1: Сбор — “Что мы НЕ знаем?”
Этап 2: Извлечение — “Что мы НЕ ВИДИМ?”
Этап 3: Вызов — “Что мы НЕ ОЖИДАЕМ?”
Q1: Порядок этапов. Я предложил: Сбор → Извлечение → Вызов. Логика: сначала собираем факты, потом вытаскиваем скрытое, потом критикуем имея полную картину. Но можно иначе — например, начать с Вызова, чтобы сразу вскрыть слабые места HL, и только потом собирать информацию прицельно. Как тебе кажется правильнее?
Q2: Жёсткость этапов. Три этапа — это: (A) строгая последовательность, каждый формально закрывается; (B) рекомендуемый порядок, агент может перемешивать по ситуации; (C) чеклист — агент должен покрыть все три, но в любом порядке и не обязательно отдельными блоками?
Q3: Checkpoint — после каждого этапа или только в конце полного прохода? Если после каждого — получаем 3 точки принятия решения (“хватит собирать? хватит извлекать? хватит критиковать?”). Если в конце — один checkpoint на весь проход, но он более весомый.
| Область | Покрыто? |
|---|---|
| Базовые решения (D1-D7) | ✅ |
| Этапы RESEARCH (D8-D10) | ✅ Сбор → Извлечение → Вызов, чеклист, checkpoint после каждого |
Имеем 3 этапа, каждый с checkpoint. Но “минимум 3 цикла” (D6 from HL) — это 3 этапа или 3 полных прохода по всем этапам?
Предложение — переопределить терминологию:
Минимум: агент обязан покрыть все 3 этапа (= 3 цикла минимум). Checkpoint после каждого этапа позволяет пользователю сказать “этот этап закрыт” или “копаем глубже”. Если после первого прохода остались открытые вопросы — второй проход по нужным этапам.
Итого: минимум 3 цикла = минимум 1 полный проход по 3 этапам. Может быть больше, если пользователь хочет углубиться.
| Этап | Автономные действия (без спроса) | Требует подтверждения |
|---|---|---|
| Сбор | Веб-поиск, чтение документации, поиск issues/changelogs | — |
| Извлечение | Чтение кода проекта, grep, анализ артефактов | Чтение соседних проектов (может быть приватно) |
| Вызов | Анализ и рассуждения на основе собранного | — |
Во всех этапах: запись только в RES-файл. Никаких других файлов. Никакого кода.
Это “read-only AG” — агент автономно собирает информацию, но единственный side-effect — обновление RES-артефакта. Формально: CL-режим с расширенными read-правами.
Аргументы за inline (research прямо в plan-сессии):
Аргументы за отдельный /tfw-research:
Компромиссное предложение: одна реализация, два входа.
/tfw-research — единственный воркфлоу (research.md). Но вызвать его можно:
/tfw-research напрямуюРазница только в контексте входа:
Q1: Терминология. Этап/Проход/Цикл — понятно? Или лучше другие названия? Может проще: этап = stage, а “цикл” вообще убрать и говорить “проход”?
Q2: Автономия. Read-only AG с записью только в RES — согласен? Нужно ли ограничение на количество веб-запросов или время автономной работы?
Q3: Один воркфлоу, два входа. Подходит? Или всё-таки хочешь жёстко разделить pipeline-research и standalone-research?
| Область | Покрыто? |
|---|---|
| Базовые решения (D1-D12) | ✅ |
| Терминология | ✅ Этап + Проход |
| Автономия | ✅ Read-only AG, лимиты → Цикл 5 |
| Интеграция | ✅ Один воркфлоу, два входа |
RESEARCH — не бесконечный процесс. Нужны ограничения, но мягкие (рекомендательные, не блокирующие).
| Параметр | Лимит | Тип | Обоснование |
|---|---|---|---|
| Веб-запросы за этап | ≤ 5 | Мягкий | Достаточно для целевого поиска, не превращается в crawling |
| Файлов проекта прочитано за этап | ≤ 15 | Мягкий | Агент должен читать прицельно, не сканировать весь проект |
| Вопросов к пользователю за этап | ≤ 3 | Жёсткий | D6 — уже решено |
| Проходов (passes) | Min 1, рекомендуемый max 3 | Мягкий | После 3 проходов — настоятельная рекомендация сворачивать |
Превышение мягких лимитов: агент сообщает пользователю и продолжает, если пользователь подтвердит.
Каждый этап завершается мини-отчётом в RES:
### Checkpoint: Сбор
| Что найдено | Что осталось |
|-------------|-------------|
| Факт 1 | Пробел 1 |
| Факт 2 | — |
**Оценка агента:** [одно предложение — хватает ли информации по этому этапу]
**Рекомендация:** закрыть этап / углубиться в [конкретная тема]
→ Решение пользователя: ___
Ключевое: агент всегда даёт рекомендацию, но решает пользователь.
На основе всех решений D1-D13:
# RES — {PREFIX}-{N}: {Title}
> **Дата**: YYYY-MM-DD
> **Автор**: {author}
> **Статус**: 🔬 RES — В процессе / Завершён
> **Parent HL**: [HL-{PREFIX}-{N}](path) (если pipeline)
> **Режим**: Pipeline / Standalone
---
## Контекст исследования
Одним абзацем: что исследуем и зачем.
## Решения
| # | Решение | Обоснование |
## Открытые вопросы
| # | Вопрос | Статус | Ответ |
---
## Этап: Сбор — "Что мы НЕ знаем?"
{автономный поиск, факты, пробелы, вопросы к пользователю}
### Checkpoint: Сбор
| Что найдено | Что осталось |
→ Решение пользователя: ___
## Этап: Извлечение — "Что мы НЕ ВИДИМ?"
{анализ проекта, скрытые знания, вопросы к пользователю}
### Checkpoint: Извлечение
| Что найдено | Что осталось |
→ Решение пользователя: ___
## Этап: Вызов — "Что мы НЕ ОЖИДАЕМ?"
{альтернативы, слепые зоны, критика, edge cases}
### Checkpoint: Вызов
| Что найдено | Что осталось |
→ Решение пользователя: ___
---
## Итоговый checkpoint
| Этап | Статус | Ключевые находки |
|------|--------|-----------------|
| Сбор | ✅/🔬 | ... |
| Извлечение | ✅/🔬 | ... |
| Вызов | ✅/🔬 | ... |
**Вердикт:** Достаточно для TS / Нужен ещё проход
Q1: Лимиты. Таблица выше — адекватные значения? Или что-то нужно жёстче/мягче? Особенно: 5 веб-запросов за этап и 15 файлов — не мало?
Q2: Checkpoint формат. Таблица “найдено/осталось” + рекомендация + решение пользователя — достаточно? Или нужно больше структуры?
Q3: RES-шаблон. Этот драфт — готов как основа для .tfw/templates/RES.md? Что добавить/убрать?
| Область | Покрыто? |
|---|---|
| Все решения D1-D13 | ✅ |
| Лимиты | ✅ |
| Формат checkpoint | ✅ |
| RES-шаблон (базовый) | ✅ |
Сейчас PROJECT_CONFIG.yaml уже содержит tfw: и build: секции. Два варианта:
A: Добавить research: секцию в PROJECT_CONFIG.yaml
research:
web_queries_per_stage: 5
files_read_per_stage: 15
questions_per_stage: 3
max_passes: 3
Плюс: один файл конфигурации, не плодим сущности.
B: Отдельный .tfw/research_config.yaml
Плюс: research — самостоятельный модуль, конфиг может быть большим.
Рекомендация: A — PROJECT_CONFIG.yaml уже задуман как единое место для параметров проекта. Research — часть проекта. Отдельный файл оправдан, только если настроек станет 20+. Сейчас их 4. Если вырастет — вынесем.
Три варианта размещения:
A: Отдельный 4-й этап “Упрощение”
B: Обязательный вопрос в итоговом checkpoint
C: Часть этапа “Вызов”
Рекомендация: B — итоговый checkpoint. Причина: anti-complexity проверка имеет смысл только когда вся картина собрана. В середине исследования рано судить о сложности. В итоговом checkpoint агент видит все решения (таблица D1-DN) и может оценить целое.
Формат в RES-шаблоне:
## Итоговый checkpoint
...таблица этапов...
### Проверка на сложность
**Вопрос:** Соразмерно ли решение задаче? Что можно убрать без потери ценности?
**Оценка агента:** [конкретный ответ — что избыточно, что оставить]
→ Решение пользователя: ___
**Вердикт:** Достаточно для TS / Нужен ещё проход
Добавляем в конец RES-шаблона:
## Заключение
[Один абзац. Что исследовано. Какие ключевые решения приняты.
Что дал RESEARCH, чего бы не было без него.
Самокритика: что можно было сделать лучше.]
Q1: Настройки — в PROJECT_CONFIG.yaml (секция research:) или отдельный файл?
Q2: Anti-complexity — итоговый checkpoint (вариант B) подходит? Или хочешь отдельный этап?
Q3: Достаточно ли информации для TS? Мы закрыли: структуру этапов, терминологию, артефакт, шаблон, лимиты, автономию, интеграцию, настройки, anti-complexity, заключение. Осталось: драфт research.md воркфлоу и обновление conventions/glossary — но это уже работа для TS, не для RESEARCH. Готовы сворачивать?
| Область | Покрыто? |
|---|---|
| Решения D1-D16 | ✅ Все подтверждены |
| Настройки RESEARCH | ✅ PROJECT_CONFIG.yaml секция research: |
| Anti-complexity | ✅ Обязательный вопрос в итоговом checkpoint |
| Готовность к TS | ✅ Готовы |
| Этап | Статус | Ключевые находки |
|---|---|---|
| Сбор | ✅ | Академическая аналогия (lit review → analysis), 3 этапа, терминология Stage/Pass |
| Извлечение | ✅ | Существующий plan.md Phase 1 слишком поверхностный; RES = живой документ с самого начала; настройки в PROJECT_CONFIG |
| Вызов | ✅ | Anti-complexity check обязателен; standalone = мини-задача; один воркфлоу два входа |
Вопрос: Соразмерно ли решение задаче? Что можно убрать без потери ценности? Оценка агента: Решение адекватно. 3 этапа — минимальная полезная структура, не 7 и не 10. Лимиты мягкие — не блокируют, но направляют. Единственный риск переусложнения: сам RES-шаблон может оказаться громоздким для тривиальных исследований — но standalone мини-задачи и skip-path в pipeline это компенсируют. Убирать нечего.
Вердикт: Достаточно для TS.
За 6 циклов RESEARCH определена полная архитектура новой стадии: 3 именованных этапа (Сбор/Извлечение/Вызов) как чеклист, RES-артефакт с живыми таблицами решений и вопросов, read-only автономия агента, единый воркфлоу с двумя входами (pipeline + standalone), настройки в PROJECT_CONFIG, anti-complexity guard в итоговом checkpoint. Без RESEARCH мы бы пропустили вопрос standalone-размещения (мини-задачи vs отдельная папка), формализацию этапов и проблему разброса настроек по файлам. Самокритика: первые циклы по 5 вопросов были избыточны — формат 3 вопроса оказался эффективнее, это стоило зафиксировать раньше.