采用 Planner → Excutor → Reviewer 三角色迭代编排模式,通过 ReAct Agent 循环将用户意图自动分解为多步骤计划并调度下游 Agent 执行。
通过 Hook 和 Memory 进行状态传递。
CheckpointService 负责每个步骤后的 MySQL 持久化与恢复
ContextCompressor 实现了上下文压缩功能,触发阈值可配(默认128200字节≈125.4KB,非常接近128KB)
Pipeline + Interceptor 体系存在于 Agent 调用层(非旧设计中的 Executor 层),包含 Metrics、Logging、Tracing、Schema校验、熔断、指数退避等
一次请求的完整步骤:
-
先构建 Runcontext,通过共享状态的方式实现Agent各个步骤间的通信。
-
Planner规划:Planner本身是一个reactAgent,它会通过多轮迭代,输出任务执行规划。
-
excutor:步骤级执行,根据每个步骤对应的subAgent/skill/tools一步步向前推进,并持续更新共享状态。Excutor Pipeline包括:拦截器、链路追踪、Schema校验、指标上报、熔断、指数退避重试、日志上报、Hook桥接、实际传输。
-
上线文压缩:每轮 Planner 输出后检查上下文大小。超过 128KB 阈值触发 ContextCompressor:LLM 摘要压缩(保留最近 6 条原始消息,旧消息压缩为摘要)。LLM 失败时降级为直接截断一半最早消息。
-
Reviewer 审查(可选)。加载
agentic-reviewer-prompt.md,Reviewer ReActAgent 检查 Worker 执行结果是否满足 Planner 的预期。 -
checkPoint 持久化:每格步骤结束后都将快照落到MySQL。
存在 MySQL 里,是 RunContext 的子集 + 元数据,用于恢复和追溯
字段 说明 runId / reqId 本次运行的唯一标识 stepIndex 当前步骤序号 stepStatus PENDING / RUNNING / DONE / FAILED stepResult 该步骤的输出摘要(不是完整 RunContext) errorInfo 失败时的错误堆栈 timestamp 快照时间 -
记忆回写:提取有价值的记忆写入记忆服务。
-
返回结果:** SSE 流式推送每轮 Planner/Worker/Reviewer 的输出事件,最终返回 complete 帧。