142 lines
3.5 KiB
Markdown
142 lines
3.5 KiB
Markdown
# Scenarios 模块需求文档
|
|
|
|
## 1. 模块定位
|
|
|
|
Scenarios 模块负责管理业务 Agent 场景,是整个平台快速适配未知复试题的核心入口。
|
|
|
|
场景定义需要尽量配置化,避免把具体业务逻辑写死在 Django View 或 Agent Core 中。
|
|
|
|
## 2. 模块目标
|
|
|
|
- 读取预置场景配置。
|
|
- 展示可用业务 Agent 列表。
|
|
- 提供场景详情。
|
|
- 为 Chat 模块提供当前场景的完整配置。
|
|
- 支持后续扩展为 Django Admin 可编辑场景。
|
|
|
|
## 3. 职责边界
|
|
|
|
### 3.1 负责
|
|
|
|
- 场景模板定义。
|
|
- 场景配置文件读取。
|
|
- 场景元信息展示。
|
|
- 场景启用/禁用状态。
|
|
- 场景与文档、审计日志的关联关系。
|
|
|
|
### 3.2 不负责
|
|
|
|
- 不执行 Agent 对话。
|
|
- 不直接处理 RAG 检索。
|
|
- 不直接调用工具。
|
|
- 不直接调用大模型。
|
|
- 不解析结构化输出。
|
|
|
|
## 4. 场景模板需求
|
|
|
|
V1 预置 5 类场景模板:
|
|
|
|
| 模板 ID | 模板名称 | 适用题型 |
|
|
|---|---|---|
|
|
| `knowledge_qa` | 知识库问答助手 | SOP、制度、客服知识库、内部文档问答 |
|
|
| `document_review` | 文档审核助手 | 合同审核、制度审核、材料合规检查 |
|
|
| `ticket_assistant` | 工单处理助手 | 客服工单、售后工单、运维工单 |
|
|
| `quality_analysis` | 质量异常分析助手 | 生产质量、缺陷分析、原因定位 |
|
|
| `risk_audit` | 风险审核助手 | 财务审核、采购审核、报销审核、合同风险 |
|
|
|
|
## 5. 场景配置字段
|
|
|
|
场景配置文件建议使用 YAML。
|
|
|
|
必填字段:
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|---|---|---|
|
|
| `id` | string | 场景唯一标识 |
|
|
| `name` | string | 场景名称 |
|
|
| `description` | string | 场景说明 |
|
|
| `agent.role` | string | Agent 角色 |
|
|
| `agent.goal` | string | Agent 目标 |
|
|
| `agent.instructions` | list[string] | Agent 指令 |
|
|
| `rag.enabled` | boolean | 是否启用 RAG |
|
|
| `tools` | list[string] | 可用工具列表 |
|
|
| `output.type` | string | 输出模板类型 |
|
|
| `audit.enabled` | boolean | 是否记录审计 |
|
|
|
|
示例:
|
|
|
|
```yaml
|
|
id: document_review
|
|
name: 文档审核助手
|
|
description: 检查合同、制度或 SOP 中的风险点和缺失项
|
|
|
|
agent:
|
|
role: 文档审核专家
|
|
goal: 根据审核规则和知识库内容输出结构化审核意见
|
|
instructions:
|
|
- 只基于用户提供文档和知识库进行判断
|
|
- 不确定的问题必须标记为需人工复核
|
|
- 输出必须包含风险等级和修改建议
|
|
|
|
rag:
|
|
enabled: true
|
|
collection: document_review
|
|
top_k: 5
|
|
|
|
tools:
|
|
- check_required_fields
|
|
|
|
output:
|
|
type: document_review_report
|
|
|
|
audit:
|
|
enabled: true
|
|
```
|
|
|
|
## 6. 页面需求
|
|
|
|
### 6.1 场景列表页
|
|
|
|
路径:`/`
|
|
|
|
展示内容:
|
|
|
|
- 场景名称。
|
|
- 场景描述。
|
|
- 适用题型。
|
|
- 是否启用。
|
|
- 进入对话按钮。
|
|
|
|
### 6.2 场景详情页 可选
|
|
|
|
路径:`/scenarios/<scenario_id>/`
|
|
|
|
展示内容:
|
|
|
|
- Agent 角色。
|
|
- Agent 目标。
|
|
- RAG 是否启用。
|
|
- 可用工具列表。
|
|
- 输出模板类型。
|
|
|
|
V1 可以不做独立详情页,在对话页展示当前场景摘要即可。
|
|
|
|
## 7. 服务接口需求
|
|
|
|
Scenarios 模块至少需要提供以下服务函数:
|
|
|
|
```text
|
|
list_scenarios() -> list[ScenarioConfig]
|
|
get_scenario(scenario_id: str) -> ScenarioConfig
|
|
validate_scenario(config: dict) -> ValidationResult
|
|
```
|
|
|
|
## 8. 验收标准
|
|
|
|
- 首页可以展示 5 个预置场景。
|
|
- 点击场景可以进入对应对话页。
|
|
- 场景配置来自配置文件,而不是硬编码在 View 中。
|
|
- 缺失必填字段时能给出明确错误。
|
|
- Chat 模块可以根据 `scenario_id` 获取完整场景配置。
|
|
|