Files
2026-07-13 14:45:36 +08:00

17 KiB
Raw Blame History

AI 费用闭环与价值证明 开发 TODO

更新时间2026-07-13

文档路径document/development/2026-07-13/feature/ai-expense-closed-loop-and-value-proof/TODO.md

使用规则

  • 每个 TODO 必须对应 CONCEPT.md 中的目标、能力、方案或验收点。
  • 只有完成实现并验证后,才能把 [ ] 改成 [x]
  • 已完成项必须补充文件、接口、命令、容器测试或真实页面证据。
  • 如果需求发生变化,先更新 CONCEPT.md,再调整本 TODO。
  • 实施顺序遵循P0 费用闭环与数据基础 → P1 安全自动化与学习 → P2 费用经营与价值证明 → P3 商业化复制。
  • 所有后端、集成、迁移和依赖外部服务的验证只允许在项目容器内运行,单条测试命令最大超时 60s。

1. 调研与边界

  • [CONCEPT: 背景与问题] 盘点申请、票据、报销、预算、风险、审批、付款、分析、Agent trace、反馈和 AI 数据飞轮现状。 证据:server/src/app/api/v1/endpointsserver/src/app/servicesweb/srcmobile/app/src、容器运行时 OpenAPI 共 156 个业务操作。
  • [CONCEPT: 背景与问题] 确认当前主要断点是消费/取票、真实支付入账、结果回流、节省归因和商业计量,而不是页面数量不足。 证据:CONCEPT.md“背景与问题”;expense_claim_approval_flow.py 付款为状态更新;本地容器关键反馈/样本表聚合结果为 0。
  • [CONCEPT: 目标与非目标] 确认本功能采用一个总功能点分阶段实施,不一次性替换所有现有接口,不自建支付和商旅供应链网络。 证据:CONCEPT.md“目标与非目标”。
  • [CONCEPT: 风险与开放问题] 记录认证、租户、旧模型迁移、反馈污染、虚假节省、自动化失控、连接器和数据稀疏风险。 证据:CONCEPT.md“风险与开放问题”。

2. 开发前置门禁:试点与基线

  • [CONCEPT: 待确认] 确认首个目标客户规模、部署形态、购买决策人和最小租户边界。
  • [CONCEPT: 待确认] 确认首个 90 天试点费用场景,只允许一个场景进入 P0 开发。
  • [CONCEPT: 待确认] 确认是否进入企业支付、商旅预订或公司卡领域,并冻结首期连接器范围。
  • [CONCEPT: 待确认] 确认客户 ROI 中现金节省与工时价值的口径、基线窗口和签字人。
  • [CONCEPT: 指标与验收] 在 P0 开发前采集人工分钟、退回率、完成周期、人工触点、风险反馈、费用金额和付款结果基线。
  • [CONCEPT: 指标与验收] 为 P0/P1/P2 分别冻结一条可纵向跑通的闭环验收,不以“模块代码已完成”代替业务结果。

3. 契约与设计

  • [CONCEPT: 费用领域与编排] 定义 Expense Case、申请、票据、报销、审批、付款、凭证和归档的领域边界与迁移关系。
  • [CONCEPT: 数据与契约] 定义 expense_casesexpense_case_links 和最小状态机,明确非法状态跃迁。
  • [CONCEPT: 数据与契约] 定义 business_events 事件信封、事件词典、correlation ID、幂等键和版本策略。
  • [CONCEPT: 业务事件与 AI 决策] 定义 ai_decisionsai_decision_feedbackworkflow_outcomes 契约。
  • [CONCEPT: 记忆与学习] 定义 memory_entries、证据链接、优先级、有效期、敏感等级、撤销和遗忘契约。
  • [CONCEPT: 自动化决策] 定义动作风险、金额阈值、置信度、证据完整度、可逆性、抽检率和企业授权策略。
  • [CONCEPT: 节省与价值] 定义 Savings Ledger 的机会、执行、实现、确认、去重和归因状态。
  • [CONCEPT: 连接器] 定义票据邮箱、税务、企业卡、商旅、支付、银行、ERP、消息和 SSO 连接器协议。
  • [CONCEPT: 权限与安全] 定义服务端会话、租户数据范围、角色和动作级授权契约。
  • [CONCEPT: 指标与验收] 完成首个试点指标字典、基线采集方案、分子分母、数据源和负责人。
  • [CONCEPT: 方案设计] 完成分阶段架构评审,确认新增 service 不继续堆入 ExpenseClaimServiceUserAgentService 或大型前端 composable。

