1/2
Да, мы все с вами понимаем, что Spec-Driven Development это топ, и в целом видимо в тех краях будущее AI-driven разработки.
Но регулярно возникает необходимость оперативно внести изменения в код проекта, для которого ещё не выстроен полноценный AI SWE Pipeline на спеках и агентах.
Тогда у нас начинается "вайбкодинг" - относительно интерактивные сессии работы с системой. Что я бы посоветовал и что применяю сам в таких случаях:
‼️ Контекст должен быть чистым/достаточно свободным. Всегда начинайте новый вопрос с чистого контекста, идеально - /clear для старта новой сессии;
Иногда это невозможно: допустим, если вы в процессе чата поняли необходимость внесения изменений в код. Тут важно понять: достаочно ли у вас контекста для обсуждения изменений. Вы же используете ccstatusline? смотрите сколько токенов сейчас в контексте. Прикидывайте сколько вы потратите на обсуждения вашего рефакторинга. Если есть опасения что не хватит - делайте команду "/compact {инструкции}", а в качестве инструкции описывайте максимально те сведения, которые вам надо оставить в контексте - тогда компактификация чуть лучше сохранит вам контекст.
‼️ Используем plan mode. Идеально если у вас есть max план и доступен opus. тогда вы можете поставить модель "opusplan" (через команду /model), и тогда при переключении в режим планирования включится гораздо более эрудированный опус, что поможет. А когда вы завершите планирование, для кодинга по сформированному плану у вас будет достаточно быстрый соннет.
❓Зачем использовать "plan mode" если у вас нету opus на тарифе, и есть только соннет? Потому что это удобная возможность не писать в промптах "не делай пока код, давай обсудим". Агент будет обсуждать с вами планы, не "срываясь" фальшстартами в кодинг.
‼️ Включите стиль "Explanatory" - он значительно разбавит сухой лаконичный стиль общения СС, что важно в обсуждениях при планировании. Используйте команду "/output-style"
‼️ Прежде чем задавать свой вопрос попросите агента подготовится. Пишите "Подготовься, собери необходимый контекст: будем обсуждать вопрос ...". СС пошуршит по вашему проекту, соберёт инфу. Тогда обсуждение сразу будет предметное.
‼️ Обсуждайте вопрос. Если вышла табличка с планом, жмите 3 (отвергнуть план, продолжить обсуждение) - и пишите дальнейшие вопросы для проработки.
‼️ Когда вы получили нужное вам решение, то перед реализацией советую сделать следующие пункты:
▶️ Первым пунктом плана необходимо запланировать создание подробного плана работы в файле маркдаун с чек-листом, где указать что будем делать, где, ПОЧЕМУ именно так, какие сведения используем, на какую документацию опираемся, каким стандартам кодирования следуем, что в части интеграции отслеживаем. План разместить в папке
.protocols/ в корневой папке проекта.▶️ Вторым пунктом плана: изучить меморибанк, изучить его структуру, понять какие документы используются в документировании изменяющихся модулей системы, и прописать изменения в документацию. Принцип - docs first, мы прописываем изменения ДО их внесения.
▶️ Последним пунктом плана необходимо прописать: читаем файл маркдаун из пункта один, и систематически сверям каждый изменённый файл коди и документации с планом. Далее необходимо запланировать внесение изменений по выявленным недоработкам и недостаткам.
❓ Зачем файлик в маркдауне? Этот файл позволит вам в полном объёме сохранить ваш обсуждённый план, с проработанными деталями. Плюс вы можете сами изучить не краткое резюме плана от агента, а подробный перечень действий, и скорректировать при необходимости (что, впрочем, довольно редко).
❓ почему файл плана первым пунктом? Потому что после старта изменений агент все постепенно забудет, а вам нужно сохранить полный качественный план! Если вы этого не сделаете сразу - считайте что половину качества планирования вы слили.
Продолжение тут: https://t.me/deksden_notes/90