AI setup

AI setup


Агентский сетап

Для начала сразу скажу какие цели агент инжиниринга - в идеале так настроить что бы на дешевых, а лучше на локальных, а еще лучше прям на том ноуте что работаешь (я кстати установил ровно 0 моделей на ноут пока что), можно было бы работать. Как работать это другой вопрос. Если човсем эффективно твое взаимодействие с агентом должно сводится примерно к такому флоу "скопируй оттуда только поменяй вот так вот тут" это тоже идеальный вариант про экономию токенов. Однако не все проекты мы пишем с нуля, не все проекты мы способны изучить от и до что бы знать что где лежит досконально. Для этого придуманы harness приложения которые управляют несколькими агентами.

Я не буду запускать модели для "поспорить между собой найти решение" или которые из задачи делают подзадачи, я против так называемого полного закрытого цыкла все на агентах, просто потому что я работаю на 3х летнем проекте и много переписываний, мне обсуждение между агентами А - дорого, Б - долго. Возможно обмазывание агентами это для тех кто принципиально не хочет нанимать команду программистов, однако я не вижу смысла платить за токены больше чем инженерам и с 100 раза отправки промта пытаться что то построить.

Классический сетап примерно следующий - это

1

агент бизнес аналитик/менеджер - это который я скипаю его работа расписать задачу на под задачи или просто одну подробно, вот тут могут быть эти агенты "поспорить" оценить решение, ревью и так до бесконечности переливания токенов

2

Дальше идет агент красные тесты, который берет задачу и по спеку пишет тесты которые падают. Обычный TDD, можно даже BDD пусть пишет прям сценарии нажимания в браузере.

3

Следующий это зеленые тесты или сама задача которая пишется непосредственно этим агентом, важно! все агенты не знают контекста друг друга. Более того лучше сделать так что бы агент зеленые тесты вызывал скилы которые пишут куски кода, желательно не выходя на 100к контекста, хотя на клоде пофиг, но так как потенциально будем писать на дешевых моделях для это важно. А еще размером контекста можно оценивать свои промты в агетках/скилах чем меньше забивается контекст тем лучше раздробили, объяснили(имеется ввиду написали промт).

4

Далее идет ревью агент, тестер агент, и возможно агент который фиксит скилы если были проблемы. Между этими агентами может быть еще по несколько и каждый из них может делится на несколько скилов. 

Очень важно найти баланс между общими агентами и проектно-специфичными.
Если будете писать агентов под проект, то пока вы закончите агентов вы закончите и проект, грубо говоря вы делаете speech to text работу, только набираете текст руками который потом ллмка пытается переписать в коде, таким образов на порядок, а то и в разы разработка не ускорится. В идеале с 1 токена инпута ллм должна генерить больше токенов аутпутов, число токенов/слов/методов в готовой программе примерно детерменировано(я знаю что нельзя использовать это слово к ллм, более удачного я не нашел, но вы же когда ендпоинт добавляете вы же знаете сколько кода уже примерно будет), более того даже вынеся все в хелперы не факт что для ллм это будет лучше ведь она пойдет изучать все хелпер методы и засрет контекст, а не только те что нужны в новой фиче/методе.

Что бы избежать лишней траты токенов, существуют ограничения:
max_turns - в конфиге вашего приложения, если агент делает объемную задачу он любит сам себя проверять и находить новые баги, эта настройка помогает ограничить количество таких проверок например 3 и после третей агент останавливается и спрашивает что делать.
guards - не возможно доверять просто промту я использую pre commad hook - это системная настройка в клоде в ней я запрещаю коммитить и пушить.

Я стараюсь писать побольше баш скриптов для тестов где это возможно. Не надейтесь на промты аля "думай как сеньер пиши без багов".

Теперь перейдем к двум сетапам, естественно это все должно запускатся плюс минус одновременно и примерно с однго промта, иначе где прибавка к производительности, куда агент будет оповещать для этого есть pi.dev я уверен есть еще дохрена agent harness тулов, просто эта тула уже месяц на слуху. Для себя я юзаю 2 главных фичи точнее фича там одна плагины, для

https://i.imgur.com/SDDyL8o.jpeg

общения агентов, через один чат можно срать в другой чат с агентом и он может тебе же отвечать и делать ветку от сообщения как будто новый чат, но не новый и старый не засирается и как будто свежий контекст.
Однако проблема, клод по подписке юзать нелья, есть плагин иммитации клод что бы не банил, но рано или поздно есть риск быть забаненым и клод можно юзать только через апи с оплатой по токенам. И второй сетап это иммитация pi функционала с помощью плагина в zellij, отдельный клод чат в табе будет мигать значек уведомления и можно юзать обычную подписку естественно.
В zellij есть функция шаринга сессия в браузер, тоесть ваш терминал можно открыть в браузере для доступа из вне я использовал ngrok.


Report Page