50 KiB
兴邦金租对公项目助手——系统改造书
版本: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 已确认约束
- 必须使用本项目自己的 mini-openclaw;不换成外部 Agent 平台,也不另建绕过核心的生成链路。
- 目前拿不到兴邦真实数据;先用完整模拟档案贯通业务,真实对接不作为开发前提。
- 模拟的是输入资料和演示制度,查询、检查、计算、版本对比、导出和经验复用必须真实执行。
- 保留可用模块,小步迁移;当前不存在的旧页面不恢复。
- IT 统一配置连接与访问策略,业务人员不反复配置。权限在后台持续执行。
- 自然语言可表达本次任务、编辑配置草案,不能静默改变正式制度或扩大工具权限。
- 首版必须包含可展示的经验闭环;自动生成改进建议可以先做,模型训练和自动修改生产代码后置。
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 必须解决的结构缺口
- 配置化执行集中在风险 API 的固定分支;还不是通用 Skill 注册与依赖执行机制。
- 当前工具读取校验只能证明“调用过”,不能证明输出逐条正确;需要结构校验和有效证据检查。
- 数据卡、多期记录和报告已有快照,但尚缺统一项目附件、字段依赖和问题延续机制。
- 新数据导致结果失效已有局部实现,尚未贯通问题、方案和报告章节。
- 经验卡有审核状态,缺少反馈分类、适用条件检索、实际执行关联及对照评测。
- 旧
xingbang_*等 API 仍在backend/app.py注册。须盘点调用方后兼容迁移,不能因前端不显眼就直接删除。 - 通用聊天与业务任务采用不同模型配置和工具范围。业务界面必须走受控业务链路,避免绕到通用终端/文件工具。
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 一次任务的执行顺序
- 校验身份、项目、操作和组件权限,创建 run_id,记录用户要求。
- 解析方案并冻结所有依赖版本、模型配置标识、经验版本和任务预算。
- 读取授权数据,生成不可变项目快照;尚未取得的数据标注缺失。
- 检查依赖,执行必做的数据校验、提取和确定性计算。
- 检索适用经验;Agent 在可用工具集合内追加必要核实与分析。
- 语义分析、报告草稿等模型型步骤通过 AgentManager 执行。
- 检查结构、证据、计算引用与必做项覆盖;不完整步骤如实记录。
- 保存问题、计算、建议和执行事件,发布运行完成/部分完成状态。
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 一次演示顺序
- 打开 DEMO-B,点击检查,展示实际执行步骤。
- 点开金额冲突,定位原附件或单元格;让客户看到依据。
- 上传补件,展示问题差异,保留仍需人工核实事项。
- 调整融资金额,比较指标与问题变化,原方案保留。
- 导出 Word 底稿,展示已核实事实和未解决事项。
- 专家补充一条处理经验,查看系统提炼的条件,完成演示审核。
- 新建适用项目触发经验,再打开反例展示不机械套用。
- 管理后台替换规则/模板/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 首批任务顺序
- 固定 DEMO-B 项目和端到端预期,明确现有输出与目标差异。
- 新增 ProjectSnapshot、SkillResult、Evidence、Finding 协议及兼容适配测试。
- 将现有 quality/ratio 执行迁入注册表,验证旧结果一致,再增加新 Skill。
- 将 API 中内嵌 SAMPLES 提取为可复位模拟适配器与 fixtures。
- 打通项目页到新运行任务,核心仍为 AgentManager。
- 扩通用附件、补件对比,再接现有报告导出。
- 增加情景比较和经验闭环,统一业务导航。
先确保纵向业务闭环,再扩组件数量,避免先做大量配置页面却没有可运行结果。
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 兼容迁移顺序
- 增加新协议与服务,旧 API 可用,先通过旧测试。
- 功能开关下启用新模拟项目路径,做结果对照。
- 旧接口逐一委托新服务,检查风险、报告、协同和核验调用方。
- 新项目页复用组件,旧页面保留带项目参数的导航。
- 迁移 dry-run 和引用检查通过后,切换指定对象的唯一写入口。
- 确认旧路由无使用方且回退窗口结束,单独任务决定删除或归档。
功能开关建议:新执行器、新项目 UI、经验应用、候选评测、演示数据域。默认值纳入发布记录,不能依赖个人浏览器状态决定业务规则。
20.3 回退
出现结果回归、旧数据无法读取、鉴权绕过或迁移引用丢失时停止切换。先停新任务写入,切回兼容接口或旧组件版本;数据库不兼容时执行已演练恢复流程。
上线后已有新业务写入时,先保留新事件,采取前向修复或合并,不能直接恢复旧备份丢弃新数据。回退演练要打开旧项目、报告、附件和经验来源,不仅检查服务启动。代码、数据库 schema、组件发布集合与迁移记录组成同一发布清单。
21. 真实数据接入的交付边界
模拟闭环完成后,真实接入作为独立阶段,不推迟当前建设。届时收集:数据字典、只读方式、项目/用户映射、附件读取规则、正式手册和模板、部署与数据处理要求。
实施顺序:最小只读视图/接口 → 映射一个授权项目 → 字段与附件对账 → 单位/期间/来源核对 → 替换演示规则 → 验证权限 → 影子运行和人工复核 → 小范围启用。
模拟配置不能自动升为正式配置,模拟经验不自动进入生产;旧 run 保留 demo 标记。真实模型端点、硬件规模、ERP 类型和附件质量当前未知,影响对接工作量,不影响上层协议和现在的开发。
客户已有评级模板时,适配其输入输出和计算流程,对账后作为受控 Skill;不依赖模型复述模拟模板计算。正式行业阈值、风险偏好及审批流程由客户确认。
22. 完成定义与交付清单
完整首版完成必须同时满足:
- 自有 mini-openclaw 贯穿模型任务,组件可替换,有版本和执行证据。
- 三类虚构项目、真实附件、规则及预期可复位,能现场改数据运行。
- 检查—补件—比较—底稿—经验复用通过验收。
- 业务用户无需理解技术组件;管理员可配置数据、方案、规则、Skills 和模板。
- 经验适用边界可见,改进候选可验证、可审核、可回退。
- 旧功能和历史数据可用,规定测试、构建和部署校验留痕。
- 真实接入合同、权限适配及待确认事项已文档化,演示与生产能力清楚区分。
交付物:系统代码、组件协议与样例、模拟档案与生成脚本、演示规则/模板、数据迁移和恢复脚本、评测集、测试证据、操作手册、配置说明、演示脚本、真实对接清单及已知限制。
第一轮实施从 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:持续执行资源授权的参考。
外部资料仅作为工程方法参考,兴邦正式规则不从公开文章推断。设计数值与工作量均为规划值;未获客户确认的规则属于演示规则。