Introduction Hei kaikki, olen Max Nechaev - insinöörin johtaja Snoonussa, perustaja ja tekoälyn harrastaja. Olen ollut ohjelmistokehityksessä jo jonkin aikaa. Kun rakensin iOS-sovelluksia, siellä oli tonnia arkkitehtonisia kuvioita. He tuntevat olonsa luotettaviksi. Ajattelin läpi. taistelu-testattu vuosien ajan. Silloin en koskaan kuvitellut, että olisin uusi arkkitehtuuri - varsinkin ei AI-järjestelmille. Mutta ennen kuin pääsemme ratkaisuun, puhukaamme ongelmasta. Tällä hetkellä AI käy läpi hullu hype sykli. Startupit ponnahtavat ja kuolevat joka päivä. Yhä useammat ihmiset sukeltaa alhaisen koodin ja ilman koodia työkaluja, kuten Make, n8n, ja muut. Ja tiedätkö mitä? Mielestäni se on hämmästyttävää. Miljoonat ihmiset astuvat uudenlaiseen todellisuuteen. Se tuntuu Internetin alkuajoilta, kun sivustot menivät staattisesta vuorovaikutteiseen, ja yhtäkkiä tuntui siltä, että kaikki oli mahdollista. Yhä useammat ihmiset rakentavat AI-agentteja. Ja rakastan sitä. Mutta on saalis. Ei ole vielä yhteistä ymmärrystä siitä, miten arkkitehtia joustavia, skaalautuvia AI-järjestelmiä. Ei todellisia suunnittelumalleja. Ei laajalti hyväksyttyä rakennetta. Mitä enemmän katsoin ympärilleni, sitä enemmän näin sen. Agentit, jotka on rakennettu n8n: ssä, näyttävät spagettia. On mahdotonta lukea, poistaa tai skaalata. Opettajat rakennusagenttien rakentamisesta Pythonissa? Sama tarina. Kaikki heitettiin yhteen tiedostoon, ei erillisiä huolenaiheita. Tietenkin kokeneet kehittäjät saattavat tietää, että heidän pitäisi jakaa asiat - mutta aloittelijoiden ei. Joten tänään haluan jakaa ratkaisun, johon olen tullut luottamaan. Näin rakennan tekoälyjärjestelmiäni. Miten erotan vastuut. Miten pidän asiat joustavina, skaalautuvina ja todella terveinä. Anna minun esitellä sinulle kehykseni, mallini tai arkkitehtuurini - kutsu sitä mitä haluat - Agent Action Chains -toiminnan ketjut. AAC Meet AAC (Agent Action Chains) Jos kaaos tapahtuu yhä uudelleen ja uudelleen, ehkä se ei ole vahinko. Joten aloin kokeilla. Ensinnäkin n8n: n sisällä olevilla lohkoilla. Sitten aloin erottaa logiikkaa manuaalisesti - tässä käsittelen syöttöä, tässä käsittelen, tässä on ydinlogiikka. Lopulta roolit alkoivat nousta esiin. Ja sitten se osui minuun. Tämä tarvitsee rakennetta. Tämä tarvitsee arkkitehtuuria. Näin syntyi AAC - Agent Action Chains. Se ei ole toinen kehys, jossa on tuhat sivua asiakirjoja. AAC on tapa rakentaa AI-järjestelmiä kuin aikuinen insinööri, ei kuin joku, joka kokoaa asioita yhteen ja toivoo parasta. Mikä on keskeinen idea? Jakaisin järjestelmän agentteihin, joilla on selkeät roolit. Jokainen agentti tekee täsmälleen yhden asian. He kaikki puhuvat JSON-sopimusten kautta - ei arvailua, ei taikaa, ei sotkua. Ajattele sitä kuin tiimiä. Yhden käden sisäänkäynti. Muut prosessien tiedot. Kolmas päättää, mitä tehdä seuraavaksi. Toinen agentti puhuu muistiin. Yksi tarttuu epäonnistumisiin. Toinen tarkkailee ja kirjaa kaiken. Kaikki tietävät työnsä.Ja yhdessä järjestelmä toimii kuin sveitsiläinen kello. AAC:n kauneus on se, että se on alustan agnostic. Voit toteuttaa sen n8n:ssä, , Pythonissa FastAPI: n avulla, jopa LangChainissa tai LangGraphissa, jos otat aikaa asentaa se oikein. Myyjä.com Here’s How It Works (In Plain English) Kuvittele vankka tiimi.Ei kaoottinen ryhmä, jossa kaikki tekevät kaiken kerralla, vaan miehistö, jossa jokainen tietää työnsä, omistaa tilansa ja toimittaa selkeän tuloksen. Juuri näin AAC toimii. Kun syöttö osuu järjestelmään - joko käyttäjältä tai ulkoiselta palvelulta - se kulkee ensin agentin läpi, joka yksinkertaisesti avaa oven ja sammuttaa sen. Sitten tulee peruskäsittely. Emme kiirehdi johtopäätöksiin. Ensinnäkin rakennamme syöttöä, puhdistamme melun, normalisoimme sen. Seuraavaksi tulee orkestraattori. Se on järjestelmän aivot. Se ei suorita itse tehtävää. Sen sijaan se selvittää, kenen pitäisi tehdä mitä, missä järjestyksessä, millä parametreilla. Orchestraattorin rooli on suunnitella, ohjata ja hallita virtausta. Sitten asiantuntijat ottavat haltuunsa. Nämä toimijat keskittyvät. Yksi luokittelee, toinen tiivistää, kolmas kerää ulkoisia tietoja ja niin edelleen. Jokaisella on selkeä tarkoitus. He eivät päällekkäistä, he eivät taistele vastuista, he eivät kirjoita toistensa tuotoksia uudelleen. Voit vaihtaa niitä, parantaa niitä, käyttää niitä uudelleen - aivan kuten hyvät ohjelmistomoduulit. Kun järjestelmä tarvitsee muistaa jotain, muisti tulee peliin. Se on sen oma agentti. Se ei tallenna kaikkea sokeasti. Sen sijaan se tietää, miten saada oikeat asiat oikeaan aikaan - aiemmat keskustelut, käyttäjän konteksti, sisäiset tosiasiat. Näin järjestelmä lakkaa olemasta kultainen kala ja alkaa toimia kuin todellinen avustaja. Virheiden käsittelyä käsitellään yhtä vakavasti. AAC: ssä on siihen omistettu agentti - Guard. Se valvoo epäonnistumisia, tarttuu poikkeuksiin, ryhtyy toimiin, kun jokin rikkoo. Se ei ole laastari, ei satunnainen yritys. Se on todellinen osa arkkitehtuuria. Ja se vastaa joustavuudesta. Kun kaikki tämä tapahtuu, tarkkailija tarkkailee hiljaa. Se seuraa, mitä jokainen agentti tekee, kuinka kauan asiat kestävät, mitä päätöksiä tehdään. Ei vain hauskaa - tämä antaa sinulle näkyvyyttä järjestelmään. Se toimi siis, Se toimi ja missä se voi epäonnistua. Miten Miksi Ja lopuksi, kun koko ketju on tehnyt työnsä, tulos on muotoiltu ja toimitettu - takaisin käyttäjälle, API-vasteeseen tai minne tahansa se tarvitsee mennä. Se on AAC. Järjestelmä, joka on rakennettu paitsi toimimaan, mutta kehittymään, skaalautumaan ja pysymään hallinnassa. All AAC Roles: Who Does What and Why It Matters Jokainen agentti ei ole pelkästään tekninen lohko – se on looginen yksikkö, jolla on määritelty rooli ja viestintäsopimus.Tämä osio katkaisee, mitä nämä roolit ovat, miten ne vuorovaikutuksessa, ja miksi jopa yhden niistä ohittaminen johtaa usein arkkitehtoniseen kipuun myöhemmin. Ingress Agent: the Entry Point Tutustu saapuvaan signaaliin. Purpose: Tämä voi olla webhook, lomakkeen lähettäminen, Telegram-viesti, Kafka-tapahtuma - se ei todellakaan ole väliä. Koska logiikan sekoittaminen integrointikerroksilla on ensimmäinen askel kohti monoliitin rakentamista. N8n:ssä tämä on yleensä vain webhook-solmu.Se vastaanottaa pyynnön, kirjaa tiedot ja siirtää puhtaan JSON-käyttökuorman järjestelmään. Esimerkki tästä (pseudokodi) { "source": "user", "payload": { "message": "I’d like to return my order" } } Preprocessing Agent: the Filter and Normalizer Käännä raaka-aine jotain hyödyllistä. Purpose: Tämä agentti puhdistaa melun.Se korjaa laatikon, raitaa outoja symboleja, validoi rakenteen ja poistaa avainkentät.Se varmistaa, että kaikki järjestelmään siirtynyt on ennustettavissa ja johdonmukaista. Monet ihmiset ohittavat esikäsittelyn. Suuri virhe. Se ei ole vain "hyvä olla" - se on perusta. Erityisesti kun olet tekemisissä LLM: n kanssa, kontekstinhygienia on kaikki. Yksi sotkuinen syöttö ja koko perusteluketju voi hajota. N8n:ssä tämä on tyypillisesti funktio solmu. Koodissa se voi olla välituote, käsittelijä tai pieni hyödyllisyysluokka. const cleanInput = input.message.trim().toLowerCase() Orchestrator Agent: the Brain of the System päättää, mitä pitää tapahtua. Purpose: Järjestäjä ei tee työtä itse. Sen tehtävänä on suunnitella, delegoida ja seurata. Se ottaa puhdistetun syöttötiedon, selvittää käyttäjän aikomuksen ja aktivoi oikeat asiantuntija-agentit. Yksinkertaisissa tapauksissa tämä voisi olla vain jos/else-blokkia. Kehittyneemmissä asetuksissa se on täysipainoinen LLM, joka toimii huolellisesti suunniteltujen kehotusten avulla. Esimerkiksi GPT-4 voi palauttaa jäsennellyn suoritussuunnitelman JSON: ssä: { "steps": [ {"agent": "Classifier", "input": {...}}, {"agent": "Memory", "input": {...}}, {"agent": "Responder", "input": {...}} ] } Voit jopa antaa sille luettelon käytettävissä olevista agentteista ja antaa sen valita parhaan tien eteenpäin. Tärkein ajatus on tämä: orkesterintekijä ei ratkaise ongelmaa.Se rakentaa reitin.Se päättää, kuka tarvitsee tehdä mitä ja missä järjestyksessä. Specialist Agents: Focused Experts (TOOLS) Suorita yksi hyvin määritelty tehtävä. Purpose: Nämä agentit eivät ole täällä ratkaisemaan koko ongelmaa - vain yksi tietty osa siitä, ja tee se hyvin. Pyynnön luokittelu Luo vastaus Ulkopuolisten yhteisöjen Valitse ulkoinen API Tekstin kääntäminen Saatat päätyä kymmeniin näistä. Jokainen on erillinen toiminto, puhdas moduuli tai alivirtaus n8n:ssä. Ja juuri tämä tekee järjestelmästä joustavan ja skaalautuvan. Haluatko lisätä uuden ominaisuuden? Luo vain uusi asiantuntija ja rekisteröidy se. Orkestraattoria ei tarvitse kirjoittaa uudelleen - se tarvitsee vain tietää, että tämä työkalu on olemassa. Esimerkki orkesterintekijän ja asiantuntijan välisestä sopimuksesta: { "agent": "Classifier", "input": { "text": "My order never arrived" }, "output_expected": { "label": "delivery_problem" } } Memory Agent: the Interface to the Past Tarjoa asianmukainen konteksti. Purpose: Se kysyy tietokantaa, vektorikauppaa, Redis-välimuistia - mitä tahansa sinulla on - ja palauttaa tarkalleen mitä tarvitaan. Se ei tee päätöksiä, ei arvaa, ei hallusinoi. Voit käyttää sitä hakemaan käyttäjän aiempia tilauksia, vastaamaan vektorin upotuksia tietokannasta tai kaapata aiempia vuorovaikutuksia. AAC: ssä muisti on aina oma asia. Näin voit skaalata sen, välimuistiin tai jopa liittää sen useisiin järjestelmiin. SELECT * FROM orders WHERE user_id = "user_42" ORDER BY created_at DESC LIMIT 3 Guard Agent: Protection from Chaos selvittää ja käsitellä epäonnistumisia. Purpose: Jos asiantuntija kaatuu tai orkestraattori rikkoutuu, vartija astuu sisään. Se kirjautuu virheeseen, lähettää hälytykset ja valinnaisesti käynnistää palautuslogiikan - kuten toistaa toisen agentin kanssa tai palauttaa turvallisen oletusvasteen. Tuotannossa tämä rooli ei ole neuvoteltavissa. Virheet tapahtuvat. GPT voi palauttaa roskia. API:t saattavat olla ajastettuja. Tarvitset kerroksen, joka tietää, mitä tehdä, kun asiat menevät sivuun. Esimerkki: GPT palauttaa virheellisen JSON:n. Vartija kaappaa sen, kirjautuu ongelmaan, ilmoittaa Slackille ja lähettää palautusviestin. { "error": "Invalid JSON from Summarizer", "fallback_response": "Sorry, I couldn’t process your request. Forwarding it to a human operator." } Observer Agent: the System’s Black Box kirjautua, analysoida ja antaa sinulle näkyvyyttä siihen, mitä todella tapahtui. Purpose: Tämä agentti ei häiritse – se vain katsoo. Haluatko seurata, kuinka kauan kunkin agentin vastatessa kesti? Mitä tietoja muistiagentti vetää? Kuinka usein vartijan piti laukaista takaisku? Observer kirjaa kaiken sen mihin tahansa työkaluun käytät - Supabase, Amplitude, Segment, tai jotain mukautettua. Ajattele sitä kuin lentokoneen mustaa laatikkoa.Toivottavasti et tarvitse sitä, mutta kun jokin rikkoutuu, se on ainoa tapa ymmärtää, mikä meni pieleen. Ilman tarkkailijaa lennät sokeana. Sen avulla saat täydellisen kuvan. Egress Agent: the Final Touch Pidä prosessi puhtaana. Purpose: Tämä agentti ottaa lopullisen tuloksen, muotoilee sen ja toimittaa sen minne se tarvitsee mennä - käyttäjälle, API: lle, webhookille, Slackille, mitä tahansa. Yksi yleisimmistä virheistä on unohtaa tämä vaihe.Ilman omistautunutta egress-agenttia olet vaarassa lähettää rikkoutuneita tietoja, raaka-aineistoja tai vastauksia väärään paikkaan. { "status": "success", "reply": "We’ve reviewed your case. Thank you for reaching out!" } Voit ajaa niitä rinnakkain, korvata ne itsenäisesti, käyttää niitä uudelleen ketjujen yli. What’s Next? How to Start Using AAC in Your Projects Miten aloitat AAC: n käytön projekteissasi Jos luet tätä, on todennäköistä, että olet jo kohdannut samat ongelmat, joita tein. Projekti kasvaa jatkuvasti. Käyttötapaukset moninkertaistuvat. Logiikka leviää laajemmalle. Aineet tulevat "älykkäämmiksi" - mutta järjestelmä muuttuu hauraammaksi. Mikä oli siisti MVP eilen on nyt muuttunut sotkuiseksi sotkuiseksi. Haluatko lisätä uuden haaran? Se on ongelma. Yritä selvittää, miksi GPT palautti jotain outoa? Ei ole aavistustakaan, missä se edes tapahtui. Tämä on hetki, jolloin alatte kysyä - onko muuta tapaa? Siellä on AAC:n toteuttaminen tarkoittaa ajattelutapojen muuttamista.Se on siirtyminen taikuudesta tekniikkaan. Ja lähtökohta ei ole koodi. Se katsoo järjestelmääsi eri tavalla. Yritä kuvitella logiikkasi itsenäisten asiantuntijoiden ketjuna. Yksi ottaa syötteen. Toinen valmistelee tiedot. Kolmas päättää, mitä tehdä. Sitten tulee täytäntöönpano. Tämän jälkeen - muisti. Sitten joku tarttuu epäonnistumisiin. Lopuksi joku kirjaa, mitä tapahtui. Se on tuleva agentti, AAC-tyyli. Tällä hetkellä kuitenkin kaikki nämä roolit ovat joko epäsuorasti tai sekoitettu yhteen niin pahasti, että kukaan ei tiedä, mikä on mikä. Ensimmäinen todellinen askel on tehdä nämä roolit nimenomaisiksi. Jopa vain henkisesti. Piirrä ne. Anna heille nimet. Aloita kysymällä oikeita kysymyksiä: kuka on vastuussa orkestroinnista täällä? Missä on muisti? Miten tiedän, jos asiat todella toimivat? Mitä tapahtuu, jos yksi lohko epäonnistuu? Kun teet sen, modulaarisuuden arvo muuttuu ilmeiseksi. Kun kaikki on yhdistetty yhteen paikkaan, yksi virhe rikkoo koko järjestelmän. Mutta kun asiat on jäsennelty löysästi kytkettyinä agentteina, epäonnistumiset eristetään - ja järjestelmä jatkaa toimintaa. Siksi AAC: ssä jokainen agentti on eristetty, kommunikoi sopimusten kautta ja ei ole tietoinen muista. Se on kuin mikropalvelut yhdessä putkessa. Ja sitten alkaa hauska. Yhtäkkiä huomaat, että voit käyttää uudelleen osia järjestelmästä. Samaa luokitusagenttia, joka käsittelee yhtä virtaa, voidaan käyttää toisessa. Muistin lohkoa voidaan jakaa useiden ketjujen välillä. Voit jopa tehdä orkestraattorista älykkäämpiä - anna sen valita, mitkä agentit laukaisevat. Tämä ei ole fantasia. Tämä on peruslinjan kypsyys AAC tuo. Koodittomilla alustoilla, kuten n8n, tästä tulee todellinen supervoima. Aloitat rakentaa kirjastoa agentteja. Jokainen on alivirta määritellyllä sopimuksella. Haluatko rakentaa uuden botin? Soita vain tarvittavat agentit, järjestyksessä tarvitset niitä. Haluatko korvata lohkon? Tee se ilman pelkoa. Haluatko seurata suorituskykyä tai seurata, missä asiat epäonnistuvat eniten? Sinulla on jo se - Tarkkailija tallentaa kaiken, Guard tallentaa jokaisen epäonnistumisen. Alatte nähdä järjestelmän kuin insinööri, ei joku pelkää koskettaa koodia. Sinä suunnittelet. sinä muutat ketjun GPT-puheluista todelliseksi arkkitehtuuriksi - jotain, joka elää, mittakaavassa, lokeissa, kehittyy. Ja jos sinulla ei ole aikaa rakentaa kaikkea uudelleen juuri nyt - se on kunnossa. Aloita yhdellä virralla. Yksi syöttökohta. Yksi rehellinen hetki, jossa sanot: "Okei, anna minun kokeilla uutta lähestymistapaa täällä. Tämä on hetki, jolloin aloitat rakentamisen AAC: n kanssa. Ja mahdollisuudet ovat - et halua palata.