1. V3版本内容
本版本基于《Rag Agent,迭代史(二)》,暂时搁置“提炼要点→Q&A Pairs转换”的路线,采用改进方向二:索引与上下文分离,即:
尝试文章内容父子层级切分,子级单元作为索引,父级单元内容作为召回的上下文。

[!NOTE]为快速实验效果,”索引+上下文分离”在coze中可以通过COZE的表格知识库近似实现,需将子级单元设为索引。
2. 执行步骤
第一步: 文章结构化处理→父子层级切分
| 文章_结构化处理 | 内容_父子层级切分 |
|---|---|
![]() |
![]() |
| 将原文处理层Markdown格式,并符合3级标题模式,实验暂定格式。 | 按三级标题的单元进行切分,并且每个三级标题单元指向对应的父级单元(二级标题单元) |
第二步: coze中创建表格知识库→上传父子层级切分表格→设置索引
| 创建表格知识库 | 上传父子层级切分表格 | 设置表格知识库索引 |
|---|---|---|
![]() |
![]() |
![]() |
第三步: 设置提示词和输出模板,预览调试

3 评估&问题分析
3.1 评估结论
核心功能已达预期:
对于基于现有知识的单次查询,系统的回答广度与内容还原度已达到预期标准(在整体感觉上)。
待评估范围
连续查询(多轮对话)与增量知识更新的功能模块,暂不纳入本次评估范围。
主要发现:
答案在内容上准确,但在结构上存在一种不协调感 ,未能形成逻辑流畅的整体。
3.2 关键问题
回答结构不协调,该问题的根源在于《Rag Agent,迭代史(二)》采用的“模板引导生成”策略与召回内容的非适配性。
3.2.1 原因:模板与内容的“错配”
该策略类似于一个固定的“食谱”(输出模板),它预设了答案应包含的特定“食材”(如概念定义、原理解释、实现方式等结构化信息)。
然而,当召回的上下文(即“食材”)本身不包含模板所要求的所有信息时,就会出现错配。例如:
若召回的父级Chunk未深入探讨“为什么”,而模板中却有“原理解释”这一项,LLM为了填充模板,可能会强行重复“是什么”的内容,或直接留白,从而导致最终答案内部逻辑断裂,结构不协调。
3.2.2 深层原因:固定模板的错误假设
更深层次的原因在于,固定模板策略基于一个核心假设:
我们预先了解该领域所有问题的典型回答模式。
这个假设在知识体系成熟的领域或许成立,但在快速发展或高度复杂的新兴领域中则难以维系。
本质上,任何固定的模板都是一种固化的视角,试图用单一视角去匹配多样化的知识内容,必然会导致部分场景下的结构性失配。
4. 主要改进方向
4.1 方向一:从“模板驱动”变为“内容驱动”
鉴于固定模板与召回内容之间存在“错配”风险,新方向的核心思想是:不再强制内容去适应模板,而是让内容本身来决定答案的结构。 这相当于从“按既定食谱备菜”转变为“根据现有食材动态设计菜谱”。
- 第一步:主题发现
- 操作: 对召回的上下文Chunk进行开放式主题分析。利用LLM的理解能力,让其在无预设偏见的情况下,自由地识别并描述该内容块的核心主题、信息类型或意图(例如,这是一个概念定义、一个操作步骤、一个原因分析等)。
- 目的: 从内容本身,无偏见地“发现”其内在的逻辑主题。
- 第二步:主题归一化
- 操作: 第一步自由发现的主题可能存在表述多样化或语义重叠的问题(如“原理阐述”与“工作机制”)。本步骤旨在对这些原始主题进行聚类和标准化,将它们映射到一个预定义的、有限的规范主题集合中。
- 目的: 消除主题的模糊性和冗余,为每个内容块生成一组干净、一致的标准化主题标签,为下游处理提供可靠的结构化输入。
- 第三步:基于召会内容生成动态大纲
- 操作: 汇总所有被召回Chunks的归一化主题,构建一个临时的回答大纲。
- 目的: 生成一个即时的、为本次查询量身定制的回答结构或“脚手架”。这个动态大纲将作为最终Prompt的一部分,引导LLM组织语言,确保生成的答案既能全面反映召回内容,又具备逻辑连贯性,从根本上避免固定模板带来的结构失配问题。





