扣子(coze)知识库的两个坑

 

这两天准备做两个给学员答疑用的「课代表」智能体,想着扣子API挺完善准备把它们搭在扣子上。

折腾一天,现在非常庆幸没提前付费,哪怕 9.9/月那个版本。

坑一:按层级分段

我尝试的第一个场景很简单:把课程视频使用通义听悟提炼出包括当节课程概要、关键问题、PPT摘录等内容的“逐字稿”传到扣子知识库里做个智能体。

当学员有问题时,这个「课代表」智能体可以简单回答,然后告诉学员这个知识点在哪节课有详细讲。

导出的md文档长这样:

扣子(coze)知识库的两个坑

可以说相当完美了:

  1. 1. 非常标准的 Markdown 层级关系,可以直接按层级来分段
  2. 2. 一共 3 级,正好符合扣子最大分段层级数

把资料导进知识库,选了层级分段、也勾选了检索切片保留层级信息,最终结果直接不可用。

如果我对「检索切片保留层级信息」的理解没错的话,它应该是把文档的所有第 3 层(五级标题+正文)切片作为分段,当检索到当前切片时,应该返回当前片段+上层标题+上上层标题

但,实际上并不是这样的。

它实际的切片逻辑是:把你选择的层级数以下的内容作为分段,比如我上面文档包含一级标题、二级标题、五级标题和正文一共四级,如果我选择了 3 层,它会把所有五级标题(不含)以下的正文层级作为片段存在知识库中。

某个片段被检索命中后,召回的是当前片段和上面的五级标题,再之前的二级标题和一级标题不返回。

下图是检索结果,你会看到知识库输出的 output 里包含一段内容+最后一个单独的段落文本。

扣子(coze)知识库的两个坑

希望官方把文档写明白,懒得写可以直接用我上面的介绍。

给其他开发者闭坑。

这个还好,写个脚本自己处理一下也就好了。

分享最终的解决方案:

因为我需要智能体最终给出问题讲解课程所在的章节(也就是一级标题),所以直接使用 Python 写了脚本,最终处理后的文档长这样:

(自带分隔符、每个分段包含所有上层标题)

扣子(coze)知识库的两个坑

坑二:标签不能用

直接说坑:如果你的资料里包含<xml>标签,传到扣子知识库会被直接被「吃掉」,并且导致你自定义的分段分隔符失效。

看截图:我整理的<xml>标签直接被吃掉,选择的自定义分隔符$$也直接不起作用了,整个分段直接不可用。

扣子(coze)知识库的两个坑

在分段预览里<xml>不显示可以理解是被前端给解析掉了,但是自定义分段标识符、以及标签内的文本也都不见了就很迷。

下面是 dify 处理的结果,虽然也有一个bug(分段后会吃掉第一个<标签),但信息一个也没落下,预览只是“吃掉”了标签,信息没缺失。

扣子(coze)知识库的两个坑

就这 BUG,真的是越专业越没法弄……

这次使用<xml>标签来预处理资料,单纯是让 AI 写 Python 脚本时临时起意,不使用 XML 也完全可以实现。

偶然发现这么一个 BUG 也好,希望还没动工的开发者能提前闭坑。

当然更希望官方优化一下,或者至少在文档里加粗标注提示一下。

Agent智能体Openclaw新闻资讯

AReaL v1.0落地昇腾:快速接入OpenClaw类Agent RL后训练

2026-5-3 21:47:41

前沿技术大模型技术新闻资讯

🤯 终于搞懂了!LLM、RAG 和 AI Agents 到底是什么关系?

2026-5-3 21:56:54

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索