Files
mini-openclaw/docs/兴邦金租系统改造书-v1.0.md

50 KiB
Raw Permalink Blame History

兴邦金租对公项目助手——系统改造书

版本:v1.0|日期:2026-09-10|基线提交:c57d291

适用仓库:F:/mini-OpenClaw-local-stable

文档性质:基于会议原稿、当前代码与本轮讨论形成的实施设计。本文中的“新增”“目标”“验收”均指待实施工作,不代表功能已经完成。本次仅交付改造书,不实施业务代码变更。

阅读建议:产品与范围看第 1—4 章;核心架构和组件实现看第 5—12、15—17 章;经验进化与演示看第 13—14 章;实施排期、验收和回退看第 18—22 章。当前可用能力与缺口集中在第 3 章。

1. 改造决策与项目定位

在现有 Python mini-openclaw 上增量改造,保留 AgentManager 作为模型与工具调用核心,保留 Next.js + FastAPI 技术栈。将现有按四 Agent 展示的工作台,整合为以项目为中心的对公业务助手。

产品承诺:选择项目,自动整理材料、执行检查、指出有依据的问题;补件后更新结果,支持方案比较,形成可修改的底稿,并把人员处理经验用于后续适用项目。

系统的灵活性由可插拔的数据源、Skills、规则、自然语言要求、报告模板和业务方案提供。业务人员看到简单入口,管理员维护组件,mini-openclaw 组织组件执行。

1.1 已确认约束

  1. 必须使用本项目自己的 mini-openclaw;不换成外部 Agent 平台,也不另建绕过核心的生成链路。
  2. 目前拿不到兴邦真实数据;先用完整模拟档案贯通业务,真实对接不作为开发前提。
  3. 模拟的是输入资料和演示制度,查询、检查、计算、版本对比、导出和经验复用必须真实执行。
  4. 保留可用模块,小步迁移;当前不存在的旧页面不恢复。
  5. IT 统一配置连接与访问策略,业务人员不反复配置。权限在后台持续执行。
  6. 自然语言可表达本次任务、编辑配置草案,不能静默改变正式制度或扩大工具权限。
  7. 首版必须包含可展示的经验闭环;自动生成改进建议可以先做,模型训练和自动修改生产代码后置。

1.2 首期范围与后置范围

首期必须交付 后续扩展
项目材料接入、统一快照、问题清单、补件更新 全公司所有数据域的治理与迁移
有限参数的方案比较、可追溯底稿、Word 导出 完整定价优化、自动授信审批和 ERP 写回
可配置业务方案、原生 Skills、规则与模板 任意可视化工作流搭建和插件市场
人工反馈、经验提炼、审核、适用场景复用 自动生成并上线可执行代码、模型微调
模拟数据包、配置替换演示、版本回放 全量租后监控、外部付费征信持续订阅

“完整业务流”在首期指助手范围内的检查—补件—方案—底稿—经验闭环,不意味着复刻合同、放款、会计和催收等整个 ERP。

2. 会议需求依据及优先级

来源:仓库 ori_file/兴邦金租会谈-2026.8.18 (1).md。以下时间为录音时间,转写含有错字,涉及正式业务口径时仍需客户确认。

时间 会议事实或共识 改造要求
03:34—05:16 有客户保护权、权限分配、项目全生命周期信息 复用项目身份与关联关系,不做全员共享大库
10:19—14:46 现有评级模板主要线下使用,评级以参考为主 预留既有模型与模板适配,不自创权威评级
39:54—45:24 人员紧缺,耗时集中在资料、测算和报告;判断尺度有差异 统一事实、检查要求与证据表达,保留专业裁量
43:18—43:27 财报已有导入能力 重点在导入后的核对、分析、复用
48:01—51:14 尽调报告正在标准化,行业手册主要在线下 将手册转成有版本的检查要求
48:45—50:01 提前提供风险关注点,让业务经理先核实,不预先下审批结论 首发场景为送审前检查和补件
01:00:56 评审周期约 16—17 工作日 分开衡量人工处理、等待、补件;不承诺全周期压缩至一天
01:57—02:03 IT 关注个人/共享资料、权限和数据体系;已有公司级数仓 数据源优先复用可用数仓或只读视图,附件纳入同一权限体系
02:04—02:14 接受先用小助手,逐步扩展 首期界面简单,保持原业务审批责任体系
02:21:09 提效、积累经验、减少人员审查差异 验收同时覆盖效率、经验复用和检查一致性

保险条款检查保留为专业 Skill 扩展;会议未确认其是主要损失来源,不作为唯一卖点。120% 等会议提及数值不得直接写成通用正式标准;演示规则必须显式标注。

3. 当前系统审计与保留清单

本节为静态代码核查结论;真实 ERP 连通、模型质量和客户业务适用性均未因存在代码而得到验证。仓库已有历史测试留痕,但历史通过不等于新功能验收通过。

