spinny:~/writing $ vim codex-multi-agent-workflows.md
1~2Amikor egy kódoló ágens először javít ki egy hibát, a reakció szinte mindig ugyanaz: lelkesedés és gyanakvás keveréke. Szép, persze. De aztán ránézel a diff-re, és megkérdezed magadtól: "Oké, de pontosan mit nyúlt? Megbízhatok benne? Holnap ugyanígy csinálja?".3~4Szerintem itt kezdődik az érdekes rész. Nem akkor, amikor az ügynök ír egy függvényt, hanem akkor, amikor eléggé képessé válik arra, hogy teljes munkát vállaljon: olvassa el a tárat, hozzon létre egy javítást, futtasson teszteket, nyissa meg a PR-t, és térjen vissza egy felülvizsgálati megjegyzés után. A Codex pontosan ebbe az irányba halad: háttérmunka, különálló munkafák, integrált böngésző, automatizálás, bővítmények, memória és egyértelműbb engedélyek ellenőrzése.5~6A lényeg, hogy ne képzeljünk el egy olyan jövőt, ahol már senki sem olvas kódot. Szörnyű jövő lenne, ráadásul elég naiv is. A lényeg az, hogy kitaláljuk, hogyan dolgozhatunk olyan ügynökökkel, akik sokat tehetnek anélkül, hogy mindent megengednének nekik.7~8## A szokásváltás9~10A hagyományos automatikus kiegészítéssel mindig Ön volt a kormánynál. Az AI javasolt egy sort, te döntöttél. Egy ügynökkel viszont megváltozik a kapcsolat: adsz neki egy célt, és több lépésen megy keresztül egyedül.11~12Ez erős, de áthelyezi a problémát. A kérdés már nem csak az, hogy "tud-e programozni a modell?". A kérdés a következő:13~14- Elég kicsi mozgásteret adtam neki?15- tudod, hogyan kell ellenőrizni az eredményt?16- Elszigetelt környezetben dolgozom?17- A végső áttekintés továbbra is humánus és körültekintő?18~19Egy egészséges munkafolyamat inkább így néz ki, mint egy varázspálca:20~21```mermaid22flowchart LR23 Idea[Emberi feladat] --> Scope[Kicsi, ellenőrizhető cél]24 Scope --> Agent[Ügynök a munkafa elszigetelt]25 Agent --> Checks[Teszt, szösz, build, böngésző]26 Checks --> Review[Emberi áttekintés]27 Review --> Merge[Egyesítés vagy új iteráció]28 Review --> Iterate[Pontos megjegyzések a különbséghez]29 Iterate --> Agent30```31~32Kevésbé hangzik romantikusan, mint "az ügynök mindent épít", de sokkal jobban működik. Az emberekkel jól bánó csapatok is így dolgoznak: világos feladatok, gyors visszajelzés, kifejezett elszámoltathatóság.33~34## A jó felszólítás szinte jó jegy35~36A legveszélyesebb a homályos, de magabiztos felszólítás: "javítsa ki a számlák oldalát", "javítsa az architektúrát", "tisztítsa ki az auth modult". Ezek olyan kérések, amelyek eredményesen hangzanak, és hatalmas különbségeket generálnak. De aztán azon kapod magad, hogy régészettel foglalkozol.37~38Egy segítőkész felszólítás unalmasabb. Például: valósítsa meg a CSV-exportálást a számlák oldalon, tudva, hogy a tábla a `app/(dashboard)/invoices/page.tsx`-ban, a lekérdezések a `src/server/invoices.ts`-ban vannak, és már van hasonló minta a `app/(dashboard)/reports`-ban.39~40Ezután adjunk hozzá egyértelmű megkötéseket: ne változtassuk meg az adatbázissémát, ne adjunk hozzá függőséget, ha elég egy kis segédprogram, tartsuk meg a meglévő UI stílust. És zárja le az ellenőrzést: `npm test -- invoices` és `npm run build`.41~42Ez a fajta összefoglaló nem arra szolgál, hogy "jobban elmagyarázza az MI-nek". Ez mindenekelőtt azt szolgálja, hogy egyértelműbbé tegye, mit delegál. Ha nem tudja konkrétan leírni, lehet, hogy a feladat még nem áll készen egy ügynök számára.43~44## Három munka, amelyeket szívesen delegálok45~46Az első az ismétlődő, de ellenőrizhető munka: tesztek hozzáadása, hívások áttelepítése egy új belső API-ra, importálás frissítése, elavult összetevők cseréje, TypeScript hibák javítása. Itt az ügynök órákat takaríthat meg, és a kockázat ellenőrizhető.47~48A második a feltáró munka: „keresse meg, hol számítják ki ezt az összeget”, „magyarázza meg, miért törékeny ez a teszt”, „reprodukálja a hibát, és mondja meg, mely fájlokat tűnik érintettnek”. Még akkor is hasznos felderítést végezhet, ha nem készít azonnal foltot.49~50A harmadik az ismétlődő karbantartási munkák: kisebb függőségi frissítések, régi funkciójelzők tisztítása, blokkolt PR-ok összefoglalása, elfelejtett TODO-k ellenőrzése. Nem elbűvölő, de pontosan az a fajta munka, ami felhalmozódik.51~52## Három munka, amit embernek tartok53~54A termékekkel kapcsolatos döntések emberiek maradnak. Ha egy változás megváltoztatja a felhasználó fizetési módját, törli az adatokat, látja az árakat vagy megérti az engedélyt, akkor felelős személyt szeretnék.55~56A biztonsági határok is megérdemlik az emberi figyelmet: hitelesítés, szerepek, tokenek, érzékeny adatok naplózása, adatbázis-migráció. Egy ügynök segíthet a megvalósításban, de nem kell egyedüli döntéshozónak lennie.57~58Végül mindent embernek tartok, ami építészeti ízlést kíván. Egy ügynök javasolhat egy refaktort, de annak megértése, hogy valóban szükség van-e az absztrakcióra, vagy csak egy nem létező problémát csiszolunk, az továbbra is feladat marad.59~60## Az áttekintés nem kötelező61~62Ha egy ügynök jó, a kísértés az, hogy bízunk a CI zöldjében. Ez érthető. Ekkor kezdődnek a problémák is.63~64Mindig legalább öt dolgot nézek meg:65~661. A javítás csak a kért feladatot oldja meg?672. Olyan fájlokhoz nyúlt, amelyeknek semmi közük hozzá?683. A tesztek új viselkedésre vonatkoznak, vagy csak a boldog véletlenre?694. A kód a helyi mintákat követi?705. A hibákat ugyanúgy kezelik, mint a projekt többi részében?71~72Ha valami nincs rendben, a visszajelzésnek konkrétnak kell lennie. A „javítani” lusta. Jobb: ez a segédprogram a `parseMoney`-t a `src/lib/money.ts`-ba duplikálja; használja újra ezt a funkciót, adjon hozzá egy tesztet az EUR esethez, és ne módosítsa a számlázási modul nyilvános API-ját.73~74Az ügynökök sokkal jobban reagálnak az apró, ellenőrizhető megjegyzésekre. Érdekes módon az emberek is így tesznek.75~76## A védőkorlátok megérik az erőfeszítést77~78Ha egy ügynök tud fájlokat olvasni, kódot írni és parancsokat végrehajtani, akkor azt hatékony folyamatként kell kezelni. Nincs szükség paranoiára, higiéniára van szükség.79~80Használjon különálló munkafákat vagy ágakat. Így összehasonlíthatja a különbséget, eldobhatja a sikertelen kísérleteket, és nem keverheti össze az ügynök munkáját azzal, amit csinált.81~82Engedélyek korlátozása. Az olyan parancsok, mint a `rg`, `git diff`, `npm test` és `npm run build`, meglehetősen ingyenesek lehetnek. A telepítéseknek, az adatbázis-áttelepítéseknek, a titkokhoz való hozzáférésnek és a pusztító parancsoknak egyértelműnek kell maradniuk.83~84Csökkentse a hálózati hozzáférést, ha nincs rá szüksége. Számos feladathoz elegendő a hivatalos dokumentáció, a csomagnyilvántartás és a konkrét belső szolgáltatások. Kevesebb felület, kevesebb meglepetés.85~86A műveletek nyomon követése. Amikor egy javítás megérkezik a felülvizsgálatba, képesnek kell lennie a promptok, a végrehajtott parancsok, a sikeres tesztek és a módosított fájlok rekonstruálására. Nem azért, hogy bürokráciát teremtsünk, hanem azért, hogy megértsük, mi történt, ha valami elromlik.87~88## Egy egyszerű módja annak, hogy elkezdj csapatként89~90Ha ügynököket vezetnék be egy kis csapatba, nagyobb forradalmak nélkül kezdenék.91~92Létrehoznék egy `agent-ready` címkét az egyértelmű hatókörű problémákhoz. Hozzáadnék egy sablont kontextussal, megszorításokkal és ellenőrző parancsokkal. Kis PR-t kérnék, ideális esetben pár száz sor alatt. Tesztelést vagy képernyőképeket kérnék a látható változásokhoz. És mindenekelőtt egy személyt tartanék felelősnek az összevonásért.93~94Két hét elteltével megnézném az adatokat: mely feladatok gyorsultak fel igazán, melyek voltak nehézkesek az áttekintések, melyek voltak zavaróak, a kódbázis mely részei túl törékenyek ahhoz, hogy delegálják.95~96Ez kevésbé látványos megközelítés, mint a "mától mindent az ügynökökkel csinálunk", de ez az, amivel megbánás nélkül eljuthatsz a harmadik hétig.97~98## A legemberibb része99~100A vicces az, hogy minél autonómabbak lesznek az ügynökök, annál fontosabbá válnak ismét a klasszikus készségek: jó jegyet írni, apróbb vágásokat készíteni, teszteket készíteni, különbségeket olvasni, kompromisszumokat kommunikálni. Az ügynök felgyorsítja azokat, akik már tudják, hogyan kell jól dolgozni. A rosszul delegálók káoszát is felerősíti.101~102Tehát nem, nem látom a többügynökös munkafolyamatokat parancsikonnak a tervezés abbahagyására. Úgy tekintek rájuk, mint arra, hogy több energiát fordítsanak azokra a részekre, amelyek számítanak: eldönteni, mit építsünk, megbizonyosodni arról, hogy működik, a rendszer érthetően tartása.103~104Az ügynökök nagyszerű aszinkron kollégákká válhatnak. De egy aszinkron kollégának ahhoz, hogy hasznos legyen, kontextusra, határokra és áttekintésre van szüksége. Akárcsak mindenki más.105~106## Hasznos források107~108- [Codex (majdnem) mindenhez - OpenAI](https://openai.com/index/codex-for-almost-everything/)109- [A Codex biztonságos futtatása az OpenAI-n](https://openai.com/index/running-codex-safely/)110- [Bemutatkozik a Codex - OpenAI](https://openai.com/index/introducing-codex/)111- [A GitHub Copilot kódoló ügynök újdonságai](https://github.blog/ai-and-ml/github-copilot/whats-new-with-github-copilot-coding-agent/)112~
NORMAL · codex-multi-agent-workflows.md [readonly]112 lines · :q to close