4. P0 后端实现:费用闭环与数据基础

  • [CONCEPT: 权限与安全] 实现服务端可验证会话/JWT移除客户端身份头作为授权事实来源。 证据:auth_sessions.pyauth_session.pydeps.pyauth.pyauthSessionStorage.js;登录签发不透明 Bearer token数据库仅保存 SHA-256 摘要,生产代码不再信任 X-Auth-*,过期/撤销/伪造会话回归测试通过。
  • [CONCEPT: 权限与安全] 为管理面、Bootstrap、Settings、模型连通性、缓存、审计和系统日志补齐平台管理员保护。 证据:bootstrap.pysettings.pyaudit_logs.pyagent_traces.pysystem_logs.pyvite.config.js;已初始化 Bootstrap 脱敏且拒绝匿名重配,平台管理员/业务经理权限边界和 Vite Setup 锁测试通过。
  • [CONCEPT: 权限与安全] 继续盘点并收口风险规则发布、制度发布及其他尚未纳入本轮的敏感动作,按动作定义平台管理员或双人复核权限。
  • [CONCEPT: 权限与安全] 为所有新增表和共享核心数据补齐最小 tenant_id、数据库约束、查询守卫及默认租户迁移。
  • [CONCEPT: 权限与安全] 为 Qdrant collection/namespace、对象存储前缀和缓存键补齐租户隔离回归测试。
  • [CONCEPT: 数据与契约] 建立 Alembic baseline 和正式迁移链,停止请求路径运行 DDL。
  • [CONCEPT: 费用领域与编排] 新增 ExpenseCaseService 和费用事件查询接口,保持编排与具体职责分离。 证据:server/src/app/services/expense_cases.pyserver/src/app/api/v1/endpoints/expense_cases.pyGET /api/v1/expense-cases/by-claim/{claim_id};容器 OpenAPI 校验通过。
  • [CONCEPT: 数据与契约] 新增 expense_casesexpense_case_linksbusiness_events 表及迁移。
  • [CONCEPT: 业务事件与 AI 决策] 新增 ai_decisionsai_decision_feedbackworkflow_outcomes 表及迁移。
  • [CONCEPT: 数据与契约] 为申请、票据、草稿、提交、退回、审批、付款和归档接入统一 correlation ID。
  • [CONCEPT: 业务事件与 AI 决策] 建立事务 Outbox申请、提交、退回、审批、支付和入账状态与事件同事务提交消费端按事件 ID 幂等处理。
  • [CONCEPT: 业务事件与 AI 决策] 完成首批草稿、提交、退回、审批、申请转报销、付款和申请归档事件旁写,具备 correlation、causation、幂等键及事务回滚。 证据:expense_claim_draft_flow.pyexpense_claims.pyexpense_claim_approval_flow.pytest_expense_case_service.py;容器测试覆盖同 Case 关联、重复事件去重及 Outbox 失败整体回滚。
  • [CONCEPT: 兼容策略] 建立迁移桥接:服务启动先执行 Alembic旧 metadata bootstrap 排除 migration-owned 表。 证据:server_start.shagent_foundation.py20260713_0001_expense_case_business_events.py;容器 sh -n、离线 upgrade/downgrade SQL 和 legacy bootstrap 排除测试通过。
  • [CONCEPT: 兼容策略] 正式切换前以 shadow 事件校验现有 ExpenseClaim 映射;切换后禁止关键事件可丢弃写入。
  • [CONCEPT: 兼容策略] 制定旧 ReimbursementRequest 只读兼容、迁移和停止新增编排的计划。
  • [CONCEPT: 兼容策略] 把新增审批、付款、归档和关系事件移出 risk_flags_json,保留旧数据读取兼容。
  • [CONCEPT: 数据与契约] 补齐撤回、取消、驳回、作废、补件、支付失败、对账异常和归档状态。
  • [CONCEPT: 连接器] 实现统一连接器基类、幂等、重试、错误状态和回执事件。
  • [CONCEPT: 连接器] 实现支付批次、回执、重复付款防护、ERP 凭证和对账的内部契约,首期允许 mock connector 但不得再只写单一“已付款”状态。
  • [CONCEPT: 降级策略] 将附件关联和关联报销草稿后台任务迁为可持久化、可恢复、可幂等的任务状态。