现有位置 已核实能力 处理决定
backend/graph/agent.py build_task_agent、invoke_scoped 共用 Agent 工厂;显式模型/工具输入;通用聊天流式事件 必须保留;增加异步业务任务上下文和统一结构化结果适配
backend/graph/risk_task.py 业务任务调用 AgentManager.invoke_scoped,读取所选原生 Skills,并检查必需工具调用 保留为兼容适配器;逐步接到通用任务执行服务
backend/tools/risk_task_tools.py 只读授权快照,工具不直接操作生产数据库,任务输入深拷贝 保留隔离设计;扩展项目附件、经验和计算工具
backend/tools/skills_scanner.py 发现原生 SKILL.md,生成目录 保留格式兼容;新增 manifest 校验、版本和内容哈希
backend/api/risk_agent_config.py 连接/数据卡/Skills/规则/方案配置、发布审核、运行存档、自然语言规则 保留 API 和数据迁移入口;按服务拆出注册、执行、存储职责
backend/api/risk_agent_connectors.py PostgreSQL/MySQL/SQLite 连接路径、只读 SELECT、允许表、限行超时、服务端凭据引用 保留;新增统一数据源适配接口及连接验收,不宣称 ERP 已接通
backend/api/risk_agent_alignment.py 期间、口径、单位、项目标识检查,多期数据保留 保留并补强精确金额和字段级来源冲突处理
backend/api/report_agent.py 快照底稿、章节锁定、模型候选稿、版本检查、Word 导出、经验状态流转 保留;将模板配置化,补章节依赖、更新差异和统一经验实体
backend/api/coordination_agent.py 补件任务、人员推荐、人工流转、方案版本及摘要 复用任务和方案结构;人员分配不作为首期主入口
backend/api/collateral_agent.py、collateral_checks.py 租赁物及增信核验、版本失效、PDF/图片/TXT 读取、条件式本地 OCR、材料下载 复用核验和文档能力;提取通用附件服务,避免只在租赁物模块能上传
backend/api/xingbang_projects.py 跨模块项目索引和快照关联 作为新项目总览的迁移起点
backend/api/risk_agent_access.py 服务器令牌身份、manager/reviewer/admin,manager 项目范围限制 保留接口;升级所有业务角色的资源授权。当前不是完整 ERP 权限继承
backend/data_layer/history_store.py、team_experience.py 案例存储、频次统计、经验 JSON 更新 作为旧数据导入来源;不能视作已经实现自学习
backend/graph/memory_indexer.py、raw_trace.py 通用记忆检索、调用轨迹记录 复用技术;业务记忆不能直接混入全局个人 MEMORY
src/app/*-workbench、data-access、trajectory 已存在项目、配置、报告、协同、核验、轨迹页面 复用组件,逐步统一入口和项目上下文
scripts/verify.py、部署配置 后端测试、前端构建、Compose 校验、可选容器验证与日志留痕 保留为每阶段验证门槛

3.1 必须解决的结构缺口

  1. 配置化执行集中在风险 API 的固定分支;还不是通用 Skill 注册与依赖执行机制。
  2. 当前工具读取校验只能证明“调用过”,不能证明输出逐条正确;需要结构校验和有效证据检查。
  3. 数据卡、多期记录和报告已有快照,但尚缺统一项目附件、字段依赖和问题延续机制。
  4. 新数据导致结果失效已有局部实现,尚未贯通问题、方案和报告章节。
  5. 经验卡有审核状态,缺少反馈分类、适用条件检索、实际执行关联及对照评测。
  6. 旧 xingbang_* 等 API 仍在 backend/app.py 注册。须盘点调用方后兼容迁移,不能因前端不显眼就直接删除。
  7. 通用聊天与业务任务采用不同模型配置和工具范围。业务界面必须走受控业务链路,避免绕到通用终端/文件工具。

4. 产品信息架构与日常使用

4.1 业务入口

首页:我的项目、待处理事项、新建演示项目/上传材料。项目详情采用同一个页面框架,保留项目名称、数据时间、当前运行状态和身份上下文。

项目页提供“概览、材料与问题、方案比较、报告、经验记录”五个页签。前三个主操作固定为“检查项目”“补充材料”“生成底稿”;方案比较在项目方案区展示。自然语言输入作为辅助,可说“重点核对现金流”,不要求用户会写提示词。

结果默认展示未处理问题、依据、建议下一步;技术执行日志折叠到“查看执行依据”。系统只展示记录到的事实、工具动作和解释,不承诺暴露模型内部思考。

4.2 角色体验

角色 高频动作 配置职责
客户经理 检查本项目、补件、说明、生成尽调草稿 无需配置 SQL、Skills 或模型
主审员 核对证据、处理分歧、测算、评审底稿、贡献经验 提出规则/模板/经验调整
业务规则负责人 核对规则适用条件、发布业务方案与经验 维护业务口径,不负责数据库凭据
IT 管理员 数据源、映射、模型、权限与系统运行 不凭管理员身份自动获得所有项目资料

首期演示使用预置身份与项目授权;权限职责与业务角色分开建模,之后接 ERP 身份系统。

4.3 不增加使用负担的要求

  • 从项目进入时自动携带项目 ID、默认方案和当前材料版本。
  • 缺数据直接列明缺什么,支持继续完成不依赖该数据的检查。
  • 补件后显示“已解决、仍待核实、新增、需重新判断”,不整页覆盖结果。
  • 报告候选更新按段落查看,已经人工确认的内容保留。
  • “保存为经验”由系统预填;用户只核对关键内容和共享范围。
  • 真实调用慢或失败时展示阶段和可重试操作,不使用虚构进度百分比。

5. 目标架构:在 mini-openclaw 内扩展业务运行能力

flowchart TD
    UI[项目工作台与自然语言入口] --> API[FastAPI 身份与项目 API]
    ADMIN[配置后台] --> REG[版本化组件目录]
    API --> RUN[业务任务服务:冻结版本、检查依赖、保存状态]
    REG --> RUN
    RUN --> CORE[现有 mini-openclaw AgentManager]
    RUN --> DET[确定性 Skill 与规则执行器]
    CORE --> TOOLS[本次任务授权工具]
    TOOLS --> DATA[统一数据与附件快照]
    TOOLS --> EXP[已发布且有权访问的经验]
    TOOLS --> DET
    DET --> VALID[结果结构与证据校验]
    CORE --> VALID
    VALID --> OUT[问题、方案、底稿与执行记录]
    OUT --> UI
    DATA --> SOURCES[模拟数据 / 文件 / ERP / 数仓适配器]
    UI --> FB[人工修改与反馈]
    FB --> CAND[经验与组件改进候选]
    CAND --> EVAL[隔离评测与业务审核]
    EVAL --> REG
    EVAL --> EXP

业务任务服务是现有核心外围的执行保障,负责状态、依赖、检查、预算和结果保存,不替代 Agent。模型选择、工具调用循环和模型型 Skill 统一由现有 AgentManager 入口承载;确定性计算直接调用 Python 执行器。

首期采用模块化单体:FastAPI、现有数据库/附件存储、一个可恢复的业务任务 worker。无需先引入微服务、分布式消息集群或图数据库。SQLite 可用于单机模拟环境;多实例或较大并发时再迁移业务存储到 PostgreSQL,这与“连接客户 ERP 数据库”是两件事。

6. 可插拔组件协议

6.1 统一元数据

所有组件声明 id、kind、version、schema_version、status、owner、description、content_hash、effective_from、scope、dependencies。发布版本不可原地覆盖,运行记录保存准确版本和内容哈希。

组件种类:data_source、data_card、skill、rule_set、plan、template、experience。草稿可编辑;发布后修改产生新版本。系统配置数据库维护发布内容快照,磁盘 SKILL.md 是编辑和导入来源,避免两套可变内容同时成为运行事实来源。

6.2 原生 Skills 与业务能力统一

保留 backend/skills/*/SKILL.md。为缺少 manifest 的现有 Skills 提供兼容默认值;新 Skills 增加结构元数据,正文保留自然语言方法。目录里的 skill_id 作为旧别名,发布后使用稳定组件 ID。

