Skip to content

Исследование, План, Реализация (RPI)

Вы бывали здесь. Просите AI “рефакторить этот модуль аутентификации”, и он генерирует 500 строк кода с библиотеками, которых у вас нет, создаёт методы, которые не существуют, и решает проблему, которой у вас нет. Три часа спустя вы распутываете галлюцинации и думаете, не проще ли было сделать самому.

AI не сломан. Вы просите его читать ваши мысли, не давая структуры.

RPI (Исследование → План → Реализация) исправляет это. Вместо прыжка напрямую к генерации кода, вы разбиваете работу на три сфокусированные фазы со встроенной валидацией. AI исследует что существует, планирует изменение систематически, затем выполняет механически. Это медленнее, чем “просто сделай” — и в этом смысл.

Проблема прямого промптинга

Section titled “Проблема прямого промптинга”

Когда вы просите AI-агента реализовать что-то без структуры, вы играете в азартную игру на нескольких вещах сразу:

  • AI правильно понимает ваше намерение
  • Он находит весь релевантный код и паттерны
  • Он принимает архитектурные решения, с которыми вы бы согласились
  • Он не галлюцинирует API или библиотеки
  • Он остаётся в рамках scope

Что происходит на самом деле:

  • Overflow контекста: При слишком большом количестве информации AI теряет фокус.
  • Галлюцинации: AI выдумывает код, который не существует.
  • Решена неправильная проблема: AI неправильно понимает требования.
  • Scope creep: Работа расширяется за пределы предполагаемых границ.
  • Нетестируемый код: У вас нет чётких критериев успеха.

Инсайт: без структуры даже блестящие AI-ассистенты становятся дорогими генераторами случайного кода.

Что RPI из себя представляет

Section titled “Что RPI из себя представляет”

RPI — это трёхфазный фреймворк с валидационными шлюзами между каждой фазой. Думайте о нём как о превращении вашего AI из стажера в опытного разработчика с GPS.

Фазы:

  1. Исследование: Постройте контекст. Документируйте что существует сегодня — без мнений, без предложений.
  2. План: Спроектируйте изменение. Используйте поэтапный подход с атомарными задачами и критериями успеха.
  3. Реализация. Выполняйте механически. Следуйте плану и верифицируйте после каждой фазы.

Основные принципы:

  • Одна цель за сессию: Держите LLM лазерно сфокусированным.
  • Валидация перед продвижением: Используйте оценочные шкалы для верификации готовности.
  • Человеческое суждение сохранено: AI не принимает крупных решений без валидации.
  • Управление контекстом: Начинайте свежую сессию для каждой фазы.

Фреймворк торгует скорость на ясность, предсказуемость и корректность. Вы потратите больше времени впереди, но гораздо меньше времени на отладку галлюцинаций и исправление архитектурных ошибок.

Фаза исследования строит контекст и понимание. Вы документируете что существует сегодня — ничего больше.

Строгие правила:

  • Документируйте что существует
  • НЕ предлагайте изменения
  • НЕ критикуйте
  • НЕ планируйте
  • Базируйте всё на фактах, не на предположениях

В goose:

Terminal window
/research "look through the codebase and research how
the LLM Tool Discovery is implemented"

Это запускает три параллельных под-агента:

Под-агентНазначение
find_filesИспользует локатор кодовой базы для поиска релевантных файлов
analyze_codeПолностью читает файлы и документирует как они работают
find_patternsИщет похожие фичи или конвенции в репо

Выход: Структурированный исследовательский документ в thoughts/research/YYYY-MM-DD-HHmm-topic.md

Документ включает git-метаданные, ссылки на файлы и строки, описания потоков, ключевые компоненты, открытые вопросы и техническую карту фичи как она существует сегодня.

Вот где становится интересно. Вместо того чтобы вы объясняли всё заранее, AI задаёт вам уточняющие вопросы по одному:

  • “Это должно работать из файлового менеджера или dashboard?”
  • “Какие ограничения на типы файлов?”
  • “Что происходит с общими файлами?”

