2026-07-31T04:21:58.270Z
LangChain Transferencia entre múltiples agentes: estado, contexto y resultado de la auditoría
Audite las transferencias de LangChain en ruta, estado, protocolo de herramienta, contexto, trabajo de destino, espera y resultados verificados.
Para una transferencia multiagente LangChain , una llamada exitosa a la herramienta de transferencia es solo la primera prueba. Trate la transferencia como saludable cuando se permite la ruta declarada, el estado de control pasa al agente deseado, se cierra el ciclo de llamada de herramienta, llega el contexto requerido, el destino comienza un trabajo útil y el resultado solicitado se verifica de forma independiente. Esa respuesta es importante porque un gráfico puede seguir ejecutándose después de una transferencia dañada. goto puede nombrar un nodo mientras que active agent aún nombra otro. Una herramienta de transferencia puede regresar sin una respuesta de herramienta coincidente. El nuevo agente puede comenzar con un contexto incompleto. También puede producir un mensaje final pulido mientras la tarea externa permanece inconclusa. Esta guía convierte esos límites en un recibo sin contenido y reproduce ocho casos sintéticos. Los ejemplos reflejan la documentación oficial LangChain y LangGraph recuperada el 30 de julio de 2026. En esa verificación, PyPI informóLangChain 1.3.14yLangGraph 1.2.10. Fije y vuelva a verificar sus propias versiones de dependencia porque los contratos de estado y de transmisión pueden cambiar. Elija una transferencia para una conversación directa y llena de estado LangChaindocumentación de traspasosdefine el patrón a través del estado. Una herramienta actualiza una variable como current step o active agent ; La configuración posterior del modelo o el enrutamiento de gráficos lee esa variable. El estado persiste a lo largo de los turnos, por lo que el especialista actualmente activo puede continuar hablando directamente con el usuario. Esta es una buena opción cuando: una conversación pasa por etapas secuenciales; las capacidades deberían desbloquearse sólo después de una condición previa; el especialista activo debe mantener el control en el siguiente turno; el usuario debe interactuar directamente con ese especialista. No comience con varios agentes sólo porque la tarea sea complicada. El funcionariodescripción general de múltiples agentesdice que un solo agente con las herramientas adecuadas e instrucciones dinámicas a menudo puede hacer el trabajo. Distingue las transferencias de los subagentes, las habilidades, los enrutadores y los flujos de trabajo personalizados. Un valor predeterminado razonable es un agente más middleware cuando la identidad del "agente" es principalmente un cambio en el mensaje, las herramientas o la etapa. Elija subgrafos de agentes separados cuando los especialistas necesiten estados, herramientas, lógica de ciclo de vida o propiedad realmente diferentes. Esta elección afecta al contrato de prueba: Agente único con middleware: demuestra que la variable de estado cambió y la siguiente llamada al modelo recibió la configuración deseada. Múltiples subgrafos: también prueban que el enrutamiento del gráfico llegó al destino y que el destino recibió el contexto correcto. Las transferencias son con estado y de múltiples saltos. No son la elección natural para el despliegue paralelo y no prueban por sí solos que un especialista haya terminado el trabajo del usuario. Audite seis límites en orden El ejemplo documentado de subgrafos múltiples devuelve un Command con goto , una actualización de active agent , un ToolMessage y un graph=Command.PARENT . LangChain requiere explícitamente que ToolMessage use el tool call id coincidente cuando una herramienta de transferencia actualiza el historial de mensajes. Sin esa respuesta, el ciclo de solicitud respuesta de la herramienta del modelo queda mal formado. Esos campos definen comprobaciones importantes, pero no cubren toda la operación: Límite Evidencia mínima estado fallido Próximo movimiento seguro Ruta Se declara to agent y goto === to agent ROUTE REJECTED Bloquear la transferencia; restaurar una ruta declarada Control El estado anterior nombra al remitente y el estado posterior nombra al receptor. STALE CONTROL Conciliar el estado persistente antes de volver a intentarlo Protocolo de herramienta un ToolMessage cierra el tool call id exacto OPEN TOOL PROTOCOL Historial de reparaciones antes de otra llamada de modelo Contexto cada clave de contexto requerida está presente en el destino CONTEXT INCOMPLETE Reconstruir el contrato de transferencia mínima Destino el nodo deseado registra un inicio admitido DESTINATION NOT STARTED Inspeccionar el enrutamiento y la admisión de nodos Resultado un verificador de tarea específica registra el resultado esperado FALSE COMPLETE Vuelva a abrir la tarea; No confíes en el mensaje final. La verificación del contexto debe comparar un esquema, no una transcripción. Por ejemplo, una transferencia de ventas podría requerir request type , customer tier y consent status . El recibo registra esos nombres clave y quizás resúmenes de contenido; no necesita el mensaje del cliente ni los argumentos de la herramienta. Este límite es especialmente importante para subgrafos separados. LangChain advierte que su flujo de mensajes requiere ingeniería de contexto explícita. Pasar todo puede inflar el contexto o exponer datos irrelevantes. Pasar muy poco puede hacer que el receptor resuelva con confianza una tarea diferente. Defina las claves requeridas por ruta y cierre por falla cuando estén ausentes. La recepción del inicio del destino es independiente de la actualización del estado de control. Un reductor puede aceptar active agent: "sales agent" incluso si el nodo de ventas nunca es admitido, falla inmediatamente o espera en una cola. La mutación del estado es actividad. Un evento de destino establece que el receptor realmente comenzó. Reproducir un recibo de ocho cajas El artefacto de este artículo utiliza únicamente campos estructurales sintéticos: Su clasificador aplica una regla de precedencia. Los fallos anteriores evitan que una señal verde posterior los oculte: Ejecute el dispositivo local completo con: La repetición produjo ocho clasificaciones esperadas de ocho casos: Esta no es una afirmación sobre la tasa de fallas sobre LangChain. Es una prueba de la regla de decisión. La observación útil es que el enrutamiento y el estado alineados aún son insuficientes: cambiar solo el ID del mensaje de la herramienta, el conjunto de claves de contexto, la hora de inicio del destino o la recepción del resultado cambia el veredicto. El dispositivo también evita un atajo tentador. Si el estado final dice complete pero no hay recepción del resultado, el clasificador devuelve FALSE COMPLETE , incluso cuando todos los campos específicos de la transferencia son válidos. La corrección de la transferencia y la corrección de la tarea son cuestiones diferentes. Preservar la espera legítima Un agente de destino puede necesitar que una persona apruebe una compra, revele un secreto a través de un canal autorizado o elija entre opciones irreversibles. Eso no es automáticamente un traspaso estancado. Registre una espera válida con: un owner responsable; un reason acotado; un futuro deadlineUtc ; un resumeTokenId duradero; el estado de destino y el contexto requerido ya persistían. Cuando existan los cinco hechos, dirija la ejecución a WAITING ON APPROVAL . Notifique al propietario y deje el gráfico en paz hasta la fecha límite o una decisión. Las llamadas repetidas al modelo no resuelven la autoridad faltante; sólo gastan presupuesto y corren el riesgo de efectos duplicados. Si la espera no tiene dueño ni fecha límite, califícala como incierta más que saludable. Si falta el token de reanudación, es posible que una respuesta humana no se vuelva a conectar al estado correcto del gráfico. Si el destino declara completado mientras aún espera, el verificador de resultados tiene prioridad sobre la respuesta final amistosa. Esta distinción ofrece a los operadores un límite de intervención práctica: En espera: preservar el estado y presentar la decisión a su propietario. Control obsoleto o protocolo abierto: detener la continuación automática y conciliar las pruebas. Falso completo: vuelva a abrir la tarea y ejecute el verificador de resultados. Saludable: no hacer nada. Lo predeterminado es la observación, no la recuperación. Un desvío puede repetir un efecto secundario y un mensaje reconstruido puede cambiar lo que ve el receptor. Requerir autoridad explícita antes de que una intervención pueda alterar el estado externo. Pon el recibo al lado del gráfico. Recopile cada límite donde su evidencia se vuelva conocible: 1. En la creación de la transferencia: remitente, destinatario previsto, versión del contrato de ruta, ID de llamada de herramienta, nombres de claves de contexto requeridos. 2. Después de la reducción de estado: observado active agent , alcance del gráfico resultante, ID de mensaje de herramienta coincidente. 3. En la admisión al destino: identidad del nodo, hora de inicio, identidad del intento, resultado del contrato de contexto. 4. En un punto de control de espera: propietario, motivo, fecha límite e ID del token de currículum opaco. 5. En la verificación de la tarea: nombre del verificador, resultado, actualidad y un ID de recibo no confidencial. No asuma que un canal estatal privado es telemetría privada. ElDocumentación de la API de gráficos LangGraphadvierte que los canales privados no se eliminan automáticamente cuando se transmiten valores. Restrinja las claves transmitidas explícitamente o emita un evento de estado minimizado por separado. Un recibo de transferencia seguro debe excluir indicaciones, cuerpos de mensajes, argumentos de herramientas, resultados de herramientas, secretos y rutas locales absolutas. Versione la ruta y los contratos de contexto. Sin una versión, un remitente más antiguo puede parecer saludable mientras transfiere campos que un destino más nuevo ya no comprende. Mantenga una identidad de operación estable en todos los reintentos para que una segunda transferencia no se convierta en una segunda acción externa. Finalmente, elija un verificador de resultados que coincida con la tarea. Una transferencia de soporte podría requerir un cambio de estado del ticket; una transferencia de compra podría requerir un ID de pedido del sistema de destino; una transferencia de codificación puede requerir pruebas más el artefacto esperado. El mensaje final de un LLM no es ese recibo. Sidewisp se encuentra actualmente en versión preliminar privada. El sitio de acceso temprano en vivo y el sistema de artículos están disponibles, pero la recopilación de estado del agente de producción, los adaptadores LangChain y la recuperación automatizada no se incluyen en el repositorio del sitio web actual. El recibo anterior es un patrón de operador que puede implementar hoy. Si una visión tranquila de la salud de estos límites ayudaría a su equipo, la lista de espera de vista previa privada es el siguiente paso apropiado.