第 3.8.3 节:把采购比价与风险复核写成可校验、可复用的工程契约
采购比价与风险复核不能只停留在口头约定,还需要落实为字段、校验和失败处理。完成本节后,你应该能够把采购比价与风险复核落成字段表、校验规则、错误处理和验收样例。
实现步骤或决策流程
推荐技术流及原因
这类项目推荐“文档识别 + 结构化抽取 + 规则检查 + 人工复核 + 审计留痕”的技术流。
-
文档识别与分类
先判断输入属于发票、报销单、合同、简历、制度、报价单还是供应商资料。分类错了,后续字段和规则都会错。 -
OCR(光学字符识别)与文本解析
对扫描件、图片、版式复杂的文档提取文本。对于可复制文本的文档,也要保留页码、段落、表格位置,方便追溯。 -
Structured Output(结构化输出)抽取
将金额、日期、主体、岗位、条款、报价、资质等信息抽成固定字段。字段必须有置信度、原文位置和校验状态。 -
规则引擎与风险清单
规则应由业务负责人维护,例如“合同违约责任缺失”“发票抬头不符”“候选人关键证书缺失”“供应商资质过期”。模型可以帮助解释风险,但规则来源要清楚。 -
RAG(检索增强生成)制度问答
员工制度、报销制度、合同模板、采购制度可以进入知识检索层。模型回答必须引用制度条款,不允许凭常识回答。 -
Human-in-the-loop(人工参与闭环)复核
高风险事项进入复核台,由负责人确认、驳回或补充意见。模型输出不等于最终结论。 -
审计与反馈
记录 Trace ID(追踪编号)、原文、抽取字段、命中规则、复核人、复核意见和最终动作。后续可以用复核结果改进规则。
这条技术流的原因是:职能部门需要的不只是效率,更是可解释、可追责、可复核。
字段契约表
| 字段 | 含义 | 适用场景 | 校验规则 | 风险说明 |
|---|---|---|---|---|
| document_id | 材料编号 | 全部 | 每份材料唯一 | 用于归档和审计 |
| document_type | 材料类型 | 全部 | 必须来自预设类型 | 类型错会导致规则错 |
| submitter | 提交人 | 报销、采购、人事 | 必须匹配组织账号 | 防止冒名或错归属 |
| entity_name | 主体名称 | 发票、合同、供应商 | 与客户主数据比对 | 主体不一致需提示 |
| amount | 金额 | 财务、合同、采购 | 币种、含税状态、大小写一致 | 影响付款和预算 |
| date_range | 日期或履约周期 | 合同、发票、采购 | 起止时间合理 | 影响时效和责任 |
| clause_reference | 条款位置 | 合同、制度 | 页码、段落或标题可定位 | 风险提示必须能回到原文 |
| candidate_profile | 候选人摘要 | 招聘 | 不展示非必要敏感信息 | 防止隐私滥用 |
| requirement_match | 匹配项 | 招聘、采购 | 与岗位或采购标准逐项对应 | 不能用模糊印象排序 |
| risk_type | 风险类型 | 全部 | 来自风险清单 | 不允许临时编造风险分类 |
| risk_level | 风险等级 | 全部 | 建议分低、中、高、严重 | 高风险进入复核 |
| confidence | 抽取置信度 | 全部 | 低于阈值需人工确认 | 避免把不确定结果当事实 |
| reviewer | 复核人 | 高风险材料 | 必须为授权角色 | 明确最终责任 |
| review_result | 复核结论 | 高风险材料 | 通过、驳回、需补充、转交 | 模型输出不能替代该字段 |
| trace_id(追踪编号) | 追踪编号 | 全部 | 每次处理唯一 | 支持事后追责 |
字段契约要在项目开始时确认,不要等到客户验收时再讨论“这个字段到底是什么意思”。
数据准备
职能项目的数据准备要围绕“材料真实、规则明确、复核可追溯”来做。不要只准备几份格式整齐的样本文档,否则作品集看起来像演示,面试时也经不起追问。
第一,准备材料样本包。每类材料至少包含正常样本、字段缺失样本、低清晰度样本、边界样本和高风险样本。合同要包含常规合同、主体异常、付款节点不清、违约责任缺失、附件缺失等情况;报销要包含抬头不符、重复票据、预算超额、金额大小写不一致等情况。
第二,准备规则来源包。财务规则来自报销制度、预算规则和票据要求;人事规则来自岗位要求、招聘流程和员工制度;法务规则来自合同模板、条款清单和法务复核意见;采购规则来自供应商准入、评分表、历史履约和合规要求。每条规则都要能说明是谁确认、何时生效、适用于哪些材料。
第三,准备人工复核标注。选择历史处理过的材料,标注人工当时的处理结论、驳回原因、补充材料要求和最终动作。智能体输出要和这些标注对比,而不是只看摘要是否流畅。
第四,准备脱敏版本。作品集和面试展示时,金额、身份证件、薪资、供应商名称、合同主体和候选人信息要做脱敏处理,但保留字段结构、风险类型和复核链路。这样既能展示项目方法,也不会泄露敏感信息。
制作步骤
1. 先画出业务边界
把场景分为四类:只读问答、材料整理、风险提醒、审批动作。只读问答和材料整理风险较低;风险提醒需要规则和证据;审批动作必须由人完成。边界画清楚后,客户才不会把辅助工具误解成自动决策系统。
边界最好写成一张“动作矩阵”:哪些动作可自动生成草稿,哪些动作必须复核,哪些动作禁止由智能体输出。比如“生成合同摘要”可以自动做,“提示条款缺失”需要原文证据,“判断合同一定有效”必须禁止。
2. 收集样本文档和规则
至少准备每类材料的正常样本、异常样本、边界样本和低质量样本。规则资料包括报销制度、合同模板、岗位要求、采购评分表、供应商准入标准、历史驳回案例。
3. 设计材料分类
合同、发票、简历、报价单、制度文档的结构完全不同。系统先分类,再进入不同抽取模板。混合材料要支持拆分,例如一个采购包里可能同时包含报价单、营业执照、资质证书和售后承诺。
4. 设计结构化抽取字段
每个字段都要有来源位置、置信度和校验状态。财务看金额和票据信息,法务看主体和条款,人事看岗位要求和候选经历,采购看报价、资质、交付和风险。
5. 建风险规则清单
风险规则不要写成“模型觉得有风险”。应写成可维护清单:规则名称、触发条件、证据要求、风险等级、复核角色、处理建议。比如“合同未约定违约责任”应定位到条款缺失,而不是只说“合同不够完善”。
6. 设计复核台
复核台应展示原文、抽取字段、风险点、命中规则、模型摘要和操作按钮。负责人可以选择通过、驳回、要求补充、转交其他部门,并留下复核意见。
复核台不是一个可有可无的管理页面,而是责任边界。面试时要能说明:财务、人事、法务、采购各自看到什么、能改什么、最终结论如何留下记录,以及低置信度字段如何进入人工确认。
7. 设计权限和脱敏
简历、薪资、身份证件、合同金额、供应商报价都属于敏感信息。默认按最小权限展示:能看摘要的不一定能看原文,能看自己部门的不一定能看全公司。
8. 做历史样例回放
拿过去已经处理过的报销、合同、简历和采购案例回放,比较智能体输出与人工结论。重点不是让模型完全代替人工,而是看它能否稳定发现材料缺失、明显异常和需要复核的风险。