2.3 KiB
2.3 KiB
ADDED Requirements
Requirement: 渐进式查询策略
系统 SHALL 采用渐进式查询策略回答用户问题,以节省 token 消耗:
- 首先读取 project.md 获取整体概述和文件索引
- 根据用户问题和文件索引判断需要查阅哪些 parsed 文件
- 按需读取相关 parsed 文件的全部或部分内容
- 基于获取的信息回答问题
Scenario: 问题可通过摘要回答
- WHEN 用户提问"这个项目主要做什么?",且 project.md 的概述中已包含足够信息
- THEN 系统仅基于 project.md 内容回答,不加载 parsed 文件
Scenario: 问题需要查阅具体文件
- WHEN 用户提问"系统的权限控制是怎么设计的?",且 project.md 文件索引中
需求文档的摘要提到了权限相关内容 - THEN 系统读取
parsed/需求文档.md获取详细信息后回答
Requirement: 来源标注
系统在回答中引用具体信息时 SHALL 标注文件来源,格式为:「根据《文件名》(parsed/文件名.md),...」。来源标注 MUST 指向 parsed 目录下的具体文件。
Scenario: 回答中包含来源标注
- WHEN 系统从
parsed/技术方案.md中获取信息来回答问题 - THEN 回答中 SHALL 包含类似「根据《技术方案》(parsed/技术方案.md),系统采用微服务架构...」的来源标注
Scenario: 回答综合多个文件
- WHEN 回答需要综合
parsed/需求文档.md和parsed/技术方案.md的信息 - THEN 回答中 SHALL 分别标注各信息点的来源文件
Requirement: 会话问答模式
系统 SHALL 在 ask 模式下保持会话上下文,用户可以连续提问而无需每次重新加载知识库。会话的退出由用户自然决定(开启新话题或新会话),系统不主动终止会话。
Scenario: 多轮追问
- WHEN 用户先问"系统用了什么技术栈?",接着追问"数据库选型的理由是什么?"
- THEN 系统在第二次回答时保持之前的上下文,可复用已加载的 parsed 文件内容
Scenario: 知识库中无相关信息
- WHEN 用户提出的问题在 project.md 和所有 parsed 文件中均无相关信息
- THEN 系统 SHALL 明确告知用户当前知识库中未找到相关信息,而非编造答案