智能体选型 | 从零理解如何构建 AI Agent
帮助你快速判断本章定位、前置要求与学习目标。
这个专区解决什么问题
这个专区不是泛泛讲 Agent 概念,而是给智能体开发工程师做技术选型用的。每类技术都要回答四个问题:
text
它解决什么问题?
优点和代价是什么?
什么场景适合用?
什么场景不该用?很多团队说“我要做一个 Agent”,其实这句话没有工程含义。真正的问题通常是下面三类之一:
text
Agent Framework
-> 任务怎么推进,状态怎么保存,工具怎么调用,失败怎么恢复
RAG
-> 可靠知识怎么进入上下文,权限怎么过滤,引用怎么追溯
Search Tools
-> 实时外部信息怎么获取,来源怎么筛选,冲突怎么处理这三类能力可以组合,但不能混成一个黑盒。混起来的结果通常是:慢、贵、难调试,出错后不知道是检索错、搜索错、模型错,还是状态机写错。
先给结论
| 你的问题 | 优先看什么 | 不要先做什么 |
|---|---|---|
| 只是让模型回答固定问题 | 轻量模型调用 | 不要上复杂 Agent 框架 |
| 要回答内部文档、代码库、制度问题 | RAG | 不要用开放搜索替代权限知识库 |
| 要回答最新网页、版本、新闻、官方文档 | 搜索工具 | 不要把实时网页离线塞进旧索引 |
| 要连续执行多步任务 | Agent Framework | 不要只靠 Prompt 硬撑流程 |
| 已经确定需要状态图、恢复和人工确认 | LangGraph 与 SDK | 不要把简单流程画成复杂图 |
| 要内部知识和外部实时信息交叉验证 | RAG 知识与检索选型 + 搜索与抓取工具选型 | 不要把两类来源混在一个检索器里 |
| 要生产可审计、可恢复、可观测 | Agent 可观测性与评估怎么选 | 不要上线不可回放的黑盒链路 |
三层模型
核心收束句:
text
RAG 决定知识怎么进来;
Search 决定实时信息怎么进来;
Agent Framework 决定任务怎么推进。从需求到技术组合的决策树
不要从“我要用哪个框架”开始。先按需求边界往下问:
text
用户需求
-> 只是分类、总结、抽取、改写?
-> 普通模型调用,不要 Agent Framework
-> 需要回答内部文档、代码库、制度或产品知识?
-> RAG
-> 如果涉及企业资料,先设计权限过滤和引用审计
-> 需要最新网页、官方文档、新闻或版本信息?
-> Search API + Reader
-> 如果要系统性研究,再加来源验证和冲突处理
-> 需要查询订单、数据库、工单、文件或业务系统?
-> Tool Calling / API Wrapper / MCP
-> 先分只读查询和写入动作,再定权限和审批
-> 需要连续多步、分支、暂停、恢复或人工确认?
-> Agent Workflow / LangGraph / 自有 Runtime
-> 如果只是固定 pipeline,不要画状态图
-> 涉及删除、支付、发布、发消息、改生产数据?
-> Human Approval + Audit Log
-> 默认不允许模型自动执行高风险动作
-> 准备进入生产?
-> Trace + Replay + Eval + Cost Budget + Fallback
-> 没有观测、预算和降级,不算生产方案这棵树的目的,是把问题拆成稳定的数据结构。先确定知识、工具、状态和风险,再选框架和供应商。
反例索引
选型失败通常不是因为少知道一个框架,而是把不同层的问题混在一起。下面这些是最常见的坏味道:
| 反例 | 真正问题 | 应该先看 |
|---|---|---|
| 为了一个工具调用就上 Agent Framework | 只是需要一次受控 tool call,不需要状态机 | Agent 框架与 Runtime 怎么选 |
| 用 Search 替代企业知识库 | 内部知识需要权限、版本和引用,不是开放网页搜索问题 | RAG 链路设计原则 |
| 先检索全量知识,再让模型不要泄露 | 未授权内容已经进入上下文、日志或 trace | 企业知识库权限过滤怎么设计 |
| 把 MCP 当成 Agent Runtime | MCP 只解决工具协议,不管理 loop、状态和审批 | MCP 工具怎么选 |
| 用长上下文替代检索 | 长上下文解决容量,不解决噪声、权限和证据选择 | 检索组件怎么选 |
| 把多 Agent 写成角色聊天 | 角色名不能替代输入、输出、状态和责任边界 | 场景选型手册 |
| 让模型自己决定高风险动作是否执行 | 删除、支付、发布、发消息必须有程序化权限和人工确认 | Agent 安全边界与权限模型怎么选 |
| 没有预算就上线研究型 Agent | 搜索、读取、重试和长上下文会让成本与延迟失控 | 成本与延迟预算检查 |
| 只看最终答案,不记录中间过程 | 失败后无法判断是检索、工具、模型还是路由出错 | Agent 可观测性与评估怎么选 |
| fallback 只写“换个模型重试” | 不同失败类型需要不同降级路径,盲目重试会放大故障 | Agent 降级策略怎么设计 |
判断一个方案是不是过度设计,可以用一句话检查:
text
如果去掉某个框架、Agent、长上下文或工具协议,核心业务样本仍然能跑通,那它现在就不是必需品。怎么使用这个专区
不要从框架品牌开始选。先按问题类型收束:
- 先问是不是只需要一次模型调用。
- 再问知识来自内部资料、外部实时网页,还是用户当前输入。
- 最后才问任务是否需要多步状态、工具执行、恢复和审计。
如果答案已经很清楚,可以直接跳到对应文章;如果还不确定,先读基础判断,再按场景进入对应分组。
这个专区分两层:前半部分回答系统边界和业务场景,后半部分回答具体工具和组件怎么选。工具清单必须服务于工程判断,不能只堆品牌名。
如果只是要快速找到工具官网入口,直接看 官方资源速查。
基础判断
| 文章 | 解决什么 |
|---|---|
| Agent 框架与 Runtime 怎么选 | 判断是否需要 Agent Framework,对比自研 loop、LangChain、LangGraph、LlamaIndex、AutoGen、CrewAI、平台 SDK、MCP 和托管 Runtime |
| LangGraph 与平台 SDK 怎么选 | 判断状态图、平台 SDK、Tool Use 和轻量 loop 的取舍 |
| RAG 链路设计原则 | RAG 链路的正确设计顺序:parser、chunk、metadata、检索、重排、权限和评估 |
| RAG 平台与方案怎么选 | 判断自建 pipeline、RAGFlow、Dify、GraphRAG 和 Weaviate 的适用边界 |
| 搜索与抓取工具怎么选 | 判断 Search API、Reader、Crawler、Browser 和 Scraper 的层级选型 |
场景化选型
| 文章 | 解决什么 |
|---|---|
| 场景选型手册 | 用一张表快速映射典型业务场景 |
| 企业 Copilot 技术栈怎么选 | 企业内部助手的权限、工具和审计边界 |
| 代码库 Agent 怎么选 | 代码问答、代码修改和自动修复 |
| 研究型 Agent 怎么选 | Search、Reader、RAG 和引用 |
| 客服和知识库 Agent 怎么选 | FAQ、客服、转人工和知识治理 |
上线评审
| 文章 | 解决什么 |
|---|---|
| POC 评估与评审 | 样本集、指标、通过标准、上线缺口和评审模板 |
| 自研、平台还是托管 | Build vs Buy、供应商锁定评估、托管平台 vs 自建 Runtime |
模型与平台
| 文章 | 解决什么 |
|---|---|
| 模型路由怎么选 | 小模型、大模型、长上下文和 fallback |
工具与组件选型
这一组是智能体开发工程师最常用的工具选型入口,回答“有哪些具体候选、优点是什么、什么场景适合用、什么场景不该用”。
| 文章 | 解决什么 |
|---|---|
| Embedding 模型怎么选 | OpenAI、Cohere、Voyage、BGE、E5、GTE、Jina、Nomic 等模型的场景取舍 |
| 向量数据库怎么选 | Milvus、Qdrant、Pinecone、Weaviate、Chroma、pgvector、ES/OpenSearch 等方案的适用边界 |
| 检索组件怎么选 | Dense、BM25、Hybrid、Rerank、Query Rewrite、GraphRAG、Long Context 等检索组件的分工 |
| Reranker 模型怎么选 | Cohere、Voyage、Jina、BGE、ColBERT、LLM-as-reranker 和自训练 Reranker 的场景取舍 |
RAG 细分
这一组更偏 RAG 链路设计,回答“检索系统应该怎样组织”。如果要比较具体 Embedding、向量库和 Reranker 候选,回到工具与组件选型。
| 文章 | 解决什么 |
|---|---|
| 企业知识库权限过滤怎么设计 | 检索前过滤、ACL、脱敏和审计 |
生产准入
这一组不是继续堆工具,而是回答“选完技术组合后,什么条件满足才允许进入生产”。核心是可观测、安全、预算和降级。
| 文章 | 解决什么 |
|---|---|
| MCP 工具怎么选 | MCP server、工具权限和工具质量 |
| Text-to-SQL Agent 怎么选型 | 数据库权限、SQL 审核和审计 |
| Agent 可观测性与评估怎么选 | Trace、Replay、Eval 和日志指标 |
| Agent 安全边界与权限模型怎么选 | 数据权限、工具权限、人机确认和 Prompt 注入防线 |
| 成本与延迟预算检查 | Token、动作、时间预算和超预算处理 |
| Agent 降级策略怎么设计 | 重试、fallback、拒答和转人工 |
读完之后应该能做什么
你应该能回答五个问题:
- 这个项目是不是必须用 Agent Framework?
- 知识来源应该走 RAG、Search,还是两者组合?
- LangGraph 是必要的状态编排,还是过度设计?
- 方案上线后如何回放、评估、降级和控制成本?
- POC 通过后应该自研、使用框架,还是选择托管平台?