39 lines
2.3 KiB
Markdown
39 lines
2.3 KiB
Markdown
## ADDED Requirements
|
||
|
||
### Requirement: 渐进式查询策略
|
||
系统 SHALL 采用渐进式查询策略回答用户问题,以节省 token 消耗:
|
||
1. 首先读取 project.md 获取整体概述和文件索引
|
||
2. 根据用户问题和文件索引判断需要查阅哪些 parsed 文件
|
||
3. 按需读取相关 parsed 文件的全部或部分内容
|
||
4. 基于获取的信息回答问题
|
||
|
||
#### 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 明确告知用户当前知识库中未找到相关信息,而非编造答案
|