Decision Tree Pattern
决策树是正向约束,能让 agent 在需要做判断时行为可控。
核心思想
skill 的核心价值是封装专家才有的判断知识。决策树把"应该怎么判断"写清楚,而不是用模糊语言把判断压力甩给 agent。agent 不需要推理,顺着树走就行。
示例:异步消息问题排查
结果处理规则:
补全未发出消息: 若有序事件的前序有日志、后序无日志,在报告表格中补充后序事件行,tag 以外字段留空,备注标记为"消息未发出"。
消费失败处理: 判断某 tag 是否失败,标准为 resultFlag = N 且该 tag 后续无 resultFlag = Y 的记录。
- 若后续有
Y(重试成功)→ 取第一条失败行,调用错误详情查询 - 若后续无
Y(持续失败)→ 取每一条失败行,调用错误详情查询
为什么比模糊描述好
- 可执行性高:agent 不需要推理,顺着树走
- 确定性高:避免 agent 自行发挥
- 可验证:输出结果可对照决策树检查
适用场景
- 分支判断多的场景
- 需要收敛 agent 行为的场景
- 专家知识需要固化的场景
反模式
- 用模糊语言描述判断("视情况处理")
- 让 agent 自行决策而不是给出明确路径