2026-07-31T04:29:08.907Z

LangChain Handoff multi-agente: stato, contesto e risultato dell'audit

Controlla i trasferimenti LangChain su percorso, stato, protocollo dello strumento, contesto, lavoro di destinazione, attesa e risultati verificati.

Per un LangChain trasferimento multi agente , una chiamata effettuata con successo dallo strumento di trasferimento è solo la prima prova. Considera il trasferimento come integro quando il percorso dichiarato è consentito, lo stato di controllo si sposta sull'agente previsto, il ciclo di chiamate allo strumento viene chiuso, arriva il contesto richiesto, la destinazione inizia il lavoro utile e il risultato richiesto viene verificato in modo indipendente. Questa risposta è importante perché un grafico può continuare a funzionare dopo un trasferimento danneggiato. goto può nominare un nodo mentre active agent ne nomina ancora un altro. Uno strumento di trasferimento può restituire senza una risposta dello strumento corrispondente. Il nuovo agente può iniziare con un contesto incompleto. Può anche produrre un messaggio finale raffinato mentre il compito esterno rimane incompiuto. Questa guida trasforma questi confini in una ricevuta priva di contenuto e ripropone otto casi sintetici. Gli esempi riflettono la documentazione ufficiale di LangChain e LangGraph recuperata il 30 luglio 2026. A quel controllo, PyPI ha riportatoLangChain 1.3.14ELangGraph 1.2.10. Blocca e ricontrolla le tue versioni di dipendenza perché i contratti di stato e di streaming possono cambiare. Scegli un trasferimento per una conversazione diretta e con stato LangChaindocumentazione dei trasferimentidefinisce il modello attraverso lo stato. Uno strumento aggiorna una variabile come current step o active agent ; la successiva configurazione del modello o l'instradamento del grafico legge quella variabile. Lo stato persiste durante i turni, quindi lo specialista attualmente attivo può continuare a parlare direttamente con l'utente. Questa è una buona soluzione quando: una conversazione si muove attraverso fasi sequenziali; le capacità dovrebbero essere sbloccate solo dopo una precondizione; lo specialista attivo deve mantenere il controllo nel turno successivo; l'utente dovrebbe interagire direttamente con quello specialista. Non iniziare con più agenti solo perché il compito è complicato. Il funzionariopanoramica multi agenteafferma che un singolo agente con strumenti adeguati e istruzioni dinamiche spesso può svolgere il lavoro. Distingue i trasferimenti da agenti secondari, competenze, router e flussi di lavoro personalizzati. Un valore predefinito ragionevole è un agente più middleware quando l'identità dell'"agente" è principalmente una modifica nel prompt, negli strumenti o nella fase. Scegli sottografi di agenti separati quando gli specialisti necessitano di stato, strumenti, logica del ciclo di vita o proprietà veramente diversi. Tale scelta influisce sul contratto di prova: Agente singolo con middleware: dimostra che la variabile di stato è cambiata e che la successiva chiamata al modello ha ricevuto la configurazione prevista. Sottografi multipli: dimostrano anche che il routing del grafico ha raggiunto la destinazione e che la destinazione ha ricevuto il giusto contesto. Gli handoff sono stateful e multi hop. Non rappresentano la scelta naturale per il fan out parallelo e non dimostrano da soli che uno specialista abbia terminato il lavoro dell'utente. Controlla sei confini in ordine L'esempio documentato con più sottografi restituisce uno Command con goto , un aggiornamento active agent , uno ToolMessage e graph=Command.PARENT . LangChain richiede esplicitamente che ToolMessage utilizzi lo tool call id corrispondente quando uno strumento di trasferimento aggiorna la cronologia dei messaggi. Senza tale risposta, il ciclo di richiesta risposta dello strumento del modello risulta non corretto. Questi campi definiscono controlli importanti, ma non coprono l'intera operazione: Confine Prove minime Stato fallito Prossima mossa sicura Itinerario Viene dichiarato to agent e goto === to agent ROUTE REJECTED Blocca il trasferimento; ripristinare un percorso dichiarato Controllare lo stato prima nomina il mittente e lo stato dopo nomina il destinatario STALE CONTROL Riconciliare lo stato persistente prima di riprovare Protocollo dello strumento uno ToolMessage chiude esattamente lo tool call id OPEN TOOL PROTOCOL Cronologia delle riparazioni prima di un'altra chiamata del modello Contesto ogni chiave di contesto richiesta è presente nella destinazione CONTEXT INCOMPLETE Ricostruire il contratto di trasferimento minimo Destinazione il nodo previsto registra una partenza ammessa DESTINATION NOT STARTED Ispezionare il routing e l'ammissione del nodo Risultato un verificatore specifico dell'attività registra il risultato previsto FALSE COMPLETE Riaprire l'attività; non fidarti del messaggio finale Il controllo del contesto dovrebbe confrontare uno schema, non una trascrizione. Ad esempio, un trasferimento di vendita potrebbe richiedere request type , customer tier e consent status . La ricevuta registra quei nomi chiave e forse il contenuto riassunto; non necessita del messaggio del cliente o degli argomenti dello strumento. Questo confine è particolarmente importante per i sottografi separati. LangChain avverte che il flusso di messaggi richiede un'ingegneria del contesto esplicita. Passare tutto può gonfiare il contesto o esporre dati irrilevanti. Passare troppo poco può far sì che il ricevitore risolva con sicurezza un compito diverso. Definisci le chiavi richieste per percorso e falle chiudere quando sono assenti. La ricevuta di inizio destinazione è separata dall'aggiornamento dello stato di controllo. Un riduttore può accettare active agent: "sales agent" anche se il nodo di vendita non viene mai ammesso, si blocca immediatamente o attende in coda. La mutazione dello stato è attività. Un evento di destinazione stabilisce che il ricevitore ha effettivamente iniziato. Riproduci una ricevuta da otto casse L'artefatto per questo articolo utilizza solo campi strutturali sintetici: Il suo classificatore applica una regola di precedenza. I guasti precedenti impediscono che un successivo segnale verde li nasconda: Esegui l'apparecchiatura locale completa con: La riproduzione ha prodotto otto classificazioni previste da otto casi: Questa non è un'affermazione sulla percentuale di fallimento relativa a LangChain. È un test della regola decisionale. L'osservazione utile è che il routing e lo stato allineati sono ancora insufficienti: modificando solo l'ID del messaggio dello strumento, l'insieme di chiavi di contesto, l'ora di inizio della destinazione o la ricezione del risultato cambia il verdetto. L'apparecchio impedisce anche una scorciatoia allettante. Se lo stato finale dice complete ma la ricevuta del risultato è assente, il classificatore restituisce FALSE COMPLETE , anche quando ogni campo specifico del trasferimento è valido. La correttezza del trasferimento e la correttezza del compito sono domande diverse. Preservare la legittima attesa Un agente di destinazione potrebbe aver bisogno che una persona approvi un acquisto, riveli un segreto attraverso un canale autorizzato o scelga tra opzioni irreversibili. Questo non è automaticamente un trasferimento bloccato. Registra un'attesa valida con: uno owner responsabile; uno reason delimitato; un futuro deadlineUtc ; un resistente resumeTokenId ; lo stato di destinazione e il contesto richiesto sono già persistenti. Quando tutti e cinque i fatti sono presenti, instrada la corsa verso WAITING ON APPROVAL . Avvisare il proprietario e lasciare intatto il grafico fino alla scadenza o alla decisione. Le ripetute chiamate di modello non risolvono l'autorità mancante; spendono solo il budget e rischiano effetti duplicati. Se l’attesa non ha proprietario né scadenza, classificatela come incerta piuttosto che salutare. Se manca il token di ripresa, una risposta umana potrebbe non riconnettersi allo stato del grafico corretto. Se la destinazione dichiara il completamento mentre è ancora in attesa, il verificatore del risultato ha la precedenza sulla risposta finale amichevole. Questa distinzione fornisce agli operatori un confine pratico di intervento: In attesa: preserva lo stato e mostra la decisione al suo proprietario. Controllo obsoleto o protocollo aperto: interrompe la continuazione automatica e riconcilia le prove. Falso completamento: riapri l'attività ed esegui la verifica dei risultati. Sano: non fare nulla. L'impostazione predefinita è l'osservazione, non il recupero. Un reindirizzamento può ripetere un effetto collaterale e un messaggio ricostruito può modificare ciò che vede il destinatario. Richiedere autorità esplicita prima che un intervento possa alterare lo stato esterno. Metti la ricevuta accanto al grafico Raccogli ogni confine in cui la sua evidenza diventa conoscibile: 1. Al momento della creazione del trasferimento: mittente, destinatario previsto, versione del contratto di instradamento, ID chiamata dello strumento, nomi delle chiavi di contesto richieste. 2. Dopo la riduzione dello stato: osservato active agent , ambito del grafico risultante, ID messaggio strumento corrispondente. 3. All'ingresso a destinazione: identità del nodo, ora di inizio, identità del tentativo, esito contesto contratto. 4. Al checkpoint di attesa: proprietario, motivo, scadenza e ID token di ripristino opaco. 5. Al momento della verifica dell'attività: nome del verificatore, risultato, freschezza e un ID ricevuta non sensibile. Non dare per scontato che un canale statale privato sia un canale di telemetria privato. ILLangGraph Documentazione API graficoavverte che i canali privati ​​non vengono oscurati automaticamente durante lo streaming dei valori. Limitare esplicitamente le chiavi trasmesse in streaming o emettere un evento di integrità ridotto a icona separato. Una ricezione di trasferimento sicura dovrebbe escludere prompt, corpi dei messaggi, argomenti dello strumento, risultati dello strumento, segreti e percorsi locali assoluti. Versione dei contratti di percorso e contesto. Senza una versione, un mittente più vecchio può sembrare integro durante il trasferimento di campi che una destinazione più recente non comprende più. Mantenere un'identità operativa stabile tra i tentativi in ​​modo che un secondo trasferimento non diventi una seconda azione esterna. Infine, scegli un verificatore di risultati che corrisponda all'attività. Un passaggio di supporto potrebbe richiedere una modifica dello stato del ticket; un passaggio di acquisto potrebbe richiedere un ID ordine dal sistema di destinazione; un trasferimento di codifica potrebbe richiedere test oltre all'artefatto previsto. Il messaggio finale di uno LLM non è quella ricevuta. Sidewisp è attualmente in anteprima privata. Il sito live ad accesso anticipato e il sistema di articoli sono disponibili, ma la raccolta dell'integrità dell'agente di produzione, gli adattatori LangChain e il ripristino automatizzato non vengono forniti nell'attuale repository del sito Web. La ricevuta qui sopra è un modello di operatore che puoi implementare oggi stesso. Se una visione tranquilla della salute per questi limiti può aiutare il tuo team, la lista d'attesa per l'anteprima privata è il passaggio successivo appropriato.