feat: 扩展风险规则体系、审批动态路由与预算中心列表化改造
- 新增 25+ 条风险规则(预算/报销/申请/通用类),完善风险规则模拟与反馈发布机制 - 引入费用审批动态路由、平台风险分级、预审与风险阶段管理 - 预算中心列表化改造,优化票据夹仪表盘与数字员工工作看板 - 新增 Hermes 风险线索收集器、Agent 链路追踪中心 - 扩展数字员工能力库(18 个领域 Skill)与交通费用自动预估 - 完善报销申请快速预览、权限控制与前端测试覆盖
This commit is contained in:
133
document/development/数字员工能力库扩展/CONCEPT.md
Normal file
133
document/development/数字员工能力库扩展/CONCEPT.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# 数字员工能力库扩展概念文档
|
||||
|
||||
更新日期:2026-05-31
|
||||
|
||||
## 功能一句话
|
||||
|
||||
把数字员工从少量后台任务扩展为覆盖事实抽取、规则命中分析、资产积累、报告生成和人工复核辅助的企业级后台分析能力库。
|
||||
|
||||
## 背景与问题
|
||||
|
||||
当前员工技能数量偏少,只有制度整理、风险图谱巡检、员工画像巡检和少量复核辅助能力。页面观感更像技术演示,不像完整的财务数字员工能力矩阵。
|
||||
|
||||
需要把已有风险图谱、制度知识、画像基线、反馈池、回放评测等算法资产拆成用户能理解的员工技能,让列表规模、分类结构和详情内容都更完整。
|
||||
|
||||
同时必须收敛数字员工边界:数字员工不是风险专家,也不是规则制定者。风险口径、规则内容、制度解释和最终判断由人负责;规则中心执行归属外层智能体流程,数字员工只负责读取事实、规则命中和反馈结果,生成后台分析、报告、知识库材料和待人工复核线索。
|
||||
|
||||
## 目标
|
||||
|
||||
- 员工技能数量扩展到不少于 16 个。
|
||||
- 保持四类技能:积累、升级、整理、评估。
|
||||
- 每个技能都有名称、描述、技能包、分类、执行场景、输入、输出、是否定时、是否写入工作记录。
|
||||
- 新增技能进入资产种子和运行时补齐逻辑,已有数据库启动后也能自动补齐。
|
||||
- 新增技能包落在 `server/src/app/skills/domain`,便于后续同步到数字员工运行侧。
|
||||
- 明确技能边界:输出事实、规则命中和待人工确认线索,不输出正式规则结论或规则变更裁判。
|
||||
|
||||
## 非目标
|
||||
|
||||
- 本轮不引入新的数据库结构变更。
|
||||
- 本轮不要求所有新增技能都接入真实执行器。
|
||||
- 本轮不复制竞品术语或页面包装,只做 X-Financial 自有能力命名。
|
||||
- 本轮不让数字员工总结风险规则、发明新规则、修改规则中心或替代人工确认风险。
|
||||
|
||||
## 用户与场景
|
||||
|
||||
- 风控管理员:查看评估类和升级类技能,理解规则命中分析、异常线索、人工复核样本和回放评测能力。
|
||||
- 财务制度管理员:查看整理类技能,维护制度条款、政策口径和规则命中样本。
|
||||
- 数据治理人员:查看积累类技能,理解员工、部门、供应商和反馈样本如何沉淀。
|
||||
- 系统管理员:配置定时计划、查看工作记录和执行结果。
|
||||
|
||||
## 功能能力
|
||||
|
||||
完整员工技能库按四类组织:
|
||||
|
||||
- 整理:财务制度、制度条款、政策口径、规则命中样本。
|
||||
- 积累:员工画像、部门基线、供应商画像、误报样本、反馈样本。
|
||||
- 评估:风险图谱、多凭证一致性、时空一致性、预算超标、供应商异常关系。
|
||||
- 升级:风险线索归集、算法回放、制度引用缺口提示和人工复核材料整理。
|
||||
|
||||
每个技能需要提供:
|
||||
|
||||
- `skill_name`:技能包目录名。
|
||||
- `skill_category`:积累、升级、整理、评估之一。
|
||||
- `task_type`:由任务 code 派生。
|
||||
- `schedule` / `cron_expression`:默认定时计划。
|
||||
- `input_sources`:输入来源。
|
||||
- `output_format`:产出格式。
|
||||
- `writes_work_record`:是否产出工作记录。
|
||||
- `execution_strategy`:真实执行、复用现有扫描器或定义先行。
|
||||
- `role_boundary`:规则由人定义、风险由人确认、主流程由外层智能体执行,数字员工只做后台分析、报告生成和知识沉淀。
|
||||
- `allowed_outputs`:只允许输出 `facts`、`rule_hits`、`risk_clues`、`evidence_refs`、`human_review_required` 等受控字段。
|
||||
|
||||
## 数字员工边界
|
||||
|
||||
数字员工允许做三件事:
|
||||
|
||||
- 事实抽取:从申请单、报销单、票据、附件、审批记录中抽取金额、时间、地点、人员、供应商、票据号、申请关系等事实。
|
||||
- 规则命中分析:读取外层智能体流程已经产生的规则命中结果、字段依据和原始证据,用于后台报告与复核材料整理。
|
||||
- 线索归集:基于事实和规则命中输出“待人工复核”的潜在线索,不能把线索升级为正式风险结论。
|
||||
|
||||
数字员工禁止做四件事:
|
||||
|
||||
- 不总结或发明风险规则。
|
||||
- 不修改、发布、删除规则中心规则。
|
||||
- 不把潜在线索判定为最终违规结论。
|
||||
- 不替代财务、风控或管理员进行制度解释和风险确认。
|
||||
|
||||
## 方案设计
|
||||
|
||||
### 后端
|
||||
|
||||
- 在 `agent_foundation_constants.py` 增加新增任务 code 和分类映射。
|
||||
- 在 `agent_foundation_digital_employee_tasks.py` 增加运行时任务规格。
|
||||
- 在初始种子流程完成基础任务 flush 后,调用运行时补齐逻辑,保证新库完整落库。
|
||||
- 新增技能包目录和 `SKILL.md`,内容包含功能说明、执行时机、输入输出和边界。
|
||||
- 将容易越权的“规则发现、规则模板整理、制度缺口优化”收敛为“风险线索归集、规则命中样本整理、制度引用缺口提示”。
|
||||
|
||||
### 前端
|
||||
|
||||
前端列表已按资产接口读取任务类资产,不需要新增页面结构。新增任务落库后会自动进入员工技能列表,并使用已有筛选、分类和详情展示。
|
||||
|
||||
### 算法与公式
|
||||
|
||||
本轮主要扩展能力目录和角色边界,不新增评分公式。后续每个技能接入真实算法时,再在对应算法文档中补充公式。
|
||||
|
||||
数字员工输出的线索置信度只能作为排序依据,不能作为最终风险裁判:
|
||||
|
||||
$$
|
||||
risk\_clue = f(facts, rule\_hits, evidence\_quality)
|
||||
$$
|
||||
|
||||
其中 `facts` 来自申请与报销事实,`rule_hits` 来自外层智能体流程或规则中心已经产生的命中结果,`evidence_quality` 表示证据完整度。数字员工不触发规则主流程,最终是否构成风险由人工复核或规则中心既有处置流程决定。
|
||||
|
||||
### 后台分析闭环
|
||||
|
||||
风险线索归集不是规则生产流程,而是后台分析闭环的一环:
|
||||
|
||||
- 工作记录详情展示本次归集的事实、规则命中、待复核线索和近期反馈样本。
|
||||
- 风险看板展示待复核线索数和反馈样本数,用于观察后台分析是否形成可复盘资产。
|
||||
- 人工反馈仍写入风险观察反馈池,数字员工只读取反馈池做线索排序、复核材料整理和后续报告生成。
|
||||
|
||||
## 测试方案
|
||||
|
||||
- 单元测试:校验数字员工运行时任务规格数量、分类覆盖、技能包目录存在、任务 code 唯一。
|
||||
- 配置测试:校验每个任务配置都包含 `skill_name`、`output_format`、`skill_category_options`。
|
||||
- 容器验证:在 `x-financial-main:/app/server` 运行定向测试。
|
||||
- 手工验收:进入数字员工员工技能列表,确认技能数量和分类明显完整。
|
||||
- 接口验收:风险看板接口返回 `risk_clue_count` 和 `feedback_sample_count`,工作记录详情能展示风险线索归集的反馈样本摘要。
|
||||
|
||||
## 指标与验收
|
||||
|
||||
- 员工技能总数不少于 17 个。
|
||||
- 四类分类都有技能。
|
||||
- 新增技能包全部存在 `SKILL.md`。
|
||||
- 定向测试通过。
|
||||
- 风险看板不再展示候选规则指标,改为待复核线索和反馈样本。
|
||||
- 不引入数据库迁移和破坏性变更。
|
||||
|
||||
## 风险与开放问题
|
||||
|
||||
- 新增技能中部分为“定义先行”,立即运行时需要后续逐步接入真实执行器。
|
||||
- 如果用户希望每个技能都能立即产出真实结果,需要继续拆分执行服务和工作记录产物。
|
||||
- 已接入风险线索归集真实执行器,后续应继续把多凭证、时空、预算、供应商异常从风险图谱主引擎中拆成独立算法模块。
|
||||
- 若技能命名或说明再次出现“数字员工承担规则主流程、规则发现、规则优化、自动总结风险”等表述,应优先改为读取规则命中结果、事实、线索、复核材料等受控表述。
|
||||
56
document/development/数字员工能力库扩展/TODO.md
Normal file
56
document/development/数字员工能力库扩展/TODO.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 数字员工能力库扩展 TODO
|
||||
|
||||
更新日期:2026-05-31
|
||||
|
||||
## 1. 调研与契约
|
||||
|
||||
- [x] 复核当前员工技能数量、分类和技能包目录。[CONCEPT: 背景与问题] 证据:当前已有基础技能包:制度整理、风险图谱巡检、员工画像巡检、风险线索归集。
|
||||
- [x] 定义完整能力矩阵,覆盖积累、升级、整理、评估四类。[CONCEPT: 功能能力] 证据:`CONCEPT.md` 已列出 17 个目标技能。
|
||||
|
||||
## 2. 后端资产
|
||||
|
||||
- [x] 增加新增数字员工任务 code 和分类映射。[CONCEPT: 后端] 证据:`agent_foundation_constants.py` 已新增 13 个任务 code,`DIGITAL_EMPLOYEE_TASK_CATEGORY_MAP` 覆盖四类分类。
|
||||
- [x] 增加运行时任务规格,保证已有数据库可自动补齐新增员工技能。[CONCEPT: 后端] 证据:`agent_foundation_digital_employee_tasks.py` 已扩展到 16 个运行时任务规格,新增技能均包含 `skill_name/input_sources/output_format/execution_strategy`。
|
||||
- [x] 调整初始种子流程,保证空库初始化时也能落齐完整员工技能库。[CONCEPT: 后端] 证据:`agent_foundation_asset_seed.py` 在基础资产 `flush` 后调用 `_upsert_runtime_digital_employee_tasks()`,空库初始化会补齐完整运行时技能。
|
||||
|
||||
## 3. 技能包
|
||||
|
||||
- [x] 新增制度条款、政策口径、规则命中样本等整理类技能包。[CONCEPT: 功能能力] 证据:已新增 `finance-policy-clause-extractor`、`expense-policy-alignment`、`rule-execution-case-organizer` 技能包。
|
||||
- [x] 新增部门基线、供应商画像、误报样本、反馈样本等积累类技能包。[CONCEPT: 功能能力] 证据:已新增 `department-expense-baseline-accumulator`、`supplier-risk-profile-accumulator`、`false-positive-sample-accumulator`、`risk-feedback-sample-accumulator` 技能包。
|
||||
- [x] 新增多凭证、时空、预算、供应商关系等评估类技能包。[CONCEPT: 功能能力] 证据:已新增 `multi-evidence-consistency-evaluator`、`travel-spatiotemporal-consistency-evaluator`、`budget-overrun-precontrol-evaluator`、`supplier-abnormal-relation-evaluator` 技能包。
|
||||
- [x] 新增回放评测、制度引用缺口提示等升级类技能包。[CONCEPT: 功能能力] 证据:已新增 `risk-algorithm-replay-evaluator`、`policy-reference-gap-hinter` 技能包。
|
||||
|
||||
## 4. 测试与验收
|
||||
|
||||
- [x] 增加数字员工技能目录测试,校验任务 code 唯一、分类覆盖、技能包存在。[CONCEPT: 测试方案] 证据:新增 `tests/test_digital_employee_skill_catalog.py` 覆盖任务数量、分类、配置和技能包。
|
||||
- [x] 在 Docker 容器 `x-financial-main:/app` 运行定向测试,60s 内完成。[CONCEPT: 测试方案] 证据:`docker exec x-financial-main bash -lc "cd /app && timeout 60s /tmp/x-financial-server-venv/bin/python -m pytest server/tests/test_digital_employee_skill_catalog.py -q"` 通过,3 个测试通过。
|
||||
- [x] 确认最终员工技能总数不少于 17 个,四类分类都有技能。[CONCEPT: 指标与验收] 证据:测试断言运行时 16 个技能加 `整理公司财务知识制度` 共 17 个,分类覆盖积累、升级、整理、评估。
|
||||
|
||||
## 5. 边界收敛
|
||||
|
||||
- [x] 调整概念文档,明确数字员工不总结风险规则、不发明规则、不替代人工确认风险。[CONCEPT: 数字员工边界] 证据:`CONCEPT.md` 和 `hermes-risk-graph-algorithm/CONCEPT.md` 已把数字员工边界收敛为事实抽取、规则命中结果读取、后台分析和待复核线索归集。
|
||||
- [x] 将“风险规则候选发现、风险规则模板整理、制度缺口与规则变更建议”收敛为事实、规则命中和人工复核辅助类技能。[CONCEPT: 功能能力] 证据:运行时技能已改为 `risk-clue-collector`、`rule-execution-case-organizer`、`policy-reference-gap-hinter`。
|
||||
- [x] 在技能配置中增加 `role_boundary` 和 `allowed_outputs`,约束输出只能是事实、规则命中、线索和证据引用。[CONCEPT: 数字员工边界] 证据:`agent_foundation_digital_employee_tasks.py` 为运行时技能配置写入 `role_boundary`、`allowed_outputs` 和 `writes_rules=false`。
|
||||
- [x] 更新技能包 Markdown,禁止数字员工发布、改写、总结规则,风险线索必须待人工复核。[CONCEPT: 后端] 证据:`risk-clue-collector`、`rule-execution-case-organizer`、`policy-reference-gap-hinter` 及兼容别名技能包均已声明禁止生成、改写或发布规则。
|
||||
- [x] 增加目录测试,防止数字员工技能重新出现自动发布、规则变更、候选规则生成等越权语义。[CONCEPT: 测试方案] 证据:`test_digital_employee_skills_do_not_cross_rule_governance_boundary` 已断言旧技能名和危险输出格式不再进入数字员工目录。
|
||||
|
||||
## 7. 流程边界收敛
|
||||
|
||||
- [x] 明确规则中心命中结果归属外层智能体流程,数字员工只消费规则命中结果。[CONCEPT: 数字员工边界] 证据:`CONCEPT.md` 已改为“规则命中分析”,并声明数字员工不触发规则主流程。
|
||||
- [x] 更新技能与配置文案,禁止数字员工被描述为规则主流程处理器。[CONCEPT: 后端] 证据:`agent_foundation_digital_employee_tasks.py`、`risk-clue-collector`、`rule-execution-case-organizer` 及兼容别名技能包均已改为后台分析和复核材料口径。
|
||||
- [x] 增加测试,防止 `role_boundary` 再次出现规则主流程越界表述。[CONCEPT: 测试方案] 证据:`test_digital_employee_runtime_specs_build_display_ready_config` 已覆盖主流程归属和禁止数字员工承担规则主流程职责。
|
||||
|
||||
## 6. 风险线索归集真实执行器
|
||||
|
||||
- [x] 新增 `HermesRiskClueCollectorService`,读取申请/报销事实、规则命中、风险观察和人工反馈,输出 `risk_clue_review_packet`。[CONCEPT: 算法与公式] 证据:`hermes_risk_clue_collector.py` 输出 `facts/rule_hits/risk_clues/evidence_refs/human_review_required`。
|
||||
- [x] 将 `risk_clue_collect` 接入数字员工立即运行分发。[CONCEPT: 后端] 证据:`orchestrator_execution.py` 已新增 `digital_employee.risk_clue.collect` 工具调用,`test_schedule_digital_employee_task_runs_real_service` 覆盖分发。
|
||||
- [x] 将 `risk_clue_collect` 接入 Hermes 定时调度。[CONCEPT: 后端] 证据:`hermes_scheduler.py` 已新增 `risk_clue_collect` 分支并写入执行摘要。
|
||||
- [x] 工作记录详情识别风险线索归集产物,展示事实、规则命中、待复核线索和证据引用计数。[CONCEPT: 前端] 证据:`digitalEmployeeWorkRecordsModel.js` 和 `DigitalEmployeeRunProducts.vue` 已支持 `risk_clue` 产物,前端测试覆盖。
|
||||
- [x] 增加执行器测试,验证不写规则、不输出候选规则、线索必须待人工复核。[CONCEPT: 测试方案] 证据:`test_hermes_risk_clue_collector.py` 通过,断言 `writes_rules=false`、`human_review_required=true` 和无 `candidate_risk_rules/auto_publish`。
|
||||
|
||||
## 8. 后台分析闭环
|
||||
|
||||
- [x] 风险线索归集产物补充观察键、反馈状态和近期反馈样本摘要,方便工作记录详情定位复核上下文。[CONCEPT: 后台分析闭环] 证据:`hermes_risk_clue_collector.py` 输出 `observation_key/feedback_status/next_action/feedback_summary`,`DigitalEmployeeRunProducts.vue` 展示反馈样本。
|
||||
- [x] 风险看板聚合接口补充 `risk_clue_count` 与 `feedback_sample_count`,把数字员工后台分析结果接入看板指标。[CONCEPT: 后台分析闭环] 证据:`RiskObservationDashboardRead` 与 `RiskObservationService.summarize_dashboard()` 已输出线索数和反馈样本数。
|
||||
- [x] 风险看板前端移除“候选规则”指标,改为“待复核线索”和“反馈样本”。[CONCEPT: 指标与验收] 证据:`RiskObservationDashboard.vue` 的算法闭环效果区已展示 `待复核线索/反馈样本`,前端测试断言不再出现候选规则。
|
||||
- [x] 增加后端与前端定向测试,并在 Docker 容器内验证核心后端测试通过。[CONCEPT: 测试方案] 证据:`pytest` 定向测试 8 个通过,`node --test` 前端定向测试 8 个通过。
|
||||
Reference in New Issue
Block a user