Porți de aprobare
Unele apeluri de instrument nu ar trebui să se întâmple fără ca un om să spună da — trimiterea de email, postarea într-un canal, efectuarea de schimbări cu consecințe în lumea reală. Porțile de aprobare ale AiHummer pun o persoană în buclă înainte ca astfel de instrumente să ruleze și se asociază cu efecte secundare idempotente, astfel încât aprobarea unei ture recuperate să nu declanșeze niciodată aceeași acțiune de două ori.
Cum funcționează poarta
Declari ce instrumente necesită aprobare cu setarea AIHUMMER_APPROVAL_TOOLS — o
listă de nume de instrumente. Când agentul decide să apeleze unul dintre acele
instrumente, execuția se întrerupe și se ridică o cerere de aprobare pentru ca un
om să o revizuiască.
# /home/.aihummer/etc/gateway.env
# Comma-separated list of tools that require approval before execution
AIHUMMER_APPROVAL_TOOLS=mail,http_request
Cererea în așteptare apare în interfața de administrare și în API-ul de
administrare (/v1/admin/approvals), unde un evaluator vede instrumentul,
argumentele sale și contextul, apoi îl aprobă sau îl respinge.
A aproba înseamnă a rula, a respinge înseamnă a nu rula
Poarta este lipsită de ambiguitate:
- Aprobă — instrumentul se execută exact cu argumentele care au fost revizuite.
- Respinge — instrumentul nu este executat. Nu există execuție parțială sau amânată; un apel respins pur și simplu nu se întâmplă, iar tura continuă fără acel efect secundar.
[!NOTE] O respingere este o oprire dură pentru acel apel specific. Agentul nu reîncearcă în tăcere acțiunea respinsă în spatele evaluatorului.
De ce este sigur sub recuperare
Porțile de aprobare se asociază cu efectele secundare idempotente ale AiHummer. O tură poate fi întreruptă (o repornire, o defecțiune) și apoi recuperată. Fără protecție, o tură recuperată ar putea reemite o acțiune care deja s-a întâmplat — trimițând același email de două ori, postând din nou același mesaj.
AiHummer previne acest lucru cu o cheie de registru stabilă la reluare și o barieră de efecte secundare: fiecare efect secundar este înregistrat sub o cheie stabilă, iar bariera refuză să reruleze un efect pe care registrul îl arată ca fiind deja efectuat.
[!TIP] Beneficiul practic: aprobarea unei ture recuperate nu declanșează de două ori trimiterea de email sau de mesaj pe canal. Bariera asigură că efectul se întâmplă exact o singură dată, indiferent dacă tura a fost recuperată sau nu.
Vezi Multitenancy și idempotență pentru mecanica completă a registrului și a barierei de efecte secundare.
Alegerea instrumentelor pe care să le pui în poartă
Pune în poartă instrumentele ale căror efecte sunt vizibile din exterior sau greu de anulat. Candidați buni:
mail— email de ieșire.- Trimitere pe canal / livrare de ieșire către clienți sau personal.
http_requestși alte instrumente care pot modifica sisteme externe.code_execpe gazde partajate (de asemenea dezactivat implicit acolo).
Instrumentele doar pentru citire (căutare, consultare a cunoștințelor, ora) în general nu au nevoie de o poartă. Combină porțile de aprobare cu modul air-gapped și controalele de egres pentru instrumentele care ajung la internetul public.
Unde mergi mai departe
- Multitenancy și idempotență — registrul și bariera de efecte secundare din spatele efectelor exact-o-dată.
- Garduri de protecție și apărare împotriva prompt-injection — împiedică modelul să fie dirijat malițios spre apelarea unui instrument cu poartă.
- Rețea, audit și air-gapped — restrânge ce pot accesa instrumentele.