AI 应用开发:LangChain 与 Agent 框架选型对比
为什么需要框架 直接调用 LLM API 可以完成简单问答,但一旦涉及多轮工具调用、状态管理、多 Agent 协作,手写代码的复杂度会迅速上升。框架的价值在于提供标准化的抽象层。 主流框架简要对比 框架 定位 优势 局限 LangChain 通用 LLM 应用开发 生态最全,集成组件多 抽象层较重,调试复杂链路较麻烦 LlamaIndex 数据检索与 RAG 为核心 索引与检索能力强 Agent 能力相对偏弱 AutoGen 多 Agent 协作 天然支持多角色对话式协作 对单 Agent 简单任务偏重 原生 Function Calling 直接使用模型能力 轻量、可控性最高 需要自行实现状态管理 选型建议 简单问答 / 单轮工具调用:优先直接使用模型的 function calling 能力,避免引入不必要的框架开销 知识库问答类应用:LlamaIndex 在索引构建与检索优化上更专注 复杂多步骤任务编排:LangChain 的 LCEL(表达式语言)或 LangGraph 提供了较好的状态图抽象 需要多个专业角色协作(如“规划者 + 执行者 + 审核者”):AutoGen 一类的多 Agent 框架更契合 一个最小 Agent 示例(伪代码) tools = [search_tool, calculator_tool] def run_agent(query): while True: response = llm.chat(messages, tools=tools) if response.tool_calls: for call in response.tool_calls: result = execute_tool(call) messages.append(tool_result(call, result)) else: return response.content 理解这个基本循环(LLM 决策 → 工具执行 → 结果回填 → 再决策)比死记框架 API 更重要,框架本质上都是在此基础上做工程化封装。 ...