LLM кодинг или куда все катится. Часть 1.
За последнее время я много работал со всеми, или почти со всеми, инструментами для кодинга с помощью AI. Я не называю это вайб-кодингом, потому что проекты, над которыми я работаю, сложнее, чем просто блог или микроапп для айфона. И я не отпускаю контроль. Не могу. Никакого YOLO режима. Потому что вижу результат на выходе.
При большом количестве контекста LLM начинает путаться. Например перед коммитом тесты не проходят, и LLM говорит: «Ну, тесты не прошли, да и ладно, задача выполнена». Некоторые паттерны разработки меня не устраивают. Иногда тупо делает не то что нужно.
Поэтому я разделил разработку на несколько этапов. Для кодинга у меня есть несколько инструментов и команд. Они помогают разделить ответственность и уменьшить размер загружаемого контекста для AI. Основная проблема в том, что и Thinking и обычная модель похоже забивают контекст кодом при сканировании и прочими вещами которые не нужны на следующих этапах.
И я пришел к тому что лучше будет разделить роли, как в команде:
• project-менеджер, который создает задачу и описывает ее с точки зрения ценности
• тимлид или staff инженер, который берет задачу и накидывает драфт по архитектуре;
• разработчик, который делит задачу на атомарные куски и разрабатывает их в TDD-подходе.
Сейчас у меня все реализовано через команды. Но чем больше я полирую эти команды и добавляю соломки там, где Claude начинает ошибаться, тем больше понимаю, что нужна оркестровка в виде отдельного скрипта. Claude нередко начинает выполнять то, что от него не требуется. Например, когда он вызывает Gemini для анализа файловой структуры изменений, не нужно выполнять команды типа git diff или cat - они инжектятся в баш промптвыполнения Gemini. И я очень явно в начале команды пишу не выполнять эти их. Скотина Claude все равно выполняет git diff и иногда даже заменяет сам контекст в команде Gemini.
Таким образом нужна оркестрация и какой-то флоу через скрипт питоне-жс-вотевер. Там где все прибито гвоздями. Ибо на верхнем уровне это какой-то уровень стейт машины с шагами.
А подключать ллм уже в местах где он непосредственно нужен.
Post #472
397
- 🔥 5
- 👍 2
- 😁 1