Это раскрывает понимание, которое вы не учитывали, и предотвращает распространение неверных предположений через весь рабочий процесс.

Валидация исследования: шкала FAR

Section titled “Валидация исследования: шкала FAR”

Перед переходом к планированию, валидируйте своё исследование по критериям FAR:

КритерийОписаниеЧто это предотвращает
FactualБазируется на реальном коде, не на предположенияхГаллюцинации
ActionableВы точно знаете что строитьНечёткие требования
RelevantРешает реальную потребность пользователяРешена неправильная проблема

Критично: Человек должен просмотреть исследовательский документ перед продвижением. Это информирует всё последующее.

Фаза планирования переводит исследование в поэтапный план реализации. Вы проектируете изменение с чёткими критериями успеха.

В goose:

Terminal window
/plan a removal of the Tool Selection Strategy feature

Процесс AI:

  1. Читает исследовательский документ из предыдущей фазы
  2. Askит уточняющие вопросы (полное удаление vs декомпозиция? поведение очистки конфига?)
  3. Представляет варианты дизайна там, где существуют несколько подходов
  4. Производит поэтапный план реализации

Выход: Детализированный план в thoughts/plans/YYYY-MM-DD-HHmm-description.md

План включает:

  • Явные фазы (например, 10 фаз)
  • Точные пути к файлам
  • Сниппеты кода показывающие что менять
  • Автоматизированные критерии успеха
  • Ручные шаги верификации
  • Чекбоксы для отслеживания прогресса
  • Атомарные задачи на фазу

Почему атомарные задачи важны

Section titled “Почему атомарные задачи важны”

Каждая задача должна быть единицей работы одной сфокусированной единицы — один вызов команды или редактирование файла. Это держит AI на треке с простыми инструкциями, делает прогресс легко верифицируемым, предотвращает переполнение контекста и позволяет восстановление если контекстное окно заполняется.

План должен быть достаточно явным, чтобы кто-то другой (или свежая AI-сессия) мог выполнить его без дополнительного контекста.

Валидация планов: шкала FACTS

Section titled “Валидация планов: шкала FACTS”

Валидируйте каждую задачу по критериям FACTS:

КритерийОписаниеЧто это предотвращает
FeasibleМожет быть реально сделано с доступными инструментами/APIsНевозможные задачи
AtomicЕдиница, сфокусированная единица работыПереполнение контекста, scope creep
ClearНедвусмысленные инструкцииНеправильное толкование
TestableИмеет чёткие критерии успехаНетестируемый код
ScopedПравильно ограниченоНеконтролируемое выполнение

Фаза реализации выполняет план шаг за шагом с верификацией. Это должно ощущаться намеренно скучным и механическим. Если ощущается творчески — чего-то не хватает на предыдущем этапе.

В goose:

Terminal window
/implement thoughts/plans/2025-12-23-remove-tool-selection-strategy.md

Процесс AI:

  1. Полностью читает план
  2. Выполняет фазы по порядку
  3. Запускает верификацию после каждой фазы
  4. Обновляет чекбоксы напрямую в файле плана по ходу

Опции цикла обратной связи

Section titled “Опции цикла обратной связи”

Выбирайте уровень контроля на основе уверенности в плане:

Тип циклаКогда использоватьУровень контроля
Повальная валидация задачМакогда нужен максимальный контрольВысокий — валидируйте после каждой атомарной задачи
Повальная валидация фазБаланс скорости и контроляСредний — валидируйте после завершения фазы
Полная валидация планаВысокая уверенность в планеНизкий — выполняйте всё, валидируйте в конце

Каждая фаза должна пройти качественные шлюзы:

  • Тесты должны пройти
  • Сборки должны успешно завершиться
  • Линтеры должны пройти
  • Регрессий не введено

Если любой шлюз падает, реализация приостанавливается. Исправьте проблему перед продвижением.

Механизм восстановления

Section titled “Механизм восстановления”