id: corporate.financial_consistency
kind: skill
version: 1.0.0
schema_version: 1
status: draft
executor: hybrid
description: 对照财报与尽调材料,形成有来源的数据差异
input_schema: ProjectSnapshot.v1
output_schema: SkillResult.v1
required_inputs: [financial_statements, documents]
optional_inputs: [historical_findings]
allowed_tools: [read_project_snapshot, read_document, compare_fields]
depends_on: [corporate.document_extract]
timeout_seconds: 60
max_tool_calls: 12
side_effects: none

该 YAML 为目标示例,当前扫描器不会执行其中的全部字段。executor 首期支持 python、model、hybrid;规则执行器单独注册。Python 入口从服务器受控映射表解析,不接受上传字符串任意 import/eval。安装新的代码执行器需走开发测试;已有执行器参数和原生方法正文支持后台配置。

6.3 Skill 输出协议

{
  "schema_version": 1,
  "run_id": "run-demo-001",
  "step_id": "step-finance-01",
  "skill": {"id": "corporate.financial_consistency", "version": "1.0.0"},
  "status": "completed",
  "input_snapshot_id": "snapshot-demo-v1",
  "outputs": {},
  "findings": [{
    "code": "financial.liabilities.conflict",
    "result": "issue",
    "severity": "attention",
    "title": "负债金额来源不一致",
    "evidence_ids": ["e-finance-b12", "e-report-p3"],
    "basis_ids": ["demo-rule-consistency@1.0.0"],
    "suggested_action": "确认报表期间、口径及材料版本"
  }],
  "missing_inputs": [],
  "errors": []
}

步骤状态 completed/partial/failed/skipped 与检查结果 pass/issue/unknown/not_applicable/error 分离;执行完成不等于业务检查通过。重要数字使用计算输出,引用必须在授权证据集中存在。校验失败时允许有次数限制的结构修复;仍失败则保存未完成状态,不把自由文本当成合格结果。

6.4 规则协议及自然语言入口

类型 执行与维护方式
硬规则 字段、运算符、阈值、单位、期间、适用条件,确定性执行
语义规则 明确检查问题、所需依据、输出状态,模型辅助判断
专家裁量项 汇总证据及不同处理思路,留待授权人员判断
经验提醒 匹配适用场景后提出核实动作,不自动变为制度

自然语言入口分为本次要求和配置草案。“报告简短些”作用于本次输出;“以后增加一项检查”生成规则草案,展示解释后的条件、影响范围和测试结果。草案在发布前不修改正式方案。正式规则的强制要求优先于经验和本次偏好;无法同时满足时指出冲突,不能静默折中。

6.5 业务方案协议

方案包含适用项目、数据卡、必做 Skill、可选 Skill、规则、模板、停止条件和运行预算。发布前校验依赖存在、版本已发布、输入类型兼容、循环依赖、输出字段冲突和工具权限。

首期使用带依赖的步骤列表,无需拖拽画布。必做步骤由程序调度和核查,Agent 仅能在方案允许的可选能力中选择或追加。数据卡仍是平级数据来源;依赖图描述处理步骤,不强迫所有数据卡构成串行链。

7. 数据层:模拟到真实的统一合同

7.1 数据对象

对象 主键与主要内容
Project 内部 ID、外部项目号、客户 ID、行业、阶段、归属
Customer / RelatedParty 客户、集团成员、担保人及关联类型;不以名称作为唯一键
FinancialStatement 主体、期间、合并/母公司口径、币种、单位、版本、科目值
FinancingScenario 金额、期限、利率、还款方式、假设及关联基准方案
LeaseAsset / Guarantee 设备标识、评估记录、担保或保证金证据,避免重复计入
CreditEvent 事件、来源和截至日期;空集合不直接等于已查无异常
Document 文件哈希、类型、版本、页/段/单元格定位、所属项目、可见范围
ProjectSnapshot 本次运行冻结的事实、附件版本、来源和映射版本

连接器合同至少包含:连接测试、能力描述、项目读取、对象读取、附件清单和读取、源版本/更新时间信息。API、SQL、文件和模拟适配器返回同一协议。只读 SQL 路径复用当前实现,模型不自行拼 SQL 查询生产库。

7.2 口径、时点及来源

每条事实记录原始值、标准值、单位、币种、期间、口径、来源标识、抓取时间、源更新时间、证据定位和转换版本。金额内部用 Decimal 或整数最小单位,JSON 用十进制字符串;比例精度、舍入方式由指标定义。

未知值用 null 加原因;0 是明确数值。不能静默把母公司与合并口径、不同币种、不同期间相加。无汇率来源时不进行跨币种折算。多来源不一致保留双方证据,通过明确来源优先级或人工确认产生覆盖记录,不删除原始材料。

ERP 多表不一定支持一致性读取:能用事务快照就采用;否则记录各源读取时间和最大时间差,超出配置容差则标记混合时点待核实。数据层切换真实来源须做合同测试和对账,不宣称换一个连接字符串就完全完成。

7.3 一次配置的实际边界

IT 首次配置连接、只读视图、字段映射、附件地址、同步策略和权限来源;业务人员之后复用。字段结构变化、组织变动、凭据轮换和新数据域仍需维护。

