Files
DEMO-AGENT/docs/requirements_v1.md

13 KiB
Raw Blame History

Universal Agent Demo Framework V1 需求文档

1. 项目背景

本项目用于复试展示。复试题目暂时未知但大概率围绕企业生产、质量、客服、财务、SOP、文档审核、工单处理等场景。

项目目标不是提前猜中某一个具体业务题,而是先搭建一个通用 AI Agent Demo 底座。拿到复试题目后,可以通过修改场景配置、上传知识库、补充少量业务工具,快速生成一个可演示的业务 Agent 系统。

核心理念:

业务 Agent = 场景配置 + 知识库 + 工具集 + 输出模板 + 审计日志 + 模型适配器

2. 项目目标

V1 版本目标是实现一个可运行、可演示、可快速改题的基础平台。

系统需要支持:

  • 通过配置快速创建不同业务 Agent。
  • 支持上传文档并构建 RAG 知识库。
  • 支持根据场景调用内置业务工具。
  • 支持结构化输出,方便展示报告、风险点、建议动作等结果。
  • 支持审计日志,记录用户输入、检索内容、工具调用和模型输出。
  • 支持 Docker 一键启动,降低复试现场环境风险。
  • 支持快速替换大模型 API。

3. 非目标

V1 不追求完整企业级平台能力,以下内容暂不作为第一版重点:

  • 复杂权限系统。
  • 多租户管理。
  • 完整工作流引擎。
  • 复杂多 Agent 协作。
  • 前后端分离架构。
  • 深度集成 Dify。
  • 生产级高并发优化。
  • 完整在线文档协同编辑。

4. 技术方案

4.1 总体架构

V1 使用 Django 单体应用承载企业系统外壳Agent Core 作为独立 Python 模块承载智能编排能力。

Django Monolith
  |
  |-- Web UI
  |   |-- 场景选择
  |   |-- Agent 对话
  |   |-- 文件上传
  |   |-- 结构化结果展示
  |   |-- 审计日志查看
  |
  |-- Django Admin
  |   |-- 场景配置管理
  |   |-- 上传文件管理
  |   |-- 审计日志管理
  |   |-- 示例业务数据管理
  |
  |-- Agent Core
  |   |-- 场景配置加载
  |   |-- RAG 检索
  |   |-- 工具注册与调用
  |   |-- 大模型适配
  |   |-- 结构化输出解析
  |
  |-- Storage
      |-- SQLite
      |-- Chroma
      |-- Uploaded Files

4.2 技术栈

模块 技术 说明
Web 框架 Django 负责页面、模型、后台、文件上传和业务管理
页面渲染 Django Templates + Bootstrap 降低前端复杂度,快速完成 Demo
数据库 SQLite V1 默认数据库,适合本地演示
向量库 Chroma 本地 RAG 知识库
Agent Core 自研轻量 Orchestrator 保证可控、易讲解、易改题
LLM 接入 OpenAI API 兼容接口 方便切换 OpenAI、国产模型或本地代理
部署 Docker + Docker Compose 支持一键启动

5. 用户角色

V1 只设计一个主要用户角色:

Demo 操作者

通常是复试时的展示者,负责选择场景、上传材料、输入问题、查看 Agent 输出和审计记录。

暂不区分管理员、业务人员、审核人员等复杂角色。

6. 核心使用流程

6.1 复试前准备流程

  1. 启动系统。
  2. 选择或复制一个已有场景模板。
  3. 根据题目修改场景配置。
  4. 上传题目相关文档。
  5. 如有必要,补充一个业务工具函数。
  6. 运行一次测试对话。
  7. 使用审计日志确认 RAG、工具调用和输出链路正常。

6.2 复试演示流程

  1. 打开系统首页。
  2. 展示系统支持多个业务场景。
  3. 选择当前题目对应的 Agent。
  4. 上传或选择知识库文档。
  5. 输入业务问题。
  6. 展示 Agent 的结构化输出。
  7. 展示引用来源、工具调用和审计日志。
  8. 说明同一平台可通过配置切换到其他业务场景。

7. 场景模板

V1 预置 5 类通用场景模板,用于覆盖大多数复试题型。

模板 ID 模板名称 适用题型
knowledge_qa 知识库问答助手 SOP、制度、客服知识库、内部文档问答
document_review 文档审核助手 合同审核、制度审核、SOP 审核、材料合规检查
ticket_assistant 工单处理助手 客服工单、售后工单、运维工单
quality_analysis 质量异常分析助手 生产质量、缺陷分析、原因定位
risk_audit 风险审核助手 财务审核、采购审核、报销审核、合同风险

8. 场景配置需求

