Aug 22, 2024 22:25
Если кто не знает - то нынче есть супер-комбинация в виде Claude 3.5 Sonnet и Aider-Chat,
При этом Anthropic использует какой-то говнобиллинг, из-за чего я вообще ничего не могу своими говнокартами оплатить, и пришлось Anthropic.ai подключать через Apple Pay, а Claude API использовать через AWS Bedrock. Тьфу!
Комбинация дает вам в распоряжение говно-джуниора, который в умелых руках творит чудеса. Степень умелости рук, как показывает опыт, прямо пропорциональна общим навыкам работы в команде со стороны надсмотрщика: если вы не умеете делегировать задачи идиотам, и вам "проще все сделать самому" - то вы в пролете, к сожалению. Делайте сами, "LLM - это тупик".
Разумеется, действительно есть задачи, которые проще доделать самому, чем заставлять Клода переделывать. Но если вы привыкли работать с мясными идиотами, то это небольшой приемлемый процент всех задач.
Я тут постепенно вырабатываю некий LLM-Flow (по аналогии с Git Flow), как этим Aider пользоваться в рамках "строгания трешей".
На сегодняшний день понятно, что нужны как минимум 3 компонента:
- Некий инструмент для выработки README.md. По опыту говноутилит, там достаточно контекста, и большего контекста не требуется. Выработался также своеобразный шаблон README.md: Overview, Technical Requirements, Process Flow и Notes. В Technical Requirements описывается Linux/Node, а в Process Flow - пошаговая реализация happy path вашего приложения: 10 шагов, 2-3 подшага в каждом шаге.
- скаффолдер. aider не умеет ни в скаффолдинг, ни в npm install, поэтому второе делайте руками а первое можно автоматизировать. Я использую prettier, eslint, commitlint, mocha в монорепах, соответственно нужен скаффолдер для монореп и для нового пакета в монорепе. Я решил пожертвовать своим пристрастием к standardjs так как большинство выбрало точки с запятой и это дефолтовый стиль LLM. В целом, конечно, хорошим кодом теперь считается такой, который по дефолту пишут ваши LLM. Ну то есть любители перфекционизма тоже в пролете, можно писать только в том дебильном стиле, который вы получаете, не указав никакого стиля в промпте ("напиши мне змейку на ноде").
- менеджер GitHub PR. Сами пулл-реквесты чрезвычайно удобны и универсальны (в том плане что даже если менеджер мудак - то вылизанный в отдельном форке PR всегда можно протолкнуть). Кроме того они позволяют бороться с микроскопическими коммитами, которые делает клод в случае переделок. Я работаю с --no-auto-commits, коммитя вручную. Но поскольку изготовление этих PR поставлено на поток, то "переключение веток при отправке PR" занимает довольно большой процент общего времени, затрачиваемого на PR, и нуждается в автоматизации.
мясные мешки,
programming,
строгание трешей