Ambito degli agenti AI e cicli di vita degli strumenti
Costruire agenti AI è difficile perché non è facile controllarli. È necessario limitare i costi. È necessario interrompere i loop infiniti. È necessario vedere esattamente cosa è successo quando un'esecuzione fallisce.
Ho sviluppato un nuovo modo per gestire tutto questo. Utilizza una primitiva per agenti chiamata runAgent con AgentScope. Include budget, eventi riproducibili e cancellazione strutturata.
Ecco come funziona:
- Le funzioni degli strumenti sono semplici funzioni async. Non sono richiesti schemi complessi.
- I budget vengono controllati prima che uno strumento restituisca un valore. Se si raggiunge un limite, il sistema annulla l'intera esecuzione.
- I tentativi di ripristino (retries) e i timeout avvengono a livello di strumento.
- La cancellazione si propaga. Se un utente interrompe l'agente, il sistema interrompe immediatamente la fetch o la query al database attiva.
- Ottieni un log riproducibile. Ogni evento è tipizzato e ordinato.
Puoi impostare tre tipi di limiti:
- CostBudget: limita il totale di USD spesi.
- OpenAITokens: limita il totale dei token utilizzati.
- AgentToolCalls: limita il numero totale di chiamate agli strumenti per interrompere i loop infiniti.
Questo approccio è diverso dagli altri framework. La maggior parte dei framework utilizza schemi JSON pesanti o una tipizzazione debole. Spesso mancano di primitive di budget di prima classe. Non dispongono di un modo unificato per annullare tutto in una volta.
Con questo sistema, il tuo agente condivide lo stesso ciclo di vita della tua applicazione. Se il processo genitore si ferma, l'agente si ferma. Non c'è un secondo runtime da gestire.
Puoi usare il log degli eventi per:
- Creare dashboard per mappe di calore dei fallimenti.
- Riprodurre un'esecuzione in un ambiente di test.
- Verificare gli addebiti esatti analizzando gli eventi di successo degli strumenti.
- Confrontare due esecuzioni diverse per vedere dove divergono.
Questo rende gli agenti AI prevedibili e sicuri per la produzione.
Fonte: https://github.com/WorkRuntime/workit
Community di apprendimento opzionale: https://t.me/GyaanSetuAi