接入顺序:先询问已有数仓/专项视图是否满足;其次 ERP 只读视图或接口;临时文件接入始终保留。只接首期所需数据,不要求先完成全公司的统一数据平台。

8. 附件与证据服务

从现有租赁物模块提取通用材料服务,旧接口继续委托调用。首期支持 PDF、DOCX、XLSX/CSV、TXT 和图片;每种支持程度通过 capability 返回,解析器未安装或 OCR 不可用时明确标记。

流程:接收文件 → 计算哈希和版本 → 识别类型 → 读取文本/表格或 OCR → 生成可定位证据 → 提取候选字段 → 校验 → 纳入新项目快照。

PDF 使用页码及必要坐标;DOCX 使用段落/表格/单元格位置,不虚构稳定页码;Excel 使用工作表和单元格。表格公式保留公式及缓存值,缺少可靠值时不编造计算结果。扫描识别不确定的关键金额需人工核对。

文件处理与执行脚本分离,不运行附件宏。证据、原件、提取文本、向量索引和下载均继承项目可见范围。材料含有指令性文字时仍按证据处理。

演示附件必须可真实打开、解析、定位;不能只在前端显示文件名,后端读取另一份预写答案。

9. mini-openclaw 运行机制

9.1 一次任务的执行顺序

  1. 校验身份、项目、操作和组件权限,创建 run_id,记录用户要求。
  2. 解析方案并冻结所有依赖版本、模型配置标识、经验版本和任务预算。
  3. 读取授权数据,生成不可变项目快照;尚未取得的数据标注缺失。
  4. 检查依赖,执行必做的数据校验、提取和确定性计算。
  5. 检索适用经验;Agent 在可用工具集合内追加必要核实与分析。
  6. 语义分析、报告草稿等模型型步骤通过 AgentManager 执行。
  7. 检查结构、证据、计算引用与必做项覆盖;不完整步骤如实记录。
  8. 保存问题、计算、建议和执行事件,发布运行完成/部分完成状态。

9.2 运行状态与恢复

queued → running → completed / partial / failed / cancelled;等待补充材料为 waiting_input。waiting_input 不占 worker;补件后创建带 parent_run_id 的新运行,旧快照和结果保留。

同步接口逐步改为“创建任务返回 202 + run_id”。任务状态持久化,支持 SSE 和断线后的事件补读。SSE 断线不取消任务。客户端显式取消只阻止后续执行;无法中止的外部调用结果不再发布到已取消任务。

首期 worker 使用数据库领取任务和租约心跳;重启后识别中断状态。读取、计算步骤可重试;写入任务、保存报告等副作用使用幂等键,禁止因重试重复创建。模型请求超时不假装成功,已完成的确定性结果仍可展示。

每个步骤记录输入摘要、输入哈希、执行器版本、尝试次数、开始/结束时间、状态、输出位置和错误码。对不确定完成状态保留 interrupted,不盲目重放副作用。

9.3 固定要求与灵活执行

程序负责强制检查、权限、计算和状态;Agent 负责理解补充意图、选用可选能力、解释材料、组织结果。预算包括超时、模型调用次数、工具次数、输入长度和输出大小,不允许无界自循环。

现有 invoke_scoped 的工具隔离原则保留,新增业务上下文含 actor_id、project_id、run_id、snapshot_id、allowed_tools、component_versions。不得修改全局模型/工具来切换项目,避免并发任务互相影响。

9.4 模型与演示运行模式

  • 正式演示使用真实模型调用,记录所用端点配置标识和模型名称,不硬编码品牌依赖。
  • 优先兼容已有 ChatOpenAI 内网路径;把配置从风险 API 提取到业务模型适配服务,旧入口继续调用。
  • 企业模式只使用经 IT 配置的数据处理路径;推理、OCR、嵌入、日志分别列明部署位置。内网地址不能单独证明服务下游没有外发。
  • 无模型时运行确定性检查,并标记语义部分未完成。固定回放可用于测试或讲解,但必须显示“回放”,不能伪装实时智能分析。
  • 单元测试可用当前 ToolModel 风格的可控模型;演示验收另跑真实模型,不用单元测试替代质量验证。

10. 问题清单、补件与增量更新

10.1 问题是业务实体

Finding 保留稳定 ID、项目、对象、规则/经验来源、证据、首次/最近出现运行、当前状态、责任人、处理意见和处理记录。标题文字不是唯一键。

初始业务状态:待处理、待补件、待复核、已解决、不适用。机器检查状态与人工处理状态分离。用户关闭问题必须留下处理依据;“不适用”要记录原因,不能默默删除。

10.2 补件如何闭环

用户在问题上点击“补充材料”,自动关联问题和项目;同一文件可关联多项问题。系统解析新材料生成新版本,触发受影响检查,产生“解决、保留、新增、重新打开”的差异摘要。

问题匹配采用对象 ID + 稳定检查 code + 适用范围;涉及规则版本语义变化时标记需迁移匹配,不仅比较标题字符串。不能仅因新结果没提到旧问题就关闭,必须确认原检查仍执行且有解决依据。

10.3 增量执行与保守回退

维护依赖链:字段/材料 → Skill → 规则/经验 → Finding → 报告章节。输入或组件版本变化时,将下游标记 stale。无明确依赖声明的语义 Skill 先视为依赖整个项目快照,宁可重跑,不遗漏影响。

复用旧计算仅限输入哈希、执行器/规则版本、权限范围一致。复用结果明确记录来源 run_id;最终输出是新快照下的新结果包,不改写旧包。人工覆盖值和确认意见若受变化影响,提示重新确认,不直接覆盖。

11. 方案比较与租赁物能力复用

保留现有 coordination 的方案版本及 collateral 的确定性核验能力,将方案建模为独立 Scenario。用户通过表单或自然语言提出调整,系统先展示识别出的参数变化,再创建情景版本。

首期最低范围:调整融资金额,比较同一评估时点下的租赁物价值覆盖比例;条件具备后增加期限、利率和明确还款方式下的还款计划、现金流覆盖比较。