5. P0 前端实现:一键报销与真实移动端

  • [CONCEPT: 统一费用事件] 新增统一费用事件时间线,串联计划、消费、报销、审批、付款/入账和复盘。
  • [CONCEPT: 统一费用事件] 自动匹配申请、预算、票据、费用类型、项目、成本中心和常用字段。
  • [CONCEPT: 统一费用事件] 增加“需要确认”区,只展示低置信、缺失或冲突字段。
  • [CONCEPT: 风险与预审] 风险卡提供一键补件、修正、解释和重新预审入口。
  • [CONCEPT: 统一费用事件] 退回后直接定位问题字段,支持断点续办,不要求重新发起对话。
  • [CONCEPT: 移动端] 接通真实登录恢复、路由守卫、报销列表、详情、草稿、上传和审批 API。
  • [CONCEPT: 移动端] 完成拍照/相册 → OCR → 票据夹 → 费用事件 → 报销草稿真实闭环。
  • [CONCEPT: 移动端] 删除或禁用没有真实行为的报销、审批、发送和语音主按钮。
  • [CONCEPT: 前端] 修复表格整行点击键盘不可达、弹窗焦点管理、焦点环和移动触控目标。
  • [CONCEPT: 前端] 移除页面级全局 transform: scale(),使用真实响应式布局承载费用闭环页面。

6. P1 算法与规则实现:安全自动化与持续学习

  • [CONCEPT: 自动化决策] 实现 L0-L5 动作级自动化等级和资格计算器。
  • [CONCEPT: 自动化决策] 为每个动作实现硬白名单、金额上限、证据要求、抽检率和企业上限。
  • [CONCEPT: 风险与预审] 统一风险输出为事实、规则、证据、判断、建议动作和降级原因。
  • [CONCEPT: 记忆激活] 实现 candidate/active/suppressed/expired/revoked 记忆状态机。
  • [CONCEPT: 记忆激活] 实现用户、部门、企业记忆优先级、冲突解释、时间衰减和最小样本要求。
  • [CONCEPT: 记忆与学习] 从字段接受/修改/拒绝、退回、审批覆盖、付款和审计结果生成记忆证据。
  • [CONCEPT: 记忆与学习] 将已确认 few-shot 扩展到报销预审和审批辅助,并按租户、场景、制度版本过滤。
  • [CONCEPT: 风险与预审] 完成 golden case、Prompt/规则版本、Canary、回归门禁和自动回滚。
  • [CONCEPT: 自动化决策] 先上线 shadow再按动作逐项开放 L3L4 必须单独评审。
  • [CONCEPT: 降级策略] 对模型、OCR、Qdrant、连接器和记忆服务实现稳定降级和可观测状态。

7. P1 前端实现:审批例外与 AI 记忆

  • [CONCEPT: 审批例外工作台] 按风险、金额、预算影响、等待时长和证据完整度排序审批事项。
  • [CONCEPT: 审批例外工作台] 展示必要性、预算、政策、相似单、风险证据和 AI 意见草稿。
  • [CONCEPT: 审批例外工作台] 补齐批量审批、委托、转交、加签、会签和超时升级交互。
  • [CONCEPT: 审批例外工作台] 接入真实企微/钉钉/邮件触达和处理结果回写。
  • [CONCEPT: AI 记忆与自动化设置] 新增“我的 AI 记忆”,支持来源解释、修改、忘记和关闭个性化。
  • [CONCEPT: AI 记忆与自动化设置] 新增企业记忆、保留策略、敏感等级和自动化上限管理。
  • [CONCEPT: 前端] 展示自动化动作、执行依据、撤销入口、抽检状态和版本信息。

8. P2 实现:费用经营与价值证明

  • [CONCEPT: 节省与价值] 新增 savings_opportunitiessavings_realizations 和去重/确认表结构。
  • [CONCEPT: 节省与价值] 实现风险暴露、预计节省、执行中、实际节省和财务确认的严格状态转换。
  • [CONCEPT: 费用分析与节省] 持久化员工、部门、费用类型、供应商、城市、项目和流程基线,记录窗口和样本量。
  • [CONCEPT: 费用分析与节省] 实现预算预测、异常归因、供应商价格漂移、重复小额浪费和政策模拟。
  • [CONCEPT: CFO 价值看板] 展示现金节省、工时价值、直通率、风险护栏、节省来源和责任人。
  • [CONCEPT: CFO 价值看板] 实现部门、项目、费用类型、供应商、城市、时间和单据下钻。
  • [CONCEPT: CFO 价值看板] 每项节省支持查看基线、建议、执行、实际结果、确认人和证据。
  • [CONCEPT: 指标与验收] 生成客户月度 ROI 报告,现金节省与工时价值分开披露。
  • [CONCEPT: 风险与开放问题] 建立节省归因复核、重复收益去重和客户财务签字流程。

