Agent 框架怎么选?LangGraph、厂商 Agent SDK 和自研怎么取舍?

第 1186 题 约 2 分钟读完

本文目录
  1. 面试怎么回答
  2. 先想清楚需要什么能力
  3. 几类选择的特点
  4. 选型时看什么
  5. 我的建议

面试怎么回答

我会先列出需要的能力:工具调用循环、状态持久化、流程控制、可观测性、评测和多模型支持。图编排框架如 LangGraph 适合流程复杂、需要分支、人工介入和持久化的场景,代价是学习成本;厂商 Agent SDK 和自家模型结合紧、上手快,但绑定更深;自研轻量框架可控性最高,适合流程固定、团队有工程能力的情况,但观测和状态管理要自己补。选型看场景复杂度、模型策略、能否接入现有观测体系、版本稳定性和团队能否调试。我还会在框架之上保留自己的工具定义、Trace 和评测格式,降低换框架的成本,把主要精力放在数据、工具和评测上。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

Agent 框架更新很快:LangChain、LangGraph、LlamaIndex,还有各家模型厂商推出的 Agent SDK。面试官问「你们用的什么框架,为什么」,想听的不是某个框架有多好,而是你选型的思路。

先想清楚需要什么能力

一个生产级 Agent 通常需要:

  • 模型调用和工具调用的循环;
  • 状态管理和持久化(长任务、断点续跑、人工确认后继续);
  • 流程控制(分支、并行、循环、子 Agent);
  • 可观测性(Trace、Token 统计);
  • 评测和回归;
  • 多模型支持。

几类选择的特点

  1. 图编排框架(如 LangGraph):把 Agent 流程建模成状态图,适合流程比较复杂、需要明确控制分支和状态、需要人工介入和持久化的场景。代价是有学习成本,简单场景显得重;
  2. 厂商 Agent SDK:模型厂商提供的 SDK,和自家模型的工具调用、上下文管理等能力结合紧密,上手快,跟进新能力也快。代价是和特定厂商绑定得更深;
  3. 自研轻量框架:核心循环其实不复杂,几百行代码就能写出来。适合对可控性要求高、流程相对固定、团队有工程能力的情况。代价是状态管理、观测这些都要自己补。

选型时看什么

  • 场景复杂度:只是「问答 + 几个工具」,用 SDK 或自研就够;多步骤、有审批、要恢复,考虑图编排框架;
  • 模型策略:是否需要在多家模型之间切换;
  • 可观测性:是否能接入公司现有的日志、Trace 体系;
  • 稳定性和维护:版本变化快不快,升级会不会频繁破坏兼容;
  • 团队能力:抽象层太多时,出了问题能不能看懂、能不能调试。

我的建议

  • 框架之上保留自己的一层抽象:工具定义、Trace、评测用自己的格式,降低以后换框架的成本;
  • 先做一个最小可用版本,用评测集证明效果,再决定是否引入更重的框架;
  • 不要因为框架选择耽误对数据、工具和评测的投入,那才是效果的主要来源。