每个指标明确分子、分母、单位、期间、公式版本和必要假设。“租赁物价值/融资金额”与“可用于还款现金流/应偿本息”是不同指标,界面不可混称覆盖率。保险、担保、保证金不能无依据简单相加后宣称风险已覆盖。

对比结果显示原方案、情景方案、指标差异、问题变化、仍缺材料和假设。没有回款时间表时不输出精确偿债结论;没有客户内部模型和口径时,不声称计算结果已符合兴邦实际租金测算。

用户确认前不改变原方案;确认采用后生成新方案版本,并使相关底稿和检查失效待更新。首期不写回 ERP 正式授信或审批结果。

12. 底稿与报告服务

保留现有 Word 导出、人工章节锁定和模型候选稿机制。将代码内固定模板逐步转成版本化模板,首期提供尽调草稿、评审底稿和上会摘要三种交付形态。

模板定义章节、必需事实、引用方式、适用角色、可编辑区域、篇幅和缺失值表示。明确“尽调材料”与“主审内部判断”的访问范围。

生成过程从同一次运行的结构化结果取值;事实数字由程序填充,模型只撰写允许的文字部分。导出包含数据截至时间、方案版本、来源摘要、草稿/定稿状态和演示标识。不得在正文中混入 SQL、插件路径、模型参数等技术信息。

数据更新后按章节依赖生成修改建议;已确认章节保留旧内容并标记可能过期,由人员选择接受或继续保留并说明理由。正式报告保留当时快照,不因后续规则升级而被后台改写。

Word 导出验收包含页面渲染和视觉检查:表格不越界、长中文正常换行、证据标号可对应、草稿/演示标签清晰。报告文字质量用业务检查表评价,不仅检查能下载文件。

13. 经验沉淀与可验证进化

13.1 反馈来源与分类

FeedbackEvent 记录项目/run/问题/章节、修改前后、作者、原因、证据、发生时间和共享意愿。支持主动“保存为经验”和系统在定稿后自动提出候选,不要求每个动作都弹窗。

分类:表达偏好、事实纠正、补充数据、规则遗漏、规则误报、专业判断、流程建议。修改文字不自动等于纠正了专业结论;多次重复意见只作为候选信号。

13.2 经验卡结构与状态

经验卡包含标题、适用行业/阶段/对象、触发条件、建议动作、不适用条件、原始依据、支持与反例、共享范围、版本、审核者、有效期、替代关系、审批结果及租后观察窗口。

状态:草稿 → 待确认 → 已发布 → 暂停/过期/归档。业务共享审核复用现有机制;“有租后观察”单列证据状态,不仅凭填写一段结果就给经验永久贴上“正确”的标签。

批准案例、否决案例、待定案例及失败案例都可以记录;批准不等于好经验,否决不等于坏经验。不得从审批结果直接推断因果。

13.3 应用方式

先按主体权限、模拟/真实域、状态、有效期、行业和阶段过滤,再检索语义相似内容。项目私有经验默认不跨项目泄露;发布可共享经验时核查其中可识别资料并限定可共享内容。

经验被使用时生成 ExperienceApplication:经验版本、匹配理由、触发输入、调用的 Skill/新增检查、执行结果和用户反馈。可见提示为“依据某条已确认经验,增加了哪些核实动作”。只引用一段案例文字不计为执行改进。

同类专家意见冲突保留不同条件与来源,提交负责人处理;不得自动投票改成正式规则。现行制度优先,过期经验可保留历史回放但不默认参与新任务。

13.4 组件改进闭环

系统复盘反馈 → 提出 ImprovementProposal → 创建候选组件版本 → 在隔离样例集回放 → 比较旧版与新版 → 业务/技术审核 → 发布 → 观察 → 必要时回退。

ImprovementProposal 包含目标组件、原版/候选版、修改理由、支持案例、例外场景、差异、评测结果和风险范围。首期自动候选限定为规则条件、Skill 方法说明、方案步骤和模板要求;可执行代码变更通过开发流程处理。

个人偏好由用户明确表达后仅在个人范围生效;团队经验与正式规则需发布。正式规则发布复用现有编辑/审核分离,不额外给日常每次检查增加审批。

13.5 评测设计

固定留出集不用于提炼候选,包含正例、反例、缺材料、过期规则及相似但不适用场景。比较检查召回、误报、引用有效性、人工修改、延迟和调用成本;不同目标不合成来源不明的“智能分”。

确定性任务要求固定结果;模型输出允许措辞差异,按结构与业务条件评价并多次运行观察波动。候选不得仅由同一模型自行打分通过。真实业务经验生效后仍需真实观察,模拟评测不能证明降低坏账。

每次发布冻结组件版本;正在执行任务和历史定稿不跟随变化。回退切换后续运行的发布版本,已生成报告和记录保留。

14. 模拟数据与演示剧本

14.1 模拟体系

新增版本化 fixture 包,放在专用测试/演示目录。每个包包含结构数据、可打开附件、检查规则、业务方案、预期结果、变更事件和生成脚本。数据按固定种子生成,金额/报表勾稽由程序校验。

预期结果仅供测试使用,业务 Agent 不得读取 ground truth。演示重置只作用于明确的演示实例;模拟 ID、经验、索引和报告均携带 data_domain=demo,不能混入真实域。

14.2 三类项目与受控变化

项目 初始场景 后续事件 预期能力
DEMO-A 标准制造项目 材料齐全、口径一致 仅改一处报告表达 正常完成,不硬找风险;只学习表达偏好
DEMO-B 设备项目 财报与尽调冲突、现金流缺项、重复设备 补交新版财报,修正设备清单 引用定位、部分解决、重新测算、保留未完成项
DEMO-C 回款依赖项目 存在某种收入确认但到账依据不足 专家提出补件经验,随后新建符合条件/不符合条件的变体 提炼经验、审核、跨项目复用及适用边界

建议演示金额:设备去重后价值 5,400 万元,原融资金额 5,000 万元,覆盖比例 108%;模拟阈值 120%。情景金额调整为 4,000 万元后比例 135%。界面标明示例阈值,且这一变化不能自动解决缺失现金流资料的问题。