Если контекстное окно заполняется посреди реализации, чекбоксы в плане позволяют AI сжать и продолжить точно с того места, где остановился. Вот почему атомарные задачи и отслеживание прогресса важны — они позволяют элегантное восстановление.

Иногда планы нуждаются в корректировке после ревью или во время реализации.

В goose:

Terminal window
/iterate "plan path" + feedback

Процесс AI:

  1. Читает существующий план
  2. Исследует только то, что нужно переосмыслить
  3. Предлагает точечные обновления
  4. Хирургически редактирует план (не начинает заново)

Это позволяет уточнение без отбрасывания хорошей работы. Изменённые секции должны снова пройти FACTS-валидацию.

Все выходные данные RPI живут в предсказуемых местах:

thoughts/
├── research/
│ └── YYYY-MM-DD-HHmm-topic.md
└── plans/
└── YYYY-MM-DD-HHmm-description.md

Давайте пройдём через реальное выполнение RPI: удаление фичи “Tool Selection Strategy” из крупной кодовой базы.

Сложность:

  • Затрагивает 32 файла
  • Касается Rust core-кода
  • Влияет на TypeScript
  • Изменяет конфигурацию
  • Модифицирует тесты
  • Обновляет документацию

Фаза исследования (9 минут)

Section titled “Фаза исследования (9 минут)”

Начали с /research "LLM Tool Discovery". Поняли что scope слишком широкий — скорректировали курс и перезапустили: /research "Tool Selection Strategy feature specifically".

Результат: детализированная техническая карта фичи.

Человеческое ревью: валидировали точность исследования перед продвижением.

Фаза планирования (4 минуты)

Section titled “Фаза планирования (4 минуты)”

Запустили /plan a removal of the Tool Selection Strategy feature.

AI задал уточняющие вопросы:

  • Полное удаление или декомпозиция?
  • Как должно вести себя очистка конфига?
  • Должны ли артефакты регенерироваться?
  • Где живут связанные тесты?

Представил варианты дизайна. Сгенерировал 10-фазный план с атомарными задачами.

Человеческое ревью: валидировали осуществимость плана.

Фаза реализации (39 минут)

Section titled “Фаза реализации (39 минут)”

Запустили /implement thoughts/plans/2025-12-23-remove-tool-selection-strategy.md.

AI выполнил механически фазу за фазой. Контекстное окно заполнилось на полпути — AI сжал и возобновил с чекбоксов.

Человеческая активность во время этой фазы: “Я уснул.” Намеренно скучно и надёжно.

  • Общее время: 52 минуты (включая AI-работу, тестирование, человеческие Q&A)
  • PR подан: Сборка прошла с первой попытки
  • Агент код-ревью: Ноль комментариев
  • Качество: Отличное

Сравнение:

ПодходРезультат
Без AIНесколько часов ручной работы
AI без RPIДрифт, баги, циклы доработки
RPIМедленнее прямой реализации, но предсказуемо и корректно

Сложные задачи, затрагивающие несколько файлов:

  • Рефакторинги
  • Миграции
  • Добавления фичей
  • Крупные обновления
  • Очистка после инцидентов
  • Переработки документации

Характеристики, сигнализирующие что RPI стоит того:

  • Сложная интеграция
  • Множественные точки соприкосновения
  • Высокие последствия ошибок
  • Нужда в систематическом подходе
  • Требуется чёткая валидация

Простые, базовые задачи:

  • Изменения в одном файле
  • Очевидные исправления багов
  • Простые добавления фичей
  • Быстрые прототипы

RPI намеренно медленнее. Накладные расходы валидации не стоят того для тривиальной работы.

Предотвращает распространённые AI-неудачи

Section titled “Предотвращает распространённые AI-неудачи”
Режим неудачиКак RPI предотвращает это
Переполнение контекстаАтомарные задачи держат работу сфокусированной и ограниченной
ГаллюцинацииFAR-валидация требует фактических доказательств
Решена неправильная проблемаИсследование валидирует релевантность перед планированием
Нетестируемый кодFACTS-валидация обеспечивает чёткие критерии успеха
Scope creepАтомарные задачи и валидационные шлюзы держат границы

