Skip to content

21、Agent Patterns — 不同任务用不同模式 ​

Agent 架构首先是控制流问题。模型可以负责局部判断,但任务的整体结构应该由程序明确表达。常见模式如下:

模式结构适合主要风险
Router先分类,再交给专门 Agent意图差异明显的请求分类错误
SequentialA 的输出交给 B固定步骤的分析、生成、校验中间结果污染后续步骤
Parallel多个分支同时执行,再汇总独立检索、投票、对比成本和结果合并
Evaluator-Optimizer生成器与评审器循环文案、代码、答案改进评审标准不稳定
Hierarchical管理 Agent 拆解并分派子任务大型研究或执行任务层级过深、责任不清

选择顺序 ​

先问三个问题:步骤是否固定、分支是否独立、结果是否需要反复评审。固定步骤用工作流;独立分支才并行;质量标准能被写成检查表时再加入评审器。

python
def run_request(request):
    route = classify(request)
    if route == "lookup":
        return lookup_workflow(request)
    if route == "write":
        draft = writer(request)
        return editor(draft)
    return human_review(request)

可靠性边界 ​

  • 每个节点只接受结构化输入,并校验输出。
  • 每个分支都有超时、预算和取消信号。
  • 汇总节点保留来源,不能把多个不确定结果拼成确定事实。
  • 反思不是“再问模型一次”,而是明确检查项、失败条件和最大轮次。

LangGraph 将 Agent 建模为可持久化的状态图,Google ADK 也把 LLM Agent 与工作流 Agent 分开;这两种实践都说明“模型节点”和“确定性流程”应该分层。LangGraph · Google ADK

练习 ​

为同一个“研究一家公司并给出结论”的需求分别实现 Router、Parallel 和 Evaluator-Optimizer,记录成功率、耗时、token 和错误类型,再比较哪种模式最适合真实约束。

评论

正在加载评论…