2026-08-01T06:53:43.030Z

n8n AI Token dell'agente Uso: costruire una contabilità di chiamate

Aggregare ogni chiamata di modello n8n con identità stabili, riprova contabilità, attribuzione di lavoro annidato e copertura esplicita di utilizzo.

Il modo affidabile per misurare n8n AI utilizzo del token Agent è quello di creare una riga di registro per ogni invocazione di modello, quindi aggregare tali righe per risultato verificato. Non aggiungere recursivamente ogni oggetto tokenUsage in un'esportazione di esecuzione. Che può contare un istantaneo di esecuzione ripetuta due volte, contare l'utilizzo rispecchiato da un nodo madre di nuovo, o mescolare token stimati in un totale riportato dal fornitore. Un default utile ha quattro regole: 1. raccogliere l'utilizzo solo dall'uscita della chiamata di modello; 2. identificare un'osservazione con campi di esecuzione, nodo, esecuzione, elemento e provider call; 3. mantenere i retries e le chiamate annidate come utilizzo reale, ma aggregarli sotto una logicalOutcomeId ; 4. la relazione sull'utilizzo e sulle stime del fornitore in colonne separate, con copertura accanto al totale. Questo progetto risponde alla domanda operativa che sta dietro la ricerca: non solo dov'è il numero?, ma cosa ha realmente consumato questo flusso di lavoro di successo, e quanto di quel numero è noto? Utilizzare un registro delle chiamate, non una somma ricorrente La fonte corrente n8n rende visibile il primo limite contabile. Il suo tipo TokenUsage contiene promptTokens , completionTokens e totalTokens , con metadati opzionali di lettura in cache, ragionamento e specifici per il fornitore. Nella Implementazione del tracciamento di LangChain corrente, n8n scrive tokenUsage quando il fornitore ha fornito i conti. Se non riesce a ottenere l'uso di completamento effettivo, scrive invece tokenUsageEstimate . Questi campi non sono intercambiabili. Una stima può aiutare con una soglia di avvertimento, ma non è un utilizzo segnalato dal fornitore o una ricevuta di fatturazione. L'implementazione di tracciamento scrive anche l'uscita del modello sulla connessione linguistica modello AI. Questo dà a un collezionista un punto di partenza più sicuro che cercare ogni proprietà sotto il nodo AI Agent. Utilizzare una riga in questa forma: Gli identificatori risolvono diversi problemi. n8n documenta $execution.id come ID di esecuzione del flusso di lavoro unico e $runIndex come il conteggio basato su zero dei tempi di esecuzione del nodo corrente. nodeName e itemIndex chiamate separate all'interno di tale esecuzione. Un ID di risposta del fornitore, quando disponibile, rende l'identità più forte. Costruire la chiave di deduplicazione dall'identità di osservazione: Se un fornitore non espone un ID di chiamata, conserva un providerCallId: null esplicito e utilizza l'identità locale stabile più forte disponibile. Non hashare il prompt o la risposta come chiave primaria: le stesse richieste possono essere legittime chiamate separate e la memorizzazione del contenuto crea un problema di privacy evitabile. La chiave dell'evento risponde ho già registrato questa chiamata? Non risponde a quale risultato visibile dell'utente ha contribuito questa chiamata? Questo richiede una seconda chiave. Generare logicalOutcomeId all'ingresso del flusso di lavoro, preservarlo attraverso i retries e passarlo in ogni sotto flusso di lavoro. Il valore può essere un lavoro opaco o un ID di richiesta; non dovrebbe contenere un prompt, un indirizzo e mail o altro contenuto sensibile. Continuare a ripetere, ma deduplicare le ripetute osservazioni Le riprovazioni non sono doppiate. Un tentativo fallito che raggiungeva un modello consumava token anche quando il tentativo successivo ebbe successo. L'abbandono rende un flusso di lavoro poco affidabile più economico proprio quando i rifiuti vengono riprovati. Le ripetute osservazioni sono diverse. Supponiamo che un collezionista di sondaggi porti l'esecuzione 811 , e poi porti la stessa esecuzione completata di nuovo. Sono due istantanee delle stesse chiamate. Allo stesso modo, un output parent AI Agent può contenere una copia diagnostica dell'utilizzo del modello che esiste già nell'output linguistico modello modello AI dei nodi modello. Tali copie non dovrebbero creare nuove righe di libro maggiore. La regola e' ristretta: lo stesso eventKey rivisto: aggiornare la freschezza o la provenienza, ma non aggiungere token; chiamata di fornitore diverso nello stesso nodo: mantenere; indice di esecuzione differente: mantenere; un'esecuzione di ritorno con un'ID di esecuzione diversa: conservarla; un'esecuzione annidata con un'ID di esecuzione diversa: conservarla; la stessa chiamata rispecchiata sotto una connessione non modello: ignorare lo specchio. Ho testato quella regola con un dispositivo sintetico di esecuzione dettagliata. Contiene quattro istantanee: un'esecuzione fallita, lo stesso istantaneo fallito una seconda volta, un nuovo tentativo di successo e un'esecuzione di un bambino incastrato. I nodi genitori riflettono l'uso effettivo e una chiamata modello espone solo una stima. Misurazione Risultato : oggetti visibili tokenUsage trovati con ricerca ricorsiva 12 Summa di token effettivo ricorsivo ingenuo 6,020 Convoche di modello segnalate da fornitori unici 4 Token immediati effettivi 1,670 Token di completamento effettivo 280 Token totali effettivi 1,950 Solo chiamate stimate 1 Sezioni di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito di credito 120 Copertura delle chiamate effettive 80% Il risultato ricorrente è stato 3.09× il totale del libro di contabilità semantico. Ha contato gli istantanei di esecuzione duplicati e gli specchi del nodo madre. Il libro maggiore non ha scartato il tentativo fallito: quel tentativo ha contribuito a 1.060 dei 1.950 token effettivi per l'esito finale, o 54.4% in questo sistema. Questa distinzione conta. Chiamare il primo tentativo un duplicato sottovaluterebbe l'uso reale di più della metà. Chiamare ogni copia visibile una nuova invocazione sovrastimerebbe l'uso di più di tre volte. L'identità risolve entrambi gli errori. Il bambino nidificato ha contribuito con altri 350 token effettivi. Ha mantenuto il proprio ID di esecuzione e la chiave di evento, quindi non poteva colpirsi con il suo genitore. La condivisione di logicalOutcomeId: support ticket 42 ha attribuito tale lavoro allo stesso risultato previsto. L'appello solo per stime è rimasto al di fuori del totale effettivo. L'aggiunta di tale numero produrrebbe 2.070 token, ma quel numero che sembra più preciso nascondeva un fatto più debole: una delle cinque chiamate non era stata utilizzata dal fornitore. Il pannello di controllo deve mostrare actualTotalTokens: 1950 , estimatedTotalTokens: 120 e actualCoveragePct: 80 , non una sola somma non etichettata. È possibile riprodurre il confronto salvando la forma di esecuzione sopra come una fissazione e eseguendo il ciclo di registro mostrato di seguito. La parte importante è la regola decisionale, non queste percentuali sintetiche; i rapporti di produzione dipendono dal flusso di lavoro, dai nodi di modello, dai fornitori, dalla politica di retry e dalla conservazione dei dati. Estrarre dati dettagliati di esecuzione con controlli di copertura Il contratto pubblico di API n8n per recuperare una esecuzione accetta includeData . Il relativo schema di esecuzione dice che i dati dettagliati sono inclusi solo quando quella bandiera è vera. Il collezionista può quindi ottenere un'esecuzione completata con una richiesta in forma di: Tenere la chiave sul lato server, richiedere i dati di esecuzione minimi richiesti e non copiare le richieste o i corpi di risposta nel libro maggiore dei token. Il collezionista ha bisogno di identificatori, stato, struttura di esecuzione, campi di utilizzo e prove di copertura non contenuti di conversazione. Quindi camminare data.resultData.runData nodo per nodo: Tratta questo come un adattatore di versione, non come un parser senza tempo. Convalidare l'output effettivo di ogni tipo di nodo modello che si impiega. Un'istantanea di sorgente n8n più recente può esporre metadati di tracciamento come llm.tokens.in , llm.tokens.out , llm.tokens.total e una bandiera stimata, ma i nodi più vecchi o specifici per il fornitore possono differire. Conserva campi sconosciuti per la diagnosi e non copra visibilmente quando un modello non ha un uso riconosciuto. Anche i dati dettagliati possono non essere disponibili. n8ns endpoint di esecuzione documenta un limite di dimensioni di display configurato e il prodotto supporta la redazione dei dati di esecuzione. Le impostazioni di conservazione possono rimuovere vecchi corpi di esecuzione. Un corpo mancante significa quindi uso non disponibile, non zero token. Contatori di copertura di registrazione per ogni finestra di raccolta: Il denominatore deve includere invocazioni di modello riconosciute senza uso. Altrimenti un collezionista rotto può segnalare la copertura del 100% sulle poche chiamate che è successo per analizzare. Aggregato per risultato verificato Un totale simbolico è utile solo accanto al lavoro che ha acquistato. per ciascuna logicalOutcomeId , aggregato: le entrate, le uscite, la cache, il ragionamento e i token totali effettivi quando esistono tali campi; token stimati in colonne separate; conteggio distinto di richieste e di esecuzione; token falliti; i token di esecuzione in nidificazione; la copertura della raccolta e l'ultima volta di visione; un ricevimento deterministico di risultato. La ricevuta dipende dal flusso di lavoro. Un flusso di lavoro di supporto potrebbe richiedere un aggiornamento del biglietto con lo stato previsto e l'ID di destinazione. Un flusso di lavoro di documento potrebbe richiedere un oggetto ad una chiave di archiviazione nota più un hash di contenuto. Un flusso di lavoro di distribuzione potrebbe richiedere test, stato di distribuzione e una risposta sanitaria pubblica. L'ultima esecuzione n8n riuscita è la prova dell'attività; non dimostra l'effetto esterno richiesto. Utilizzare tre visualizzazioni invece di un numero sovraccarico: 1. View di invocazione per il debug di una singola chiamata di modello. 2. View di esecuzione per le relazioni di esecuzione dei nodi, lo stato e la riprova. 3. Ooutcome view per tutti i tentativi e il lavoro incastrato che ha prodotto o non ha prodotto il prodotto consegnato. Solo la vista degli esiti supporta una dichiarazione come questo aggiornamento di biglietto verificato ha utilizzato 1.950 token segnalati dal fornitore, più 120 token stimati, su cinque modelli di chiamata con copertura dell'80% delle chiamate effettive. Espune anche un risultato fallito con un utilizzo elevato invece di averlo in traffico apparentemente sano. Se in seguito si calcolano i soldi, unire il libro più grande a una tabella di prezzo modello datata utilizzando fornitore, modello, regione o livello di servizio, se del caso, e la classe dei token. Non dedurre il costo storico dal prezzo di oggi. Non utilizzare solo le righe di stime dei prezzi come dati di fatturazione conciliati. Etichettare il risultato stimato fino a quando non corrisponde a una fattura del fornitore o a un registro di costi autorizzato. Promuovere il pannello di controllo solo dopo il passaggio dell' audit Prima di affidarsi a un dashboard di token AI Agent, eseguire un flusso di lavoro controllato con una chiamata di modello conosciuta, una esecuzione di nodo ripetuto, una riprova forzata e un flusso di lavoro sotto nido. Ispezionare i dati dettagliati di esecuzione e richiedere i seguenti controlli: ogni invocazione attesa produce esattamente una riga del libro maggiore; il fatto che la stessa esecuzione venga eseguita due volte non modifica i totali; un tentativo fallito rimane nel totale dei risultati; l'esecuzione del minore appare una volta sotto l'esito dei genitori; l'utilizzo effettivo, stimato e mancato rimangono separati; la cancellazione o la redazione dei dati di esecuzione riduce la copertura invece di produrre zero; la ricevuta del risultato non è sufficiente quando il consegnabile esterno è assente. Il dispositivo qui ha superato tali controlli contabili, ma non dimostra la compatibilità con ogni nodo o fornitore n8n. Questo è il limite: il disegno del libro più grande è riutilizzabile; l'adattatore è specifico per la versione. Sidewisp è destinato a rendere l'efficienza del tempo e del budget parte integrante della salute dell'agente AI, oltre alla disponibilità, all'esecuzione, alla memoria, agli strumenti e ai risultati. L'utilizzo dei token e l'analisi dei costi stimati sono pianificati, ma quella capacità non è stata spedita oggi. Sidewisp è attualmente in anteprima privata. Fino a quando un tale livello di salute non è connesso, mantenere il libro più grande vicino a n8n, raccogliere i metadati minimi necessari e non promuovere alcuna ottimizzazione a meno che sia l'utilizzo che il risultato verificato migliorino.