本文原创,面向有一定编程基础、希望从0到1落地AI Agent的开发者。
1. 智能体核心概念与架构
AI Agent(智能体)不是简单的“聊天机器人”,而是能感知任务、规划步骤、调用工具并完成目标的系统。它的核心公式是:Agent = LLM + 规划 + 记忆 + 工具 + 行动。- LLM:负责语言理解、生成和推理;
- 规划:拆解复杂任务,例如 ReAct 模式中“思考-行动-观察”的循环;
- 记忆:短期记忆保存当前对话,长期记忆通过向量库/知识库实现;
- 工具:API、数据库、浏览器、代码解释器等外部能力;
- 行动:向用户输出结果或触发系统操作。
flowchart TD
A[用户输入] --> B[Agent主循环]
B --> C{需要调用工具或知识库?}
C -- 否 --> D[LLM直接生成回答]
C -- 是 --> E[检索知识库/调用工具]
E --> F[获得信息]
F --> D
D --> G[输出回复]
B --> H[短期记忆]
H --> B
B --> I[长期记忆/知识库]
I --> B
2. 主流框架对比
| 框架 | 类型 | 核心优势 | 适用场景 | 学习成本 | 国内落地 |
|---|---|---|---|---|---|
| LangChain | 开发者编排框架 | 灵活、组件丰富、可深度定制 | 技术团队、复杂逻辑 | 高 | 需自行配置国产模型 |
| Coze(扣子) | 低代码Agent平台 | 可视化拖拽、插件多、上手快 | 运营/产品、快速原型 | 低 | 国内版可直接使用 |
| 百度千帆Agent | 企业级Agent平台 | 内置文心大模型、知识库/工具无缝集成 | 企业客服、文档问答 | 中 | 百度云生态完善 |
3. 实战:用国产模型搭建一个自动客服
本实战以“百度千帆Agent”控制台为主,模型使用 ERNIE 系列,任务是在线自动客服。场景假设:用户会咨询退货政策、订单状态、物流进度。3.1 业务流程设计
自动客服收到问题后,先判断是否命中知识库;若用户要求查订单/物流,则触发工具调用;如果无法回答则转人工。架构如下:sequenceDiagram
participant U as 用户
participant A as 千帆Agent
participant K as 知识库
participant T as 订单/物流API
U->>A: 我的订单到哪里了?
A->>K: 检索“退货政策”类问题?否
A->>T: 调用query_order工具
T-->>A: 返回物流信息
A-->>U: 您的包裹正在派送中
3.2 搭建知识库
- 收集客服高频问答、用户手册、退货售后规则,统一转为 Markdown/TXT。
- 清洗数据:去除不相关的促销文案、敏感信息,保留“问题-答案”对。
- 在千帆控制台创建知识库,上传文档并选择分块策略。一般“按段落分块+重叠200字”效果不错。
- 选择 embedding 模型,将文本向量化,并完成“索引-检索-重排”配置。
3.3 定义工具(函数调用)
为了让 Agent 能查订单,需要提供一个订单查询 API,并在 Agent 中声明工具。Python 工具定义如下:tool_schema = {
'type': 'function',
'function': {
'name': 'query_order',
'description': '根据订单号查询订单状态和物流信息',
'parameters': {
'type': 'object',
'properties': {
'order_id': {'type': 'string'}
},
'required': ['order_id']
}
}
}
后台业务接口返回:
order_info = {
'order_id': '20261107001',
'status': '已发货',
'logistics': '正在派送中,预计今日送达'
}
注意:Agent 框架通常只负责生成“工具调用参数”,真正请求订单 API 的代码需要你自己实现。
3.4 创建Agent并绑定配置
在千帆控制台创建 Agent,选择模型 ERNIE-4.0-8K,绑定知识库和工具。系统提示词建议:你是“小航”,XX商城的自动客服。
第一步:优先从知识库中查找标准答案。
第二步:如果用户问订单、物流,直接调用query_order工具。
第三步:如果知识库和工具都不能解决,请回答“请稍等,我为您转接人工”,不要编造。
3.5 接入测试
在调试面板模拟以下对话:- 问:你们支持7天无理由退货吗? 期望:知识库给出准确政策。
- 问:我的订单什么时候到? 期望:Agent 调用工具并返回物流信息。
- 问:随便聊聊天? 期望:不调用工具,按正常对话回复。
4. 评估、调试与成本控制
4.1 评估指标
| 指标 | 说明 | 目标 |
|---|---|---|
| 知识库命中率 | 正确检索次数 / 总问答次数 | >90% |
| 工具调用准确率 | 正确触发工具与参数占比 | >95% |
| 幻觉率 | 无依据但仍输出内容的比例 | 越低越好 |
| 用户问题解决率 | 完整解决的用户问题占比 | >85% |
4.2 调试方法
- 记录每次对话的 trace:用户输入、检索文档、工具返回、最终输出。
- 建立回归测试集,每次修改 Prompt 或知识库后跑一遍,避免改坏旧能力。
- 对工具返回做校验:字段缺失、超时、错误码要有兜底回答。
- 使用“坏case库”持续复盘,把错误回答加入知识库或调整工具逻辑。
4.3 成本控制
- 分流拦截:简单FAQ直接用 BM25,不调用大模型;只有复杂问题才走 LLM。
- 模型分级:简单任务用 ERNIE Speed 或轻量模型,复杂推理才用 ERNIE-4.0。
- 缓存:相同问题使用语义缓存,命中后不重复计费。
- Prompt 瘦身:System Prompt 不要塞太长的历史记录,压缩上下文。
- 设置Token上限:限制单轮最大输出长度,避免无效生成浪费。
操作清单
- 明确自动客服的业务边界和“必须转人工”的规则
- 收集并清洗 FAQ 文档,搭建知识库
- 设计订单/物流查询 API,并在 Agent 中声明工具
- 编写清晰的系统提示词
- 在调试面板完成3类以上问答测试
- 配置日志追踪和坏case回收机制
- 设置模型分级、缓存和Token预算
避坑指南
- 不要把 ChatGPT 的 Prompt 直接搬到国产模型,格式与能力有差异,要按平台要求重写。
- 知识库不是越大越好,chunk 太小会丢失上下文,太大容易检索到无关内容,建议500-1000字并带重叠。
- 工具调用后必须校验返回结果,否则“幻觉”会转移到“工具输出”。
- 不要在 Prompt 中写死 API Key 或明文密钥。
- 忘记做“转人工”兜底,会严重伤害用户体验。
- 没有日志和评估集就盲目调优,很难知道改动是变好还是变坏。
推荐视频(标注出处,仅供学习)
- B站:《AI Agent入门到实战:LangChain+大模型应用开发》 UP主:AI技术课堂,点击搜索
- 腾讯视频:《AI智能体开发全流程》 出处:腾讯视频公开课,点击搜索
- 优酷:《从0搭建自动客服机器人》 出处:优酷科技频道,点击搜索
- 抖音:《AI Agent实战教程》 出处:抖音创作者@AI编程实验室,点击搜索