9. P3 实现:商业化与规模复制

  • [CONCEPT: 商业计量] 在 P0 最小租户隔离基础上新增套餐、配额、用量和增值模块授权模型。
  • [CONCEPT: 商业计量] 按客户、模型、OCR、文档、分析任务和模块记录成本。
  • [CONCEPT: 商业计量] 建立客户贡献毛利、实施成本摊销和私有部署成本看板。
  • [CONCEPT: 目标与非目标] 定义年度基础订阅、用量超额、智能风控、预算经营、价值洞察、企业集成和私有部署包。
  • [CONCEPT: 目标与非目标] 仅对财务确认的已实现节省提供可选节省分成合同。
  • [CONCEPT: 连接器] 建立 ERP、HR、SSO、支付、电子档案和消息平台标准实施模板。
  • [CONCEPT: 权限与安全] 完成删除传播、数据导出、审计增强和私有部署安全验收,不把基础租户隔离留到本阶段。

10. 测试与验证

  • [CONCEPT: 测试方案] 完成 Expense Case/Link、业务事件幂等、租户边界、同事务回滚、申请转报销同 Case 和付款归档事件首批测试。 证据:容器内 pytest -q server/tests/test_expense_case_service.py 7 项通过;联合差旅主链路定向回归共 24 项通过。
  • [CONCEPT: 测试方案] 为 Expense Case 状态机、事件账本、AI 决策、结果、记忆、自动化和节省服务补充单元测试。
  • [CONCEPT: 测试方案] 为服务端会话、管理员保护和 Bootstrap 重配置补充首批安全回归测试。 证据:test_auth_session_endpoints.pytest_auth_service.pytest_bootstrap_security.py;容器定向测试覆盖 token 摘要、伪造身份头、过期/撤销、登出原子收尾、业务经理越权和初始化后匿名重配置拒绝。
  • [CONCEPT: 测试方案] 为租户隔离、跨租户访问、规则/制度发布和双人复核等剩余敏感动作补充安全回归测试。
  • [CONCEPT: 测试方案] 为 Alembic baseline、升级、旧数据迁移和回滚边界补充 Postgres 集成测试。
  • [CONCEPT: 测试方案] 为连接器幂等、重试、回执、失败恢复、重复付款和对账补充测试。
  • [CONCEPT: 测试方案] 跑通申请 → 票据 → 报销 → 预审 → 审批 → 付款 → 入账 → 归档端到端。
  • [CONCEPT: 测试方案] 跑通 AI 建议 → 用户修改 → 工作流结果 → 记忆激活 → 下次建议变化闭环。
  • [CONCEPT: 测试方案] 跑通风险反馈 → few-shot → golden case → Canary → 回滚闭环。
  • [CONCEPT: 测试方案] 跑通节省机会 → 执行 → 实现 → 财务确认 → ROI 看板闭环。
  • [CONCEPT: 测试方案] 补充前端组件、视图模型、键盘操作、响应式、移动真实接口和构建验证。
  • [CONCEPT: 测试方案] 所有后端、集成和迁移测试在当前主应用容器内执行,单条命令最大超时 60s。
  • [CONCEPT: 指标与验收] 记录测试、lint、typecheck、构建、端到端和未覆盖风险证据。

11. 分阶段试点与价值验证

  • [CONCEPT: 指标与验收] 确认开发前置门禁已完成,试点场景、客户群体、基线和纵向验收未发生未经评审的漂移。
  • [CONCEPT: 自动化决策] 前四周只运行建议和 shadow不开放高风险自动化。
  • [CONCEPT: 指标与验收] 验证报销创建时间、自动填充率、首次提交完整率、人工触点和风险护栏。
  • [CONCEPT: 节省与价值] 由客户财务确认现金节省、工时价值、归因口径和去重结果。
  • [CONCEPT: 商业计量] 计算试点客户的订阅、模型、OCR、实施、支持和集成贡献毛利。
  • [CONCEPT: 指标与验收] 输出 90 天 ROI 报告和年度合同/扩展模块建议。

12. 文档收尾

  • [CONCEPT: 指标与验收] 将试点实际基线替换方向性目标,冻结正式验收阈值。
  • [CONCEPT: 风险与开放问题] 更新目标客户、试点场景、支付边界、连接器范围和自动化授权结论。
  • [CONCEPT: 本轮实现记录] 每个阶段完成后补充实现文件、迁移、接口、测试和真实页面证据。
  • [CONCEPT: 功能一句话] 确认最终实现持续服务于“不用填表、少被退回、真正省钱”的核心结果。