Skip to content

多轮与 Agent 工具编排

状态:规划中的业务模块。关联任务:V5-S01~V5-S05;查看实施计划。真实函数和测试路径由阶段开发完成后补入。

业务问题

复杂分析通常需要多个查询、比较和结构拆解。Agent 负责有状态的步骤选择,已有服务负责每个步骤的业务正确性与安全。

输入、输出与上下游

  • 输入:用户任务、结构化会话、授权、配置快照和总预算。
  • 输出:带子查询证据的分析、部分完成状态、澄清或可解释停止。
text
Task → LangGraph State → Plan → Controlled Tools → Evidence → Synthesis

核心机制

工具只能调用已验证服务。SQLExecuteTool 必须复用 V4 的完整受控执行入口;工具参数中的用户角色不能覆盖服务端身份。每个工具带 trace_id 与剩余预算。

多轮保存指标、维度、过滤、时间与版本的结构化槽位,定义继承、覆盖、清空规则。“只看华东”替换区域范围,“再和去年比”补比较窗口;切换指标后还要校验原维度是否适用。

复杂度高或置信度低时才使用多候选;多个相同结果不能证明口径正确。恢复 checkpoint 时重新确认身份和版本,不把旧授权永久固定在会话里。

失败与边界

工具反复选择:步数/时间/token 预算终止;一个分支失败:返回部分结果并说明缺口;用户撤权:恢复前拒绝;证据冲突:澄清而非强行总结。

学习实验

演示“全国城市排名→华东→同比→杭州品类”,记录每轮槽位变化;中断后恢复,确认不重复执行已完成子任务且不绕过新权限。

先写预测结果,再执行;把实际输出、数据版本和代码入口放进 验收证据。现在尚无业务实现,此处实验需要对应阶段完成后运行。

读代码与面试复述

为何 V5 才引入 LangGraph?checkpoint 恢复是否意味着业务幂等?分析原因如何避免把相关性说成因果?

阅读时先看契约,再跟一条正常链路和一条失败链路,最后读 adapter 与测试。使用 代码地图 定位模块;不要只背技术名称。

需求 → 代码 → 验证 → 复盘