Использует сильные стороны AI

Section titled “Использует сильные стороны AI”
  • Паттерн-матчинг: AI превосходен в поиске похожего кода
  • Генерация кода: AI эффективно пишет boilerplate
  • Систематическое выполнение: AI идеально следует чеклистам

Сохраняет человеческое суждение

Section titled “Сохраняет человеческое суждение”
  • Люди занимаются стратегией и валидацией
  • Люди принимают архитектурные решения
  • Люди верифицируют релевантность и корректность
  • AI не принимает крупных решений без валидации

Встроенные качественные шлюзы

Section titled “Встроенные качественные шлюзы”

Каждая фаза имеет контрольные точки:

  • Исследование: FAR-валидация
  • План: FACTS-валидация
  • Реализация: Тесты, сборки, линты должны пройти
  • Свежие сессии на фазу — LLM остаётся сфокусированным
  • Явные передачи — план имеет весь контекст для реализации
  • Система контрольных точек — можно продолжить после прерываний

Интеграция с AI-инструментами

Section titled “Интеграция с AI-инструментами”

Не зависит от инструментов

Section titled “Не зависит от инструментов”

RPI работает с любым AI-кодинг ассистентом:

  • Claude
  • GitHub Copilot
  • Cursor
  • OpenAI
  • Gemini
  • Любым агентом, который может следовать структурированным промптам

Фреймворк о структуре, а не о конкретном инструменте.

Инструмент goose от Block обеспечивает встроенную поддержку RPI со слэш-командами:

КомандаНазначение
/research "topic"Фаза исследования
/plan "feature/task"Фаза планирования
/implement "plan path"Фаза реализации
/iterate "plan path" + feedbackУточнение плана

Используемые рецепты:

  • rpi-codebase-locator — Найти релевантные файлы
  • rpi-codebase-analyzer — Анализировать код
  • rpi-pattern-finder — Найти паттерны
  • rpi-create-plan — Сгенерировать план
  • rpi-implement-plan — Выполнить реализацию
  • rpi-iterate-plan — Уточнить план

Вы можете реализовать RPI вручную:

  1. Создайте директории thoughts/research/ и thoughts/plans/
  2. Используйте структурированные промпты для каждой фазы
  3. Валидируйте вручную по шкалам FAR и FACTS
  4. Отслеживайте прогресс с чекбоксами в markdown

Инструментарий помогает, но фреймворк работает без него.

Распространённые паттерны

Section titled “Распространённые паттерны”
Terminal window
1. /research "current authentication system"
2. /plan "add OAuth2 support"
3. /implement [plan path]
Terminal window
1. /research "payment processing error handling"
2. /plan "fix race condition in transaction commits"
3. /implement [plan path]
Terminal window
1. /research "current data access layer"
2. /plan "migrate from ORM to raw SQL"
3. /implement [plan path]
4. /iterate [plan path] "need to handle edge case in migrations"
Terminal window
1. /research "React class components in codebase"
2. /plan "convert to functional components with hooks"
3. /implement [plan path]

Традиционный AI-кодинг спрашивает: “Как мне написать идеальный промпт?”

RPI спрашивает: “Как мне структурировать работу чтобы AI мог надёжно выполнять?”

Вы перестаёте направлять AI пошагово и начинаете проектировать рабочие процессы, которые сходятся к корректным решениям. Работа AI — систематическое выполнение. Ваша работа — определить, как выглядит “готово” и валидировать на контрольных точках.

Сдвиг в мышлении:

  • От: “AI, построй эту фичу”
  • К: “AI, помоги мне понять что существует, спланируй изменение систематически, затем выполни с валидацией”

Изначально вдохновлено видео на YouTube, которое породило идею систематической AI-разработки. Разработано и популяризировано HumanLayer (создатели фреймворка), командой goose в Block (реализация и инструментарий) и Patrick Robinson (документация и евангелизм).


Используете RPI в продакшене? Поделитесь своим опытом—что сработало, что нет и что вы узнали.