Csevegés ügynökkel
Ez az útmutató bemutatja, hogyan dolgozhat egy ügynökkel egy térben.
Tér létrehozása
Szekció neve “Tér létrehozása”- Nyissa meg az oldalsávban a Terek pontot
- Kattintson a Terek címsor melletti + gombra
- Írjon be egy nevet — ez kötelező. Az üres nevet elutasítja a rendszer; a párbeszédablak nyitva marad
- Ha szeretne, adjon hozzá ügynököket a munkaterületről
- Ha a munkaterületen van bármilyen repó, megjelenik egy repóválasztó. Kezdetben minden repó ki van jelölve; szűkítse arra a repókra, amelyekhez ez a tér worktree-ket provisionáljon (egyetlen repó kijelölésének megszüntetése is ide tartozik)
- Erősítse meg
A Control Center megnyitja a teret, és a háttérben elkezd kijelölt repónként egy copy-on-write worktree-t provisionálni.
Az első üzenet elküldése
Szekció neve “Az első üzenet elküldése”Írja be az üzenetét a beviteli mezőbe, és nyomja le az Entert. Az ügynök elindul, és streamelni kezdi a válaszát.
Ha a tér még provisionálás alatt áll, az üzenete nem vész el, hanem várakozik — a beviteli mező megtartja, és automatikusan elküldi, amint a worktree-k elkészültek.
Ahogy az ügynök dolgozik, látja beérkezni a kört: érvelési szegmensek, eszközhívások (fájlolvasások, írások, shell-parancsok) és a válasz szövege — mindez egyetlen ügynökkör-üzeneten belül.
Futó ügynök terelése
Szekció neve “Futó ügynök terelése”Amíg egy ügynök dolgozik, a sima beszélgetési szöveg nem állít sorba új kört. Várólistás irányítókártyává válik a beviteli mező feletti sávban, és a következő körhatáron bekerül a futó futtatásba. Nincs felugró értesítés — a visszajelzést maga a kártya adja.
Három dolog változtat ezen a viselkedésen:
- Az @említést tartalmazó üzenet mindig üzenetként megy el, soha nem irányításként
- A slash-paranccsal kezdődő üzenetet mindig az adott parancsként kezeli a rendszer
- A mellékletet tartalmazó üzenet mindig üzenetként megy el — az irányítási várólista csak szöveget fogad
- Ha minden élő futtatás már befejeződött, a szöveg átcsúszik, és rendes üzenetként megy el
Blokkolt művelet jóváhagyása
Szekció neve “Blokkolt művelet jóváhagyása”Amikor az ügynök olyan műveletbe ütközik, amelyet a korlátai kapuznak — egy
destruktív parancsba vagy egy kiemelt jogosultságú eszközbe —, a szerver
blokkolja a futtatást, és jóváhagyási kérést tesz közzé minden csatlakozott
kliensnek. Ha éppen meg van nyitva az a beszélgetés, a kérés a csevegésben, a
beviteli mező felett jelenik meg, ugyanolyan számozott opciós kártyaként, mint
amilyet az ask_user használ (tiltás, jóváhagyás, és opcionálisan jóváhagyás
nyolc órára). Nincs kihagyás: a blokkolt ügynök döntésre vár.
Ha az alkalmazás más részén jár, a felületen egy mindig felül lévő panel továbbra is felsorolja, mi vár döntésre, így anélkül oldhatja fel az ügynök blokkolását, hogy a teret keresgélnie kellene. Az átfedő panel abban a pillanatban elrejti a kérést, amikor az adott tér beszélgetése megjelenik a képernyőn, így soha nem válaszol ugyanarra a kérésre kétszer.
Nincs időtúllépés: a blokkolt ügynök addig vár, amíg valaki nem dönt. Ugyanez a kérés megjelenik a beérkezett üzenetek figyelmet igénylő sávjában és a telefonos kliensen is.
Válasz egy ügynök kérdésére
Szekció neve “Válasz egy ügynök kérdésére”Az ügynöknek, ha beállítást, hiányzó követelményt vagy valódi elágazást kell
tisztáznia, muszáj meghívnia az ask_user eszközt. Ha a kérdést
csevegőüzenetként írja meg, az lezárja a kört, és újra kell kérnie. Az eszköz
számozott kártyát jelenít meg a beszélgetésben — opciók, opcionális szabad
szöveg vagy mindkettő —, és a futtatás a válaszára vár.
Koppintson egyetlen opcióra az elküldéséhez (a végi szám fölévittel nyíllá
változik). A több elem kijelölését és a beírt válaszokat a Folytatás
(⌘↵ / Ctrl↵) küldi el. A Kihagyás azt mondja az ügynöknek, hogy
válasszon egy észszerű alapértelmezést, és ne kérdezzen újra.
Ez külön mechanizmus a fenti jóváhagyási kártyától: a jóváhagyás a „megtehetem ezt?”, a kérdés pedig a „melyikre gondoltál?”. A kérdezés minden módban elérhető a beépített harnessen, a csak olvasható módokat is beleértve (nem módosít semmit), és szándékosan nincs jóváhagyási kérésbe csomagolva — egy párbeszédablak egy másik előtt zárt állapotban hibázna, ha nincs csatlakozva jóváhagyó. Egy olyan futtatás, amelynek nincs beszélgetése, ahová megjeleníthetné, egyszerűen nem kapja meg az eszközt.
Ügynök leállítása
Szekció neve “Ügynök leállítása”Amíg futások vannak folyamatban, a beviteli mező küldés gombja Leállítás gombbá válik. Ürítse ki a beviteli mezőt, és nyomja meg — ezzel leállítja a beszélgetésben futó összes ügynököt.
A tér fejlécében nincs leállításvezérlő, és billentyűparancs sincs hozzá. Ha több élő futás közül csak egyet szeretne leállítani, nyissa meg az adott futtatás tevékenységfülét — a fejléce futtatásra vonatkozó szüneteltetés/folytatás és leállítás vezérlőt tartalmaz (a leállítás megerősítést kér). A Megfigyelhetőség → Élő nézet a munkaterület minden futó ügynökét felsorolja ugyanezzel a vezérlővel.
A leállított futtatás leállítottként van megjelölve. Küldjön új üzenetet az újbóli elindításhoz.
Slash-parancsok használata
Szekció neve “Slash-parancsok használata”Írjon be egy / karaktert a beviteli mezőbe a parancslista megjelenítéséhez. A
beszélgetés viselkedését megváltoztató parancsok:
| Parancs | Mit tesz |
|---|---|
/plan |
Tervmódba váltja a teret. Az önmagában álló /plan csak élesíti a módot; a /plan <request> élesíti, és a többit az üzeneteként küldi el |
/goal <text> |
Rögzíti a beszélgetés munkacélját |
/loop <text> |
Addig iterál egy feladaton, amíg az be nem fejeződik |
/compact |
Régebbi előzményeket horgonyzott összefoglalóba hajt össze, és a tömörített kontextuson folytatja |
/todo … |
Megtekinti és szerkeszti a beszélgetés tartósított tennivalólistáját |
A készségek ugyanabban a listában, a saját skill: névterük alatt jelennek meg,
így soha nem ütköznek a fenti parancsokkal — egy plan vagy compact nevű
készség elérhető marad:
| Parancs | Mit futtat |
|---|---|
/skill:<name> |
Egy munkaterületre telepített vagy az ügynökhöz csatolt készség |
/skill:<repo>:<name> |
A térben checkoutolt repók egyike által szállított készség |
A repókészségek a származási repójuk jelvényét viselik, mert egy név önmagában
nem árulja el, melyik szolgáltatás konvencióit kódolja, és két repó is
szállíthat egy-egy testing nevűt. A megtalálásukhoz nem kell begépelnie az
előtagot: a csupasz készségnév beírása a névtérbe tartozó bejegyzésekre is
illeszkedik.
Az ügynök mindig csak annak a repónak a készségeit hordozza, amelyben éppen dolgozik — lásd a Repóhoz kötött készségek szakaszt. A beviteli mező viszont nincs így leszűkítve: a megnevezésével bármelyik repó készségét meghívhatja.
A /compact és a /todo parancsot a kliens fogja el, és soha nem
perzisztálódnak üzenetként — egy /compact sor az átiratban egy körrel hátrébb
tolná a következő tömörítés vágási pontját. A /plan a tér tárolt módját
billenti át, nem szövegként utazik. Így a három közül egyik sem „az ügynöknek
küldött üzenet”; ne számítson arra, hogy megjelennek az előzményekben.
Először kérjen tervet
Szekció neve “Először kérjen tervet”Egy összetett változtatás előtt váltsa a teret tervmódba a /plan paranccsal, a
beviteli mező eszköztárán lévő módválasztóval vagy a Shift+Tab
billentyűkombinációval. Az ügynök ezután csak olvasható módon kutat, és egy
típusos tervet ad át, amelyet jóváhagy, mielőtt bármilyen munka elindulna. Lásd
a Tervmód használata oldalt.
Ügynök elérése külön tér nélkül
Szekció neve “Ügynök elérése külön tér nélkül”Nem kell ügynökönként külön tér. Bármelyik térben:
@alice can you look at the failing tests in src/auth_test.dart?Az említett ügynök bekerül a térbe, és az adott tér kontextusával indul el. A névillesztésről lásd az Ügynökök @-említése oldalt.
Kapcsolódó útmutatók
Szekció neve “Kapcsolódó útmutatók”- Terek használata
- Ügynökök @-említése
- Tervmód használata
- Slack-integráció beállítása ugyanehhez Slackből