至少再准备数据源失败、模型不可用、OCR 失败、无权项目和中途重启五种异常,用于验收与解释边界。

14.3 一次演示顺序

  1. 打开 DEMO-B,点击检查,展示实际执行步骤。
  2. 点开金额冲突,定位原附件或单元格;让客户看到依据。
  3. 上传补件,展示问题差异,保留仍需人工核实事项。
  4. 调整融资金额,比较指标与问题变化,原方案保留。
  5. 导出 Word 底稿,展示已核实事实和未解决事项。
  6. 专家补充一条处理经验,查看系统提炼的条件,完成演示审核。
  7. 新建适用项目触发经验,再打开反例展示不机械套用。
  8. 管理后台替换规则/模板/Skill,展示同一数据上的可解释变化。

真实模型耗时受端点和材料规模影响,演示时展示实际耗时,不预写秒数。可准备固定回放用于故障讲解,但入口清晰区分“实时运行”和“历史回放”。

15. 权限、数据使用与操作边界

一次配置是用户体验目标,后台每次读写仍校验主体、项目、操作及数据域。以现有 authorize 为迁移入口,对所有角色应用资源范围,不继续沿用“仅 manager 限项目、其他角色自然全可见”的简化模式。

权限资源包含项目、附件、运行结果、报告、经验、检索索引、执行轨迹、下载和后台任务。后台任务继承发起者权限;运行期间权限被撤销时,后续读取/发布重新检查。已冻结的数据不因此自动允许向失去权限的用户返回。

IT 连接凭据仅留服务端;组件内容不携带密码。通用聊天、文件浏览及调试日志保留为受限开发功能,正式业务入口不得绕过业务资源边界。项目会话与全局 MEMORY 分离,生成结果、缓存、检索和日志均携带范围信息。

模型调用和长日志可能包含业务数据。生产配置记录必要证据与动作摘要,原始报文访问、脱敏及保留周期由 IT 配置;不把 API key 过滤等同于业务资料已脱敏。

首期所有 ERP 接入只读,外部邮件/消息、审批、放款、写回等副作用不在默认能力范围。系统可生成补件文本和本地任务,不自动向客户发送。

16. 数据存储与接口设计

16.1 逻辑实体

实体组 建议实体
项目与数据 projects、external_id_mappings、project_members、documents、document_versions、snapshots、evidence
配置 components、component_versions、release_records
执行 runs、run_steps、run_events、run_component_versions、artifact_dependencies
业务产物 findings、finding_events、supplement_tasks、scenarios、report_versions
经验进化 feedback_events、experiences、experience_versions、experience_applications、improvement_proposals、evaluation_runs

以上是逻辑模型,不要求首期全部建立独立大表。先复用现有 SQLite 与 JSON body;为查询、授权、关联、版本和状态建立必要列/索引。正式报表事实与组件发布版本不可被随意覆盖。

16.2 新增接口建议

使用统一前缀 /api/xingbang/project-assistant;旧 /api/xingbang/risk-agent 保留适配。以下为待实现契约,不是现有可调用接口。

接口 用途
GET /projects、GET /projects/{id} 授权项目列表和详情
POST /projects/{id}/documents 上传、关联问题并创建解析任务
POST /projects/{id}/runs 选择方案/快照及本次要求,返回 202
GET /runs/{id}、GET /runs/{id}/events 状态和 SSE/增量事件
POST /runs/{id}/cancel 显式取消
GET /projects/{id}/findings、POST /findings/{id}/actions 问题清单与人工处理
POST /projects/{id}/scenarios、POST /scenarios/{id}/compare 创建情景并比较
POST /projects/{id}/reports、GET /reports/{id}/export 创建报告和导出
POST /feedback、POST /experiences/extract 反馈和经验候选
POST /experiences/{id}/publish 授权审核共享
POST /improvements/{id}/evaluate、POST /components/{id}/release 候选评测和发布

写操作使用对象 revision/If-Match 和必要幂等键;冲突返回 409,权限 403,输入 422。结果未完整不只依赖 HTTP 成功码判断,必须读取业务状态。

16.3 旧数据兼容

建立旧项目、run、报告和经验 ID 到新实体的映射;旧报告保留 source_id。新字段缺失以 legacy/unknown 标注,不猜造过去的组件哈希、页码或审核人。旧草稿经验不得默认迁移为已发布。

迁移脚本支持 dry-run、数量统计、引用完整性检查、重复执行幂等和事务回滚。快照复制不会自动扩大共享范围。避免同一对象在新旧存储双向写入;迁移后确定唯一写入口,旧接口委托调用。

17. 文件级改造方案

新增目录与文件名是建议位置,实施前检查最新工作区和调用方,避免机械照抄造成重复模块。

工作项 保留/修改位置(backend 内) 建议新增位置(backend 内) 注意事项
核心上下文 graph/agent.py、graph/risk_task.py graph/project_task.py 沿用 AgentManager 工厂,旧 invoke_risk_task 保留适配
协议与注册 tools/skills_scanner.py、api/risk_agent_config.py contracts/、services/component_registry.py 保持旧 SKILL.md 和目录 ID 兼容
业务执行 api/risk_agent_config.py 的 run 分支 services/run_service.py、skill_executor.py、run_worker.py 迁出已有质量/比例规则后做输出对照
模型服务 api/risk_agent_config.py 的 local_model services/model_provider.py 风险、报告、协调、租赁物调用方一并检查
数据适配 api/risk_agent_connectors.py、risk_agent_alignment.py services/project_data.py、data_layer/adapters/ 保留 SQL 校验,旧 erp_connector 不直接当真实已接通路径
材料服务 api/collateral_agent.py 的 extract_pages/upload services/document_service.py、evidence_service.py 保留旧鉴权和限制,再扩格式
问题与补件 api/coordination_agent.py services/finding_service.py、change_impact.py 复用任务流转,不增加并行补件台账
方案比较 api/coordination_agent.py、collateral_checks.py services/scenario_service.py 基准与情景分开,公式版本固定
报告 api/report_agent.py services/report_service.py、模板组件目录 保留 Word 导出和章节锁定测试
经验 api/report_agent.py、data_layer/team_experience.py services/feedback_service.py、experience_service.py 导入旧经验后唯一存储
评测与发布 配置审核及 test-evidence 机制 services/evaluation_service.py、improvement_service.py 候选评测不污染正式环境
项目 API api/xingbang_projects.py、app.py api/project_assistant.py 新路由使用同一授权层