场景应通过 YAML 或 JSON 文件定义,避免把业务逻辑写死在代码中。

配置内容包括:

  • 场景 ID。
  • 场景名称。
  • 场景描述。
  • Agent 角色。
  • Agent 任务目标。
  • 系统提示词。
  • 是否启用 RAG。
  • RAG 检索参数。
  • 可用工具列表。
  • 输出模板类型。
  • 审计策略。

示例:

id: quality_analysis
name: 质量异常分析助手
description: 用于分析生产质量异常、检索 SOP、生成处理建议

agent:
  role: 质量管理专家
  goal: 根据用户问题、知识库和工具结果,输出可执行的质量分析报告
  instructions:
    - 回答必须基于知识库或工具结果
    - 不确定时必须说明缺失信息
    - 涉及质量风险时给出风险等级

rag:
  enabled: true
  collection: quality_docs
  top_k: 5

tools:
  - get_recent_defect_records
  - calculate_defect_rate

output:
  type: quality_report

audit:
  enabled: true
  log_retrieval: true
  log_tool_calls: true

9. 功能需求

9.1 首页

首页需要展示系统定位和可用场景列表。

页面能力:

  • 查看所有 Agent 场景。
  • 进入某个场景的对话页。
  • 查看最近审计日志入口。
  • 查看文件上传入口。

9.2 场景选择

系统需要支持从预置模板中选择业务场景。

V1 可以先从配置文件读取场景,不要求在页面上完成复杂编辑。

最低要求:

  • 展示场景名称。
  • 展示场景描述。
  • 展示场景适用题型。
  • 点击后进入对应 Agent 对话页。

9.3 Agent 对话

Agent 对话页是核心演示页面。

页面需要包含:

  • 当前场景名称。
  • 用户输入框。
  • 文件上下文选择。
  • Agent 输出区域。
  • 结构化结果展示区域。
  • 引用片段展示区域。
  • 工具调用展示区域。

Agent 执行流程:

  1. 接收用户问题。
  2. 加载当前场景配置。
  3. 如果启用 RAG则检索相关知识片段。
  4. 根据场景判断是否调用工具。
  5. 调用大模型生成结果。
  6. 解析为结构化输出。
  7. 写入审计日志。
  8. 返回页面展示。

9.4 文件上传

系统需要支持上传题目材料和知识库文档。

V1 支持的文件类型:

  • TXT
  • Markdown
  • PDF
  • DOCX 可作为后续增强
  • XLSX 可作为后续增强

文件上传后需要保存:

  • 原始文件名。
  • 文件路径。
  • 文件类型。
  • 上传时间。
  • 关联场景。
  • 是否已入库。

9.5 RAG 知识库

系统需要支持将上传文档写入向量库,并在 Agent 对话时检索。

V1 RAG 流程:

  1. 读取上传文件文本。
  2. 按固定长度切分文本。
  3. 生成 embedding。
  4. 写入 Chroma collection。
  5. 对话时根据用户问题检索 top_k 片段。
  6. 将片段作为上下文传给 Agent。
  7. 在结果中展示引用来源。

9.6 工具调用

系统需要提供一个工具注册机制。

V1 内置工具建议包括:

工具名 用途
calculate_rate 计算比例、缺陷率、通过率等指标
query_demo_records 查询模拟业务数据
check_required_fields 检查文档或表单必填项
generate_action_items 根据问题生成行动项

工具调用需要记录到审计日志中。

9.7 结构化输出

不同场景需要不同输出模板。

V1 至少支持以下输出类型:

通用问答输出

  • answer
  • references
  • confidence

文档审核输出

  • summary
  • issues
  • risk_level
  • suggestions
  • missing_items
  • references

工单处理输出

  • reply
  • category
  • priority
  • suggested_action
  • need_human_review

质量分析输出

  • summary
  • possible_causes
  • evidence
  • risk_level
  • suggested_actions
  • references

9.8 审计日志

系统需要记录每次 Agent 执行过程。

审计字段:

  • 日志 ID。
  • 场景 ID。
  • 用户输入。
  • 检索片段。
  • 工具调用记录。
  • 模型名称。
  • 结构化输出。
  • 原始输出。
  • 执行耗时。
  • 创建时间。

审计日志页面需要支持:

  • 查看日志列表。
  • 查看单条日志详情。
  • 展示检索内容。
  • 展示工具调用。
  • 展示最终输出。

9.9 模型适配

系统需要通过统一接口调用大模型,避免模型 API 写死。

V1 模型适配器需要支持:

  • 从环境变量读取 API Key。
  • 从环境变量读取 Base URL。
  • 从环境变量读取 Model Name。
  • 支持 OpenAI API 兼容格式。

环境变量示例:

LLM_API_KEY=your_api_key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4.1-mini

10. Dify 集成策略

V1 不把 Dify 作为核心依赖。

原因:

  • 复试现场需要最大程度保证可控。
  • 自研 Agent Core 更方便解释架构设计。
  • 题目未知时,直接依赖外部平台会增加部署和调试风险。
  • Django + Agent Core 已能覆盖第一版演示需求。

系统预留 Agent Engine Adapter 概念,后续可接入 Dify、OpenAI Agents SDK 或其他企业 AI 平台。

V1 默认引擎:

Lightweight Orchestrator

后续可扩展:

Dify API Adapter
OpenAI Agents SDK Adapter
LangGraph Adapter

11. Docker 部署需求

系统需要支持 Docker Compose 一键启动。

基础命令:

docker compose up --build

V1 容器内容:

  • Django Web 服务。
  • SQLite 数据文件挂载。
  • Chroma 数据目录挂载。
  • 上传文件目录挂载。

V1 暂不强制引入 PostgreSQL。如果后续需要更正式的部署效果可以在 Docker Compose 中增加 PostgreSQL 服务。

12. 推荐项目结构

universal-agent-demo/
  manage.py
  requirements.txt
  Dockerfile
  docker-compose.yml
  .env.example
  README.md

  config/
    settings.py
    urls.py
    wsgi.py
    asgi.py

  apps/
    scenarios/
      models.py
      admin.py
      services.py

    chat/
      views.py
      urls.py
      forms.py

    documents/
      models.py
      views.py
      services.py

    audit/
      models.py
      admin.py
      services.py

  agent_core/
    orchestrator.py
    scenario_loader.py
    llm_provider.py
    tool_registry.py
    structured_output.py

    rag/
      ingest.py
      retriever.py

    tools/
      builtin_tools.py

    schemas/
      outputs.py

  configs/
    knowledge_qa.yaml
    document_review.yaml
    ticket_assistant.yaml
    quality_analysis.yaml
    risk_audit.yaml

  data/
    uploads/
    chroma/
    db.sqlite3

  templates/
    base.html
    home.html
    chat/index.html
    documents/upload.html
    audit/logs.html

  static/
    css/
    js/

13. 模块需求文档

V1 按 6 个核心模块拆分,具体模块需求见:

模块 文档
Config docs/modules/01_config_module_requirements.md
Scenarios docs/modules/02_scenarios_module_requirements.md
Documents docs/modules/03_documents_module_requirements.md
Chat docs/modules/04_chat_module_requirements.md
Audit docs/modules/05_audit_module_requirements.md
Agent Core docs/modules/06_agent_core_module_requirements.md

模块总览见:

docs/modules/00_module_requirements_index.md

14. V1 验收标准

V1 完成后,需要满足以下验收标准:

  • 可以通过 Docker Compose 启动系统。
  • 首页可以看到至少 5 个预置场景。
  • 可以进入某个场景进行 Agent 对话。
  • 可以上传 TXT 或 Markdown 文件。
  • 可以将上传文件写入本地知识库。
  • Agent 回答时可以使用知识库检索结果。
  • 至少支持 2 个内置工具调用。
  • Agent 输出可以以结构化方式展示。
  • 每次对话都会生成审计日志。
  • 审计日志中可以查看用户问题、检索内容、工具调用和最终输出。
  • 可以通过环境变量切换大模型 API 地址和模型名。

15. 复试改题策略

拿到题目后,优先按以下步骤适配:

  1. 判断题目属于哪类模板。
  2. 复制最接近的 YAML 场景配置。
  3. 修改 Agent 角色、任务目标和输出模板。
  4. 上传题目给出的文档或样例数据。
  5. 如果题目需要业务计算,则新增一个工具函数。
  6. 用 2 到 3 个测试问题验证效果。
  7. 演示时重点展示配置、知识库、工具调用、结构化输出和审计日志。

题型映射:

题目类型 优先模板
SOP 问答 knowledge_qa
制度问答 knowledge_qa
文档审核 document_review
客服处理 ticket_assistant
质量异常分析 quality_analysis
财务审核 risk_audit
采购审核 risk_audit
合同风险分析 document_review 或 risk_audit

16. 后续迭代方向

V1 完成后,可以根据时间增加以下能力:

  • 支持 DOCX 和 PDF 更完整解析。
  • 支持 Excel 数据分析工具。
  • 支持 Django Admin 中编辑场景配置。
  • 支持流式输出。
  • 支持 OpenAI Agents SDK Adapter。
  • 支持 Dify API Adapter。
  • 支持 PostgreSQL 部署模式。
  • 支持简单登录认证。
  • 支持演示数据一键初始化。