拓冰建站拓冰建站
首页 / 资讯中心 / 正文

我用Seed-2.1-pro搭了一套工程审计智能审读系统

— 真实场景 · 完整 Case —三天我给工程审计做了一套 AI 审读系统221 页控制价、190 项清单从逐页翻阅到自动出疑点台账△ 系统驾驶舱项目、资料、解析进度、疑点一屏总览先说结论三天时间、16 次代码提交一套能跑通完整链路的工程审计智能审读系统。上传合同、招投标、清单、结算、签证资料AI 自动完成要素抽取、跨文件勾稽、签章核对并支持「每条结论都能定位回原件页码」的溯源问答疑点一键导出 Excel / Word。实测数据先摆出来环节实测结果资料解析6 份资料 / 4 类格式xlsx、docx、PDF、PNG全部成功扫描件处理13 MB、36 页结算审核书 PDF → 176 个结构化要素35 页带坐标锚点清标分析221 页控制价 3 家投标方主模型连续跑满 894 秒考点命中 8 / 9溯源问答5 道题全部答对含 1 道「资料里没有就得说没有」的反幻觉题疑点台账自动汇总 134 条疑点导出 Excel 211 KB / Word 17.5 KB与库内数据逐行核对一致1.这套系统解决什么问题做工程审计的朋友大概都有体会。一个项目的合同、招投标文件、工程量清单、结算书、签证单动辄几百页。关键金额、日期、签章靠人工逐页翻找抄录清单和结算之间要跨文件反复勾稽发现疑点后还得回到海量原件里翻出处、整理底稿。机械性劳动吃掉了大量时间真正需要专业判断的环节反而被压缩。我把这套流程拆开看发现它其实是三段把资料读成结构化的数据 → 按规则做核对 → 把结论和证据一起交给人。前两段高度机械、规则明确正好是模型能接住的第三段是专业判断必须由人拍板。于是有了这套系统的定位——辅助审读不是自动审计。资料上传PDF / Word/Excle/图片 → 智能解析表格·印章·文本 → 结构化要素入库清单·结算·签章 → 自动核对 / 溯源问答勾稽·核验 → 疑点台账 → 导出报告Excel / Word四个核心模块 资料舱——合同、招投标、清单、结算、签证全格式支持上传即解析原件可查看、可框选定位。△ 资料舱上传后自动解析原件可框选定位表格 / 标题区域✅ 核对程序——清单↔结算跨页表自动勾稽逐项标注工程量、单价差异合同 / 签证的三方签章自动核对齐全性。△ 核对程序勾稽结果与签章核对结果分类呈现⚠️ 疑点台账——差异与异常自动汇总、风险分级一键导出 Excel / Word。△ 疑点台账自动汇总、分级支持导出 智能问答——多轮取证后给出结论每条结论附原件页码引用资料缺失明确列出。 在线体验系统已开源可在线体验https://ai-audit.xunnan.net/pc/index.html体验账号admin / 123456也可在登录页注册新账号体验开源地址githubhttps://github.com/xiangxiang088/ai-smart-audit开源地址gitee https://gitee.com/xiangxiang088/ai-smart-audit2.Case 1清标分析12 类核验项一次跑完清标是评标环节里很熬人的一段一家一家翻投标文件核对算术错误、清单编码规范性、安全文明施工费费率、暂列金额、不平衡报价、废标红线……十几类检查项每家几十上百页三五家投标方摞起来就是一座小山。我把它做成了系统里链路很完整的一个 Agent 任务上传1 份招标控制价 N 家投标报价逐项比对后输出清标评审报告覆盖 12 类核验项。 测试用的真实数据• 项目扬州站东路市政道路工程• 招标控制价10,012,474.64 元PDF 221 页走 OCR 解析• 投标方3 家清单规模190 项• 植入考点9 个算术错误、漏报、零报价、工程量改动、不平衡报价等说明控制价与各投标人的投标总价为真实公开数据投标人的分项单价明细按真实清单结构生成并植入校验点该明细现实中不公开。任务跑完主模型连续输出894 秒最终生成 9,944 字的清标评审报告9 个考点命中 8 个反向断言 0 处。这里说一下反向断言——就是模型压根没查到却言之凿凿地写「未发现漏报项」「工程量完全一致」。这比单纯漏检更麻烦评审人看到「无异常」三个字可能直接翻篇把废标线索放过去了。这次主模型跑出来的报告里这类问题一次都没有出现。不同模型在同一任务上的表现差异其实很明显。我做了对照指标轻量模型Seed-2.1-pro主模型报告长度3,919 字9,944 字考点命中5 / 98 / 9反向断言2 处0 处连续输出时长—894 秒无中断同样一份 221 页的控制价、同样 190 项清单、同样 9 个植入考点轻量模型只命中 5 个还带了 2 处反向断言Seed-2.1-pro 命中 8 个、零反向断言报告篇幅也厚实了一倍多。长清单逐项核对的「手上功夫」差距肉眼可见。这也对应了这次升级的方向官方说 Agent 专项专门优化了「减少编造结果和提前宣告完成」工具调用幻觉内部专项得分从 38.4% 提升到 64.8%。在我的清标场景里主模型确实更愿意「等工具返回再下结论」而不是没查到就硬编一个。3.Case 2每条结论都有出处审计这行有句行话没有证据的结论等于没说。所以我在设计智能问答时定了一条硬标准——回答里的每一个关键信息必须能定位回原件的具体页码。实现方式是让 Agent 做多轮工具调用先检索相关文档要素再交叉验证最后组织结论并附上证据引用。△ 一次合同签章齐全性分析底部可见 6 次工具调用 · 5 轮取证 · 56 条证据测试问了 5 道题全部答对都是有标准答案的提问系统回答送审 / 审定 / 核减造价送审 2,588,174.25、审定 1,704,199.10、核减 883,975.15核减率 34.15%依据结算审核书第 3 页质保金比例与缺陷责任期质保金为审定金额 3%、缺陷责任期 24 个月依据专用条款第 15.3.2 项签证单三方签章是否齐全判定不齐全抬头列明三方实际仅识别到 1 枚印章且印文单位与抬头的监理单位不一致发票价税合计与开票日期价税合计 ¥38,266.00叁万捌仟贰佰陆拾陆圆整开票日期 2017-04-18本项目是否有监理合同明确回答「所提供资料中没有监理合同」并列出已有 6 份资料清单、说明应补资料最后一道是特意设计的反幻觉题。资料里确实没有监理合同。模型遇到这类问题很容易顺着提问编一个答案出来——而审计场景里「没有的说成有」比「没查到」严重得多。这道题它表现得挺稳没有就是没有还把手上已有的 6 份资料列出来让人核对并说明应该补什么。这正好对应这次模型升级里「减少编造结果」的方向。顺带一提问答也做了全链路流式早期版本一次性返回用户要等整个 Agent 跑完多轮取证 成稿才看到结果首字节等于总时长实测有 52 秒和 87 秒的记录。后来改成整条链路 SSE 流式取证进度和正文都实时推到浏览器 119ms start 第 1 轮取证正在判断该调阅哪些资料… 3959ms tool list_seals ok 7条 20839ms progress 取证完成正在依据证据成稿… 33817ms answer 正文开始逐字输出 39901ms done 正文 500 字 / 引用 7 / 置信度 high首字节从 30 秒级降到119 毫秒。用户不用再盯着转圈等整轮跑完。4.工程资料本来就是「多模态」的工程审计的输入形态很杂扫描版 PDF、现场照片、签证单图片、发票、Excel 清单、Word 合同。同一份资料里还可能混杂表格、印章、手写签字、图注、跨页续表。系统对这块的处理方式是我做的一个有意取舍把「看」和「想」分开。️ 眼睛PaddleOCR-VL 1.6把 PDF / 图片解析成表格、印章、文本等结构化要素输出带坐标的 JSON。 大脑doubao-seed-evolvingSeed-2.1-pro基于结构化要素做规划、工具调用取证、跨文件核验、溯源问答与疑点判断。大脑不直接接触图片。这么设计的好处有三个。一是结论可溯源。所有判断都基于结构化要素每条都带着原件页码和坐标锚点审计底稿直接能用。实测 36 页扫描件解析出 35 页带坐标锚点锚点异常 0 条。二是要素可复用。一次解析后续勾稽、问答、导出复用同一份结构化数据不必反复把图喂给模型。长清单逐项核对靠的是可枚举、可比对的结构而不是「看图说话」。三是成本可控。大脑不承担图像 token专注在推理和工具调用上。△ 签章核对用的真实签证单样本△ 工程量清单资料图片表格、编码、工程量需要逐项落到结构化要素上实测这条链路对密集图文文档的识读是站得住的13 MB、36 页的扫描版结算审核书完整解析真实印章、发票金额与日期、签证单三方签章都能落到结构化要素上——包括前面那道题里「抬头列了三方、实际只盖了 1 枚章、而且印文单位对不上」这种需要细看的差异。顺手做了个小对照让 Seed 直接读这张清单上面这套是「OCR 看 模型想」。那如果跳过分离直接把资料图喂给模型它读得动吗我拿上面那张工程量清单综合单价分析表试了一次不经过 OCR图片直接进模型抽取项结果列结构正确识别「序号 / 编码 / 名称 / 单位 / 工程量 / 综合单价组成(元) / 综合单价(元)」并正确指出「人工费、材料费、机械费、计费基础、管理费和利润」是「综合单价组成」下的子列前 5 条清单条目编码、名称、单位、工程量逐项读出与原件一致单位区分正确区分了主清单项的 m2 与定额子目的 10m2、10m3这里混淆了后续核算就全错印章判断正确回答「图片中无印章」没有硬凑耗时首字节 53.2 秒 / 总耗时 58.5 秒tokens输入 1,415 输出 3,231我把抽出来的 5 条与原件逐行比对过编码、名称、单位、工程量全部对得上。表格里有合并单元格、有01-1-121 换这种定额编号、有「人工[00010100]含量0.4」这种行内附注模型都没读错。这个结果反过来印证了分离设计的必要性模型确实能直接看图但在我这个场景里直接看图解决不了三个问题——坐标锚点要定位回原件、要素复用同一份资料要支撑勾稽 / 问答 / 导出多轮消费、成本可控图像 token 不便宜。所以我把「看懂」和「用对」交给了两个组件。另外补一句这次图像推理的首字节花了 53 秒思考阶段较长。如果走非流式这正好又是一个会被中间设备掐断的请求——跟前面清标那条 Case 是同一个坑。所以「长任务一律流式」这条规矩在视觉场景里同样成立。5.几个工程细节回看这个项目真正花时间的不是接模型而是那些「接得住真实业务」的地方。模型故障转移链。大脑调用按「主模型 → 备用 → 兜底」顺序尝试前一个失败限流、欠费、超时、服务异常才切换下一个。调用顺序、启用状态、单模型与整链超时全部在后台可视化配置改完即生效不用改代码、不用重新发版。统一配置中心。所有配置收敛到一张分域键值表支持类型、密钥脱敏、按域缓存。模型链、引擎参数、业务开关都在这里管避免「配置散落在代码常量里、想改一个值得重新打包」。△ 开发工具1-CC Switch和idea搭配使用Seed-2.1-pro△ 开发工具2-豆包工作豆包2.1Pro端到端测试挖出 8 处真实缺陷。都比较典型• OCR 任务被上游队列满拒绝业务码 10010原代码把所有业务错误当永久失败、不做重试且响应体被重复读取导致真实原因被吞掉 → 加指数退避重试 统一单次读体• 对话接口越权isAdmin 是 async 函数漏写 await 导致返回的 Promise 恒为真值归属校验整段被跳过• 前端把 403 当「登录过期」强制登出重新登录后依然失败根因是权限不是登录态→ 拆分 401 / 403 语义• 疑点台账表建好了但全项目没有任何代码写入页面永远是空白 → 补规则扫描器 接口 前端• 勾稽程序右方数据恒为 0表名匹配词写死成「分部分项工程量清单与计价」真实表名是「分部分项工程结算表」→ 放宽匹配• 解析状态「僵尸锁」服务重启后停留 processing重试返回 409任何操作都救不回 → 加超时判定允许重新入队这些坑大多不在「模型行不行」上而在数据契约、状态机、权限语义这些地方。把 AI 接进真实业务时这些往往比调模型更耗精力。6.用下来Seed-2.1-pro 的几个印象doubao-seed-2-1-pro官网https://ark.volcengine.com/region:cn-beijing/model/detail?namedoubao-seed-2-1-pro6.1长程任务能扛住清标分析连续输出 894 秒中间没有断、没有跑偏、没有提前宣告完成。官方说 Agent 专项专门优化了「减少编造结果和提前宣告完成」在我这个场景里是能感受到的。6.2 愿意等工具返回再下结论这点我很在意。做审计 Agent「不确定就说不确定」比「看起来很确定但其实是编的」重要得多。5 道问答题里那道反幻觉题模型老实说「资料里没有」还列了已有清单——这个表现是合格的。6.3 结构化输出稳定清标报告和问答结论都要求 JSON 强约束输出格式一直很稳没有出现需要反复重试的解析失败。6.4 Token 效率这次升级官方提到平均任务输出 Token 减少 5%、思考 Token 减少 11%、工具调用次数降低 43%。我没有做严格的 AB 对照但从账单上看同类任务的开销确实比之前友好。一个可以对照的观察同一条清标任务降级到轻量兜底模型时报告只有 3,919 字、考点命中 5/9、还带 2 处反向断言换回主模型后是 9,944 字、8/9、反向断言 0。同样是长清单逐项核对模型的「手上功夫」差距是肉眼可见的。7.一些思考做完这个项目我感受比较深的不是「AI 要取代审计师了」。恰恰相反——AI 越能干专业人员的价值反而越突出。它把你从抄录、对账、翻资料里解放出来让你有更多时间去做真正需要判断的事。这也是为什么我给系统的定位是「辅助审读」而不是「自动审计」疑点由 AI 找出来但要不要采信、能不能定性得人来拍板。系统里也专门留了人工复核的闭环——标记「误报」后重扫复核标记会被正确保留。工程审计这个行业的数字化程度还不算高很多环节还在靠 Excel 手工勾稽、Word 写底稿、人工一页页翻资料。而这套东西从零到跑通用了三天、16 次提交。工具在进化用好工具的人也在进化。— END —
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门