1. 了解哪些 Agent 开发框架?各自的核心组件/能力是什么?
常见框架我会按抽象层次来讲:LangChain 偏组件生态,LangGraph 偏有状态工作流和可控编排, LlamaIndex 偏数据/RAG,AutoGen 偏多 Agent 对话协作,CrewAI 偏角色化任务编排,Semantic Kernel 偏企业应用里的插件、规划与编排。核心组件一般包括模型适配、Prompt/状态、工具注册与调用、规划器、 执行器、Memory、观测与评估。
框架对比
- LangChain:链、工具、Agent、模型适配、回调、向量库集成丰富,适合快速拼装。
- LangGraph:把 Agent 建模成状态图,适合多步骤、可恢复、可人工介入的流程。
- LlamaIndex:围绕数据连接、索引、检索、查询引擎和 RAG 编排展开。
- AutoGen:强调多智能体对话、角色分工、代码执行和协作式求解。
- CrewAI:Agent、Task、Crew、Process、Tool、Memory 的角色化任务协作抽象较清晰。
- Semantic Kernel:插件、函数、Planner、Kernel Memory,更贴近企业系统集成。
答题抓手
- 规划:任务拆解、路线选择、动态重规划。
- 工具:函数描述、参数 schema、权限、超时、重试、结果校验。
- 记忆:会话状态、用户画像、长期知识、外部数据库。
- 执行器:调度工具、处理异常、汇总结果、控制循环次数。
- 观测:trace、token、延迟、成本、命中率、失败原因。
容易被追问
生产环境里我不会只说“用了某框架”,而会说明为什么选择它:例如 LangGraph 适合强状态和流程可控, LlamaIndex 适合复杂数据接入和检索,AutoGen/CrewAI 适合多角色协作,但要额外控制成本、循环终止和权限边界。