利用 Coze 构建企业级知识库与 AI Agent 开发指南
Coze 是字节推出的一站式 AI Bot 开发平台,支持快速搭建基于大模型的问答机器人。 AI Agent 的核心构成(LLM、规划、记忆、工具),对比 Copilot 与 Agent 的差异。重点介绍 Coze 的提示词、插件系统、工作流及知识库(RAG)功能。通过构建产品问答机器人的实操案例,演示如何收集知识、创建数据库、设计工作流节点及调试发布,帮助开发者利用低代码方式实现企业级知识库应用。

Coze 是字节推出的一站式 AI Bot 开发平台,支持快速搭建基于大模型的问答机器人。 AI Agent 的核心构成(LLM、规划、记忆、工具),对比 Copilot 与 Agent 的差异。重点介绍 Coze 的提示词、插件系统、工作流及知识库(RAG)功能。通过构建产品问答机器人的实操案例,演示如何收集知识、创建数据库、设计工作流节点及调试发布,帮助开发者利用低代码方式实现企业级知识库应用。

Coze 是字节推出的一站式 AI Bot 开发平台,支持快速搭建基于大模型的问答机器人。本文详解 AI Agent 的核心构成(LLM、规划、记忆、工具),对比 Copilot 与 Agent 的差异。重点介绍 Coze 的提示词、插件系统、工作流及知识库(RAG)功能。通过构建产品问答机器人的实操案例,演示如何收集知识、创建数据库、设计工作流节点及调试发布,帮助开发者利用低代码方式实现企业级知识库应用。
讲到 Coze 这款产品,必须要先了解其背后的技术 AI Agent!
Agent,我们一般将其翻译为代理人、代理商等。
在人工智能领域,Agent 通常被定义为一种具有感知能力的实体,它能够通过对其所处环境的观察来做出相应的决策和反应。这种 Agent 既可以是软件形式的程序,例如对话机器人,也可以具备物理形态,比如扫地机器人。
在了解 AI Agent 之前,我们先考虑一个场景:我们要写一本 20 万字的关于人工智能最新技术的书。
在没有大模型之前,我们一般会按照如下流程:
在大模型出现之后,我们可能会这样使用:
请你帮忙生成一篇 20 万字的关于人工智能最新技术的
这个时候我们会发现 AI 写出来的书根本就无法阅读,是大模型的能力不行么?不仅仅因为这个,相比于第一种写书的方式,第二种方式明显缺少了几个环节:
而 AI Agent 就是为了解决这个问题。
AI Agent 是应用了大模型(LLM)能力的 Agent。
以 GPT 为代表的大模型的出现,将 Agent 的能力提高到了前所未有的高度。AI Agent 又被称为智能体。
OpenAI 的 Lilian Weng 将以 LLM 为驱动的 AI Agent,形式化为如下的公式:
AI Agent = LLM(大模型) + Planning(规划) + Memory(记忆) + Tools(工具)
[图:AI Agent 组成结构]
也就是说:AI Agent 由如下几部分组成,我用一个管理花园的园丁的例子来说明每个模块的作用:
我们也可以认为 LLM + Planning + Memory 是人类的大脑,而 Tools 则是人类的四肢。
在大模型出现之前,Planning 和 Memory 已经有比较成熟的技术。
大模型的出现则补足了 AI Agent 发展的最后一环
目前大模型的产品类型,主要有两种:
我们从核心功能、流程决策、应用范围和开发重点几个方面对比 Copilot 和 Agent:
核心功能
流程决策
应用范围
开发重点
LLM 可以成为 AI Agent 的'大脑'主要是因为它具备了以下的关键能力:
目前社区中有许多优秀的开源项目致力于 AI Agent 的开发,如 LangChain、AutoGen 等,这些项目为构建复杂的 Agent 系统提供了基础框架。
这一章节我会先从比较无趣的概念讲起,后面会有一个非常详细的例子手把手帮助大家理解。
字节的官方解释如下:
Coze 是新一代一站式 AI Bot 开发平台。无论你是否有编程基础,都可以在 Coze 平台上快速搭建基于 AI 模型的各类问答 Bot,从解决简单的问答到处理复杂逻辑的对话。并且,你可以将搭建的 Bot 发布到各类社交平台和通讯软件上,与这些平台/软件上的用户互动
我个人认为:Coze 是字节针对 AI Agent 这一领域的初代产品,在 Coze 中将 AI Agent 称之为 Bot。
字节针对 Coze 这个产品部署了两个站点,分别是国内版和海外版。
国内版
海外版
Bot 的开发和调试页面布局如下,主要分为如下几个区块:
[图:Bot 开发界面布局]
下面我们则会逐一讲解每个组件的能力以及使用方式
人设和提示词的目的是:设定 Bot 的身份及其目标和技能,例如产品问答助手、新闻播报员、翻译助理等等。Bot 的人设和提示词决定了 Bot 如何与你的用户进行互动。
提示词编写的越明确,Bot 的回复也越符合预期
AI Agent = LLM + Planning + Memory + Tools
插件系统则对应 Tools,主要目的是扩展 Bot 的能力边界
Coze 的插件系统对应的就是 AI Agent 的工具箱。Coze 官方是这样解释插件系统的:
插件是一个工具集,一个插件内可以包含一个或多个工具(API)。目前,Coze 集成了超过 60 种类型的插件,包括资讯阅读、旅游出行、效率办公、图片理解等 API 及多模态模型。使用这些插件,可以帮助你拓展 Bot 能力边界。例如,在你的 Bot 内添加新闻搜索插件,那么你的 Bot 将拥有搜索新闻资讯的能力。如果 Coze 集成的插件不满足你的使用需求,你还可以创建自定义插件来集成需要使用的 API。
Coze 提供了丰富的插件,这些插件涵盖了从搜索引擎、文本分析以及图像识别等各种领域。
这些插件的能力如果我们个人接入都是要收费的,但是在 Coze 平台则是免费使用的,例如:
Coze 国内版本:
而且国内版本还提供了很多便民的服务,例如:
这些生活化的插件,可以让你的 AI bot 变得贴近生活,贴近用户的需求。
说白了,你想想你自己做的一个 AI 应用,可以直接分享给你爸妈拿来通过对话查快递,买飞机票等等,不像以前那种机械学习的 APP 机器人管家,还有各种 APP 繁杂的点击交互操作,一切用人类自然对话的方式就能实现。
Coze 国外版本:
作为开发者,国外版本的能力更加强大和令人心动。
参考官方文档,创建插件的流程如下:
工作流是由多个节点构成,节点是组成工作流的基本单元。
节点的本质就是一个包含输入和输出的函数
[图:工作流节点示意图]
Coze 平台支持的节点类型:
AI Agent = LLM + Planning + Memory + Tools
Coze 中的知识库、数据库以及变量功能来实现 Agent 的 Memory 模块
大模型并不是 100% 准确的,它会产生幻觉,主要是因为以下两点:
因此知识库的出现就是为了解决大模型的数据准确性的问题。
大模型可以额外学习外接知识库中的知识,从而来精准回复用户。
知识库中最典型的一个应用就是客服系统:
公司可以将用户所有问题以及答案记录在文档中,然后以知识库的形式投喂给大模型。这样当用户通过自然语言询问问题时,大模型就可以根据知识库中的内容给出更加准确的回答。
我们都知道大模型的训练数据是有截止日期的,那当我们需要依靠不包含在大模型训练集中的数据时,我们该怎么做呢?实现这一点的主要方法就是通过检索增强生成 RAG(Retrieval Augmented Generation)。
在这个过程中,首先检索外部数据,然后在生成步骤中将这些数据传递给 LLM。
我们可以将一个 RAG 的应用抽象为下图的 5 个过程:
[图:RAG 流程示意图]
参考官方文档进行操作。
这个是 Coze 官方提供的一个 Chrome 插件,目的在于帮助用户提取网页上的内容,然后快速上传到自己的知识库中。
数据库是偏编程的概念,非编程同学可以直接参考官方文档的教程操作一遍。
数据库和知识库的区别主要有几点:
变量是 Bot 的数据记忆功能,以 key-value 形式存储数据。一个变量只能保存一种信息,一般用于记录用户的某一行为或偏好。
大语言模型会根据用户输入内容进行语义匹配,为定义的变量赋值并保存值。你可以在提示词中为 Bot 声明某个变量的具体使用场景。
在创建 Bot 的页面,我们可以创建变量。
[图:创建变量界面]
创建好变量之后,该如何使用呢?
你可以在提示词中为 Bot 声明某个变量的具体使用场景。
首先,可以在给大模型的提示词中做如下声明:
与您的用户进行互动,并根据
user_language变量,用他们偏好的语言在线搜索。除非另有设置,用户查询的语言应指导您的回答和搜索
这段提示词相当于告诉了 LLM,user_language 这个变量该如何赋值以及使用。下面我们演示下变量的使用方式以及效果。
这个变量 user_language 接下来就可以用在工作流中作为变量使用。
这一块解释起来有些抽象,具体可以参考后面的例子,真正用一遍就懂了。
这个能力是海外 Coze 专属的能力,目前国内暂时不支持
你可以认为文件盒子就是一个像内存卡一样的存储工具,他可以存储图片、文档、视频等多模态的内容。
如果我们开启了文件盒子,我们可以使用如下功能:
在这里就不一一展示 Filebox 的能力了,他的指令都很好理解。看十遍不如实践一遍。
这里使用 Coze 海外版本进行讲解
Coze 支持将 Bot 发布到不同的渠道,然后在这些渠道中与用户互动。
不同渠道的发布方式以及最终体验请参考官方文档。
看十遍不如动手做一遍,这里进入到实操阶段。
这一块使用海外版本进行讲解:主要原因是因为海外 Coze 的能力更强大。
但是不能突破网络限制的同学不用担心,国内版本的使用和海外是一模一样的
这个是在 Home 页面直接通过对话的方式告诉 Coze,让它帮你创建一个 Bot。
[图:快速创建 Bot 界面]
所谓的预制的 AI Bot 则是 Coze 提供了快速复制 Bot 商店中别人创建的 Bot,然后在此基础上进行修改。
需要注意的是:并不是所有 Bot 商店中的 Bot 都可以复制,这个取决于创建者是否允许复制。
目前只有公开配置下的 Bot 才可以被允许复制:
[图:Bot 商店复制界面]
国内参考文档:
前面铺垫了那么多!本章最重要的例子来喽!
现代产品更新换代速度快,用户在使用产品时经常会有疑问,而且新产品的上市会伴随大量的信息和数据。利用 RAG 检索增强生成框架,我们能够将这些零散的信息整合成一个知识库。
通过这个知识库,用户能够快速获得到需要问题的答案,它的出现让用户不必再翻看厚重的说明书或漫无边际地搜索网络,省时又省力,极大地提升了用户体验。
产品资料问答 Bot 的目标用户非常广泛,包括不限于普通消费者、产品销售人员、客服人员、以及那些对特定产品感兴趣的潜在购买者。通过问答系统,他们可以更深入地了解产品,加快决策的效率,例如:
在利用 Coze 搭建知识库时,需要如下几个流程:
在收集知识之前却确认先了解过知识库支持的数据类型。
收集知识通常有三种方式:
这里我使用一款名为外贸大师产品的帮助文档进行演示。
其帮助文档的地址为:[外贸大师使用秘籍 · Yuque]
为了简单,我选择其中一个文档来创建知识库:[购买后新人常见问题汇总 · 语雀]
[图:创建知识库按钮]
为了更好的检索效果,这个例子里使用 Local documents 的方式,并且上传的 Markdown 格式文档。
首先看下文档数据的格式:每个问题都是使用###作为开头(这是 Markdown 的语法)
[图:Markdown 文档示例]
准备开始上传文件:
[图:上传文件界面]
至此,一个完整的知识库就构建完成啦!接下来我们就可以去创建我们的产品资料问答机器人。
特别需要注意的是:文档的分片策略会严重影响查询的结果,这是当前 RAG 自身的方案原理导致的。
基于 Coze 的知识库问答是典型的 RAG 方案,其重要一环就是文档切片(Segment)。然而,不管是单分片是 800 token 还是 2000 token,都显著暴露了 RAG 方案的缺点:
在这里我们不讨论如何组织文档形式,从而可以更好的分片。后面我会专门研究这块,并产出教程。
首先我们创建一个机器人:外贸大师产品资料问答机器人,进入到 Bot 的开发和预览页面。
由于我们的需求中有这样一条:
记录下用户的问题和机器人的回答,方便我们进行统计用户最关心的问题,然后进行优化
这个需求就需要依赖数据库,将用户的每一次提问都保存到数据库中。
[图:创建数据库界面]
[图:定义数据库字段]
这里我使用变量的能力,创建了一个 user_language 的变量,目的是为了控制工作流的输出语言。
现在不懂没有关系,跟着教程往下走,很快你就理解啦
[图:创建变量界面]
在创建工作流的时候,我们先思考下整个的流程:
[图:工作流编辑器]
Start 节点:每个工作流默认都有的节点,是工作流的开始
这里我定义了一个输入变量:question,question 会在启动工作流的时候由 Bot 从外部获取信息传递过来。
[图:Start 节点配置]
知识库节点的输入和输出:
在 Start 节点后面接入了一个知识库节点,这个节点的目的是将用户的问题跟知识库进行匹配。
知识库中需要注意的几个概念:
[图:知识库节点配置]
变量节点有两个能力:
我这里使用的能力是从 Bot 中获取 user_language 这个变量,目的是传给后面的大模型节点,控制其输出语言。
[图:变量节点配置]
大模型节点的输入和输出:
[图:大模型节点配置]
提示词如下:
# 角色
你是外贸大师产品的问答小助手。你会接收两个输入:
1. {{question}} 这个是用户询问的问题
2. {{knowledge}} 这个是从知识库中根据用户的问题{{question}} 查询出来的知识库内容
3. {{language}} 这个用户的语言偏好
## 技能
###技能 1: 问题理解
-理解用户的问题{{question}} ,并识别其关键信息。
###技能 2: 回答生成
- 基于检索到的信息{{knowledge}},为用户生成准确、简洁的回答。
- 根据用户的语言偏好{{language}} 生成对应的语言的回答
##约束
-仅回答与产品相关的问题,不回答无关话题。
-尽量使用清晰简练的语言来回答用户的问题。
-整个回答过程中,始终以用户的需求为中心。
-全部以知识库中的内容为主,如果知识库中信息不足以支持你生成回答,直接生成如下回答:
'没有找到该问题的答案,请联系人工进行处理'
数据库节点的输入和输出:
注意:这里的 SQL 语句我是让 AI 帮我自动生成的哦,具体请看第二张图
但是我对 SQL 进行了一些改动:将 question 和 llm_answer 进行了变量替换,并且外围加上了""
INSERT INTO user_question_and_answer (question, answer) VALUES ("{{question}}", "{{llm_answer}}")
[图:数据库节点配置]
End 节点也是工作流中的默认节点,其作用是最终结果的输出。
其输出方式主要有两种:
我这里使用的是第二种,然后在 Answer content 中指定了回答的格式。
[图:End 节点配置]
编辑完成的工作流是无法直接提交的,需要进行测试。
[图:测试工作流界面]
[图:发布工作流界面]
当工作流完成之后,就可以去调试 Bot 啦。
# 你的角色
你是外贸大师产品资料问答机器人,你的职责是回答客户关于外贸大师产品的任何问题。
# 你的能力
## b2b_user_qa
首要的,你的能力依赖于`b2b_user_qa`。每当用户进行提问时,你都需要应用`b2b_user_qa`能力提升你的表现。
一定要注意使用纯净、未经修改的原始用户问题作为`question`输入。例如,如果被问到,'外贸大师为什么发品失败',确保`b2b_user_qa`的`question`参数就是完全相同的句子,没有任何修改。
# 如何与用户互动
根据`user_language`变量,用用户偏好的语言与用户互动。除非另有设置,用户查询的语言应指导你的回应。
搭建好我们的机器人之后,就进入到最后一个环节:预览与调试啦!
[图:测试变量界面]
然后我们跟 Bot 说一句话:请使用英文与我交流
[图:英文交流测试]
测试知识库的方法非常简单,就是问一个只有跟知识库相关的问题即可。
[图:知识库有答案测试]
[图:知识库无答案测试]
我们在工作流中添加了数据库,每当用户询问问题时,都会将问答的数据记录下来。
[图:数据库记录查看]
通过本文的学习,我们了解了 AI Agent 的基本概念,掌握了 Coze 平台的核心功能,并成功搭建了一个基于知识库的产品问答机器人。在实际应用中,开发者可以根据业务需求灵活组合插件、工作流和知识库,构建出更加智能化、个性化的 AI 应用。随着大模型技术的不断发展,Coze 等平台将继续降低 AI 应用的开发门槛,推动人工智能在企业级场景中的普及与应用。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online