前端:复用 src/app/xingbang-workbench 及现有工作台,提取到 src/components/xingbang/project/;旧地址保留项目参数导航。演示与测试:新增 backend/fixtures/xingbang_demo/ 和对应 test_*.py,运行数据使用独立临时目录,fixtures 可以进入版本管理。

不立即删除 review_assist.py、xingbang_router.py、xingbang_v2.py、xingbang_unified.py、xingbang_workspace.py、risk_assess.py。它们仍被注册,需核查前后端、脚本、测试和外部使用后再决定归档;当前阶段停止将新能力写入重复旧链路。

18. 分阶段实施与交付门槛

所有阶段在同一 mini-openclaw 基线上前进。估时采用人日作为初步规划,并非固定交付承诺;模型兼容、文件质量及真实系统对接另行测量,业务审核等待不计入开发人日。

阶段 主要工作 交付物与退出条件 初步工作量
P0 基线和协议 调用链、备份、协议、验收样例、功能开关 测试留痕;可恢复基线;旧核心继续运行 2—3 人日
P1 组件与数据 manifest、发布快照、适配器、三类模拟包、授权入口 数据源可换;旧 Skill 可跑;新规则可发布;无跨项目数据 4—6 人日
P2 执行与检查 worker、步骤状态、工具范围、结构校验、基础 Skills 一次点击得到有证据的问题;失败可见;重启可恢复 5—8 人日
P3 材料与补件 通用解析、证据定位、问题生命周期、变化影响 补件实际改变结果;未执行检查不被当成通过 5—7 人日
P4 方案与底稿 有限情景比较、模板、章节更新、Word QA、UI 整合 检查—补件—方案—报告完成端到端验收 4—6 人日
P5 经验与演示 反馈、经验审核/检索、候选评测、演示重置与异常 A 项目经验在 B 应用,C 反例不误用;脚本可重复 4—6 人日

首版合计初估 24—36 人日,阶段间存在依赖,不能按人数简单相除。P3 后可展示“检查与补件”;完整首版定义包含 P5,不能把体验样片当成全部交付。

18.1 首批任务顺序

  1. 固定 DEMO-B 项目和端到端预期,明确现有输出与目标差异。
  2. 新增 ProjectSnapshot、SkillResult、Evidence、Finding 协议及兼容适配测试。
  3. 将现有 quality/ratio 执行迁入注册表,验证旧结果一致,再增加新 Skill。
  4. 将 API 中内嵌 SAMPLES 提取为可复位模拟适配器与 fixtures。
  5. 打通项目页到新运行任务,核心仍为 AgentManager。
  6. 扩通用附件、补件对比,再接现有报告导出。
  7. 增加情景比较和经验闭环,统一业务导航。

先确保纵向业务闭环,再扩组件数量,避免先做大量配置页面却没有可运行结果。

18.2 每阶段验证顺序

在本仓库根目录执行,使用项目虚拟环境;不要直接采用旧文档中另一工作目录。修改前先 status、log,再搜索相关调用方;每次行为修改新增或更新对应测试。

git status --short
git log --oneline -6
# 修改完成后,先在 backend 工作目录运行相关测试。
Push-Location backend
.\venv\Scripts\python.exe -m unittest test_risk_core test_risk_agent_config -v
Pop-Location
# 然后在仓库根目录执行统一验证。
.\backend\venv\Scripts\python.exe scripts/verify.py
git status --short
git diff --stat
git diff --check

相关测试名单随改动扩展。统一脚本按 backend 工作目录运行全部 test_*.py,随后前端生产构建和两套 Compose 配置校验。涉及镜像运行/部署变更时追加 scripts/verify.py --docker;其会操作容器与端口,应在隔离验证环境使用。

计划、命令、完整日志与结果保留在 test-evidence/。失败必须修复或缩小改动,不发布镜像。文档设计、离线单元测试、真实模型联调、真实 ERP 验收分别记录,互不替代。

19. 功能验收矩阵

以下为目标验收条件,尚未执行新功能测试。全部固定模拟用例必须通过;模型语义质量由已标注评测集度量,不宣称现实业务零错误。

ID 场景 通过标准
CORE-01 检查、报告、经验提炼 模型调用经过现有 AgentManager,无旁路生成
CORE-02 两项目并发 快照、工具、对话、经验和结果无交叉
COMP-01 新增方法 Skill 按协议注册并执行,不修改主业务分支
COMP-02 替换规则/模板 新任务应用新版,正在执行任务与历史报告保持旧版
COMP-03 缺失/循环依赖 发布或执行前明确报错,不进入无限执行
NL-01 本次自然语言与必查规则冲突 说明冲突并保留必查项;正式变更只生成配置草案
DATA-01 模拟换本地 SQLite 测试源 同一标准数据得到相同确定性指标和问题
DATA-02 混合口径、单位、重复、空数据 换算或明确拒绝,不静默汇总、不把缺失当 0
DOC-01 PDF/DOCX/XLSX/扫描件 支持格式可定位;识别失败明确显示,无伪页码
RUN-01 模型或数据源失败 已完成结果保留,整体标记 partial/failed
RUN-02 刷新、断线、重启 可查询/恢复,不重复创建报告或任务
FIND-01 补交材料 预期问题解决,其余保留,状态改变有依据
FIND-02 新材料再造成矛盾 问题可重新打开,保留历史人工意见
SCEN-01 5,000 调至 4,000 万元 示例比例 108% 到 135%,原方案不变,缺现金流仍提示
REPORT-01 生成导出 数字与快照一致,未核实项保留,Word 页面无溢出
REPORT-02 已确认章节受变化影响 更新候选和过期提示,不直接覆盖人工正文
EXP-01 专家纠正 草稿包含适用/例外条件及来源,不自动全员生效
EXP-02 新项目使用经验 产生实际检查动作;反例不误用
EXP-03 过期/冲突/私有经验 正确过滤或提示,不泄露、不覆盖制度
EVO-01 候选规则或 Skill 留出集对比可查,失败候选不发布
EVO-02 版本回退 后续任务使用旧版,新旧运行均可追溯
AUTH-01 越权项目、文件、报告、日志、经验 全路径拒绝越权,覆盖 worker 和下载
DEMO-01 重置与现场改数 只重置指定演示实例,改数实际改变结果
UX-01 普通用户首次使用 不输入 SQL/JSON/Skill 名即可完成主流程

19.1 性能与质量测量

固定机器、模型和材料规模建立基准,例如单项目 10 份材料、合计 50 页、3 期财报,单任务和 3 任务并发分别记录首个状态、解析、检查、模型、导出及总耗时。

建议交互目标:创建任务后 2 秒内显示已接收,状态查询 p95 小于 1 秒;P0/P1 测量后确认实际阈值。模型完成时间先测再设目标,不承诺未知硬件固定速度。

金融数值计算在指定精度下与基准完全一致;引用 ID 有效性在固定测试集中 100%;关键漏检和越权用例不得通过。语义误报/漏报报告分项数量和分母,质量门槛在标注后确定。人工效率先量处理用时与修改量,不将模拟测试换算成未经验证的坏账节省。

20. 迁移、发布与回退

20.1 变更前留存回滚点

以当前分支/提交留回滚点,不提交凭据或客户运行资料。SQLite 使用一致性备份方式,不在写入时简单复制单个文件;同时备份附件、配置、运行和版本。按项目惯例建立备份目录,并核对绝对路径在目标工作区内。

20.2 兼容迁移顺序

  1. 增加新协议与服务,旧 API 可用,先通过旧测试。
  2. 功能开关下启用新模拟项目路径,做结果对照。
  3. 旧接口逐一委托新服务,检查风险、报告、协同和核验调用方。
  4. 新项目页复用组件,旧页面保留带项目参数的导航。
  5. 迁移 dry-run 和引用检查通过后,切换指定对象的唯一写入口。
  6. 确认旧路由无使用方且回退窗口结束,单独任务决定删除或归档。

功能开关建议:新执行器、新项目 UI、经验应用、候选评测、演示数据域。默认值纳入发布记录,不能依赖个人浏览器状态决定业务规则。

20.3 回退

出现结果回归、旧数据无法读取、鉴权绕过或迁移引用丢失时停止切换。先停新任务写入,切回兼容接口或旧组件版本;数据库不兼容时执行已演练恢复流程。

上线后已有新业务写入时,先保留新事件,采取前向修复或合并,不能直接恢复旧备份丢弃新数据。回退演练要打开旧项目、报告、附件和经验来源,不仅检查服务启动。代码、数据库 schema、组件发布集合与迁移记录组成同一发布清单。

21. 真实数据接入的交付边界

模拟闭环完成后,真实接入作为独立阶段,不推迟当前建设。届时收集:数据字典、只读方式、项目/用户映射、附件读取规则、正式手册和模板、部署与数据处理要求。

实施顺序:最小只读视图/接口 → 映射一个授权项目 → 字段与附件对账 → 单位/期间/来源核对 → 替换演示规则 → 验证权限 → 影子运行和人工复核 → 小范围启用。

模拟配置不能自动升为正式配置,模拟经验不自动进入生产;旧 run 保留 demo 标记。真实模型端点、硬件规模、ERP 类型和附件质量当前未知,影响对接工作量,不影响上层协议和现在的开发。

客户已有评级模板时,适配其输入输出和计算流程,对账后作为受控 Skill;不依赖模型复述模拟模板计算。正式行业阈值、风险偏好及审批流程由客户确认。

22. 完成定义与交付清单

完整首版完成必须同时满足:

  1. 自有 mini-openclaw 贯穿模型任务,组件可替换,有版本和执行证据。
  2. 三类虚构项目、真实附件、规则及预期可复位,能现场改数据运行。
  3. 检查—补件—比较—底稿—经验复用通过验收。
  4. 业务用户无需理解技术组件;管理员可配置数据、方案、规则、Skills 和模板。
  5. 经验适用边界可见,改进候选可验证、可审核、可回退。
  6. 旧功能和历史数据可用,规定测试、构建和部署校验留痕。
  7. 真实接入合同、权限适配及待确认事项已文档化,演示与生产能力清楚区分。

交付物:系统代码、组件协议与样例、模拟档案与生成脚本、演示规则/模板、数据迁移和恢复脚本、评测集、测试证据、操作手册、配置说明、演示脚本、真实对接清单及已知限制。

第一轮实施从 P0/P1 和一个纵向项目闭环开始。评判改造是否成功,要看用户能否完成工作、能否解释结果和变化、能否将已确认经验带到下一个项目。

附录 A:设计来源

  • 用户本轮讨论:自有 mini-openclaw、模拟数据先行、组件可插拔、体验简单、经验沉淀与进化。
  • 本仓库 AGENTS.md:最小改动、先读调用方、联动检查、测试留痕和失败不发布。
  • ori_file/兴邦金租会谈-2026.8.18 (1).md:业务痛点与试用意向,定位见第 2 节。
  • 当前代码及测试:清单见第 3、17 节;根目录 ARCHITECTURE.md 描述通用聊天基础,不能单独代表最新业务实现。
  • LangChain Memory overview:案例、知识与操作方法分层参考,不要求采用其外部平台。
  • Anthropic Agent evals:程序及人工评价 Agent 的工程参考。
  • OWASP Authorization Cheat Sheet:持续执行资源授权的参考。

外部资料仅作为工程方法参考,兴邦正式规则不从公开文章推断。设计数值与工作量均为规划值;未获客户确认的规则属于演示规则。