1. Plain LangGraph
Use plain LangGraph when you only need normal conversational input and output.- Aion maps inbound text into
state.messages - Aion infers the final reply from streamed model output or the last
agent-authored
AIMessage - the graph does not need any Aion-specific dependency
2. Hybrid A2A
Use hybrid authoring when you want raw protocol access without adopting the higher-level fluent SDK.a2a_inboxgives you direct access to the inbound task, message, and request metadataa2a_outboxgives you direct control over the outbound A2A object- LangGraph still provides ordinary
state.messagesfor model-facing logic
3. SDK-aware LangGraph
Use theaion-authoring-langgraph surface when you want normalized
messaging primitives without hand-assembling A2A envelopes.
- request-scoped routing data stays in LangGraph runtime context, not graph state
- helper APIs write into the shared response buffer first
thread.reply(...),thread.post(...), and streamed helper output all feed the same response compiler
Which Pattern to Choose
| Pattern | Best for | Main tradeoff |
|---|---|---|
| Plain LangGraph | Simple text-first chat flows | Least control over protocol details |
| Hybrid A2A | Full A2A control with minimal new abstractions | More verbose authoring |
| SDK-aware LangGraph | Thread, message, event-router, MCP, and streaming helpers | Adds an authoring dependency |
a2a_outbox for another, and plain
LangGraph fallback for the rest without switching adapters.