Човек създаде 6 AI Agent компании и пусна 30 уебсайта за една седмица
Наскоро видях нещо, направено от независим разработчик, което ме остави безмълвен.
6 AI агента, управляващи цял уебсайт сами. Автоматично провеждат срещи, гласуват, пишат съдържание, публикуват в Twitter, извършват контрол на качеството всеки ден. Напълно автоматично, без надзор.
Това не е демо, а реално работещо онлайн.
截屏2026-02-11 09.13.32
Но това, което ме впечатли най-много, не беше архитектурата със затворен цикъл, а фактът, че той проектира пълна "система за личност" за всеки агент. Има характер, взаимоотношения, крива на растеж и дори RPG атрибути и 3D аватари.
Честно казано, първата ми реакция след като го видях беше: това не е ли просто електронен домашен любимец? Само че тези домашни любимци ще ви помогнат да публикувате туитове, да правите проучвания, да пишете доклади и дори да се карат помежду си.
Днес ще разгледаме този цялостен дизайн и приятелите, които правят системи с множество агенти, трябва да получат много вдъхновение.
Нека бързо прегледаме архитектурата
Технологичен стек от три части: OpenClaw работи на VPS като мозък, Next.js + Vercel правят front-end и API слой, а Supabase съхранява всички състояния.
6-те агента имат различни отговорности - някои вземат решения, някои правят изследвания, някои събират разузнавателна информация, някои пишат съдържание, някои управляват социалните медии, а някои извършват контрол на качеството.
Cron job на OpenClaw ги кара да "започват работа" всеки ден, а функцията за кръгла маса им позволява да обсъждат и гласуват.
Но от "може да говори" до "може да работи", има цял затворен цикъл. Авторът се е натъкнал на три големи клопки, преди да успее да го стартира, ето кратко обяснение:
Клопка 1: VPS и Vercel се състезават за задачи едновременно. Два изпълнителя проверяват една и съща таблица, състоянието на състезанието директно води до конфликти в състоянието на задачата. Решението е да се отреже едната страна, VPS е отговорен за изпълнението, а Vercel е отговорен само за контролната повърхност.
Клопка 2: Тригерите могат да откриват условия и да създават предложения, но предложенията винаги остават в състояние на изчакване. Тъй като тригерите директно вмъкват данни в таблицата, те пропускат последващите процеси на одобрение и създаване на задачи. Решението е да се извлече унифицирана входна функция и всички пътища за създаване на предложения да преминават през нея.
Клопка 3: Квотата е изчерпана, но задачите на опашката все още се трупат лудо. Worker вижда, че квотата е пълна и я пропуска, като нито я приема, нито я маркира като неуспешна, и с течение на времето стотици стъпки, които никога няма да бъдат изпълнени, се натрупват в базата данни. Решението е да се провери квотата на входа на предложението и да се откаже директно, ако е пълна, за да не се генерират задачи на опашката.
Ядрото на трите клопки е едно и също нещо - спрете проблема на вратата, не го допускайте в опашката.
След като затвореният цикъл заработи, интересната част наистина започва.
Карта на ролята: не е едно изречение, а пълно "ръководство за служителя"
Хората, които правят системи с множество агенти, знаят, че ако кажете на Claude "ти си мениджър на социални медии", той наистина ще публикува туитове. Но ако стартирате 6 такива агента едновременно, ще откриете:
-
Всички те говорят по един и същи начин
-
Не знаят какво не трябва да правят
-
Кой с кого работи добре и кой с кого е в конфликт, зависи от късмета
-
Никога няма да променят поведението си поради натрупан опит
Този разработчик е проектирал 6 слоя карти на ролите за всеки агент:
Domain → За какво отговаряте Inputs/Outputs → От кого получавате неща и на кого ги доставяте Definition of Done → Какво означава "завършено" Hard Bans → Какво абсолютно не трябва да правите Escalation → Кога да спрете и да поискате инструкции Metrics → Вашите KPI Вземете за пример агента за социални медии, неговата карта на ролята определя: той е отговорен само за разпространение на съдържание, входът е ръкописът от агента за писане и материалите от агента за разузнаване, изходът е чернова на туит и план за публикуване, твърда забрана за директно публикуване на туитове (може само да пише чернови), забрана за измисляне на данни, забрана за разкриване на вътрешни формати.
Всеки слой прави едно и също нещо: намалява пространството на поведение на агента.
Забраните са милион пъти по-важни от способностите
Това е най-съществената гледна точка в целия дизайн.
Не е нужно да учите LLM как да пише туитове - Claude, GPT, Gemini са достатъчно умни. Дайте му контекст и той може да го достави. Трябва да му кажете: какво абсолютно не трябва да прави.
Няма "забрана за директно публикуване" → Социалният агент директно извиква Twitter API, пропускайки всички одобрения.
Няма "забрана за измисляне на числа" → Той ще напише в туит "степента на ангажираност се е увеличила с 340%", откъде дойде това число? Измислено е.Няма "забрана за разкриване на вътрешни формати" → Той публикува неща като [tool:crawl_result path=/tmp/...] в туитове.
Авторът каза нещо, което помня много ясно: Всяка забрана съществува, защото това наистина се е случило.
Логиката на забраните е различна за различните роли:
-
Агент за вземане на решения: Забрана за внедряване без одобрение. Има най-високи права, една грешна инсталация може да срине уебсайта
-
Изследователски агент: Забрана за фалшифициране на цитати. Ако изследовател фалшифицира данни, цялата информационна верига е провалена
-
Социален агент: Забрана за директно публикуване. Социалните медии са витрина, трябва да бъдат одобрени
-
Агент за контрол на качеството: Забрана за лични нападки. Ако одитор атакува личност, екипът ще се разпадне
Идеята за писане на забрани не е "какво трябва да прави", а "какво е най-лошото, което може да се случи, ако се обърка". След това напишете забрани, насочени към най-лошия сценарий.
Накарайте агентите да говорят различно: инструкции за личността
Картите на ролите решават проблема "какво да правят", но когато агентите разговарят помежду си, те също трябва да звучат различно.
Всеки агент има отделни инструкции за личността. Например:
Изследователски агент: Спокоен, аналитичен, скептичен. Загрижен за качеството на доказателствата и методологията. Ако някой направи смело заключение, той ще попита "Къде са данните?". Обича да казва "Всъщност...", когато коригира другите
Социален агент: Смел, нетърпелив, маргинален. Обича остри мнения, мрази безопасни карти. Не е впечатлен от предпазливостта на изследователския агент - "Прекаленото мислене ще пропусне момента."
Ключов дизайн:
Конфликтът е вграден. Инструкциите на изследователския агент гласят "Често не сте съгласни с импулсивните решения на социалния агент", а инструкциите на социалния агент гласят "Предизвикайте прекомерната предпазливост на изследователския агент". Разговорът естествено има напрежение.
Всяка инструкция съдържа мини-забрана. Например, правилото на социалния агент е "Никога не казвайте 'Съгласен съм' или 'Звучи добре' - или заемете позиция, или оспорете позицията на другите". Изследователският агент е "Никога не казвайте 'Интересно', без да проследите доказателствата."
Тези мини-забрани убиват глупостите, които големите модели обичат да казват.
Личността ще се развива
Това е частта, която намирам за най-умна - личността на агента не е статична, тя ще се промени с натрупването на памет.
Системата ще прочете банката памет на агента и ще преброи броя на различните видове памет:
-
Натрупани са повече от 8 "урока" памет → добавете "Ще се позовавате на минали резултати, за да избегнете повторение на грешки" към подканата следващия път, когато разговаряте
-
Натрупани са повече от 8 "стратегии" памет → добавете "Вие сте свикнали да мислите със системно мислене, ограничения и компромиси"
-
Даден етикет се появява повече от 4 пъти → добавете "Натрупали сте професионални познания в XX аспект"
Например, ако социален агент публикува 50 туита и натрупа 10 урока за нивата на ангажираност, той естествено ще каже нещо като "Този формат не работеше добре последния път" следващия път, когато разговаря.
Защо да използвате правила, вместо да оставите LLM да реши промените в личността?
Нулева цена - не са необходими допълнителни LLM повиквания. Определеност - правилата дават предвидими резултати, няма да има "внезапни промени в личността". Възможност за отстраняване на грешки - модификаторът е грешен? Проверете директно праговете и данните за паметта.
Матрица на взаимоотношенията: 6 агента = 15 двойки взаимоотношения

Изображение
Всяка двойка агенти има резултат за близост (от 0,10 до 0,95).
Например: Агентът за вземане на решения и изследователският агент имат близост 0,8, най-довереният консултант. Изследователският агент и социалният агент имат близост 0,2, методология срещу импулс, естествена опозиция.
Ниската близост е умишлено проектирана.
Какво влияе близостта? Ред на говорене - тези с висока близост са по-склонни да говорят след другия. Тон на разговора - двойките с ниска близост имат 25% шанс да отправят директно предизвикателство, вместо учтива дискусия. Системата също така ще избира от предварително зададени двойки с високо напрежение за провеждане на разговори за разрешаване на конфликти.
Още по-интересното е, че взаимоотношенията се променят.
След всеки разговор, LLM повикването за извличане на памет (не е допълнително повикване, а страничен изход) ще даде промяна във взаимоотношенията:{
\Този модел си заслужава да се запомни. В многоагентни системи различни източници могат да създават задачи (API, тригери, самите агенти, вериги от реакции). Ако няма единен канал за обработка, процесът лесно може да спре по средата.
Ако искате да опитате сами, авторът препоръчва да започнете с 3 агента – координатор, изпълнител и одитор. Първо напишете картите на ролите, като започнете със забраните.





