老郑带 6 人小队给省级生态环境厅做污染源关联研判助手。客户口头交代:一线送来企业名和监测点编号,再打两句口述,助手就要抽出排放主体、上下游关联、是否超标、是否跨流域,接进值班大屏;高峰压到十秒一单;上一单的排污许可证号和坐标绝不能带到下一单;不能把邻县限产令当成本案结论。
Qwen 把语义相近的邻县条文当本案结论;DeepSeek 看见「上下游」就编图谱里不存在的排放边;Kimi 窗口一短把子图挤掉,按上一单结论交差。群里改三天提示词,线上又漂回去。隔壁路过说了一句:别再拿聊天记录当图谱接口文档,把实体契约、遍历预算、证据定位和失败回退写进 SPEC。
一、GraphRAG 到底在管什么
检索管从哪找段落,结构化输出管交出去的单子算不算过关,GraphRAG 管的是另一件事:这张子图上的边,和这段口述,能不能合成同一张值班单。
可以把它想成值班室查档。柜台上只允许四样东西:
- 实体与关系契约:本案只认 enterprise / monitor / pollutant / basin / license 五类实体,关系只走 emits / upstream_of / exceeds / cross_basin,最多 2 跳。不允许临时开「感觉相关」的边。
- 遍历预算:单次子图遍历超时 10 秒,跳数超限就停,禁止把邻县全图灌进来。
- 证据定位:每条结论必须能指回图谱里的边或监测点记录,指不回去就标 uncertain。
- 失败回退:子图残缺、边冲突、解析失败,重试一次仍失败就升级人工,禁止编边交差。
和普通 RAG 的差别很硬:RAG 找回一段像的文字就算分,GraphRAG 要求文字和边对齐。对齐不上,宁可升级,不能「圆」过去。
二、为什么 2026 必须认真对待
交付已经从「能聊」变成「能进值班系统」。值班大屏要的是主体、关联、超标、跨流域四格,缺一格就是事故。
同一套口头规则,在 Qwen、DeepSeek、Kimi 上的服从度能差一个数量级。有的基座爱补全不存在的边,有的基座窗口一短就把子图扔掉。
图谱策略是最便宜也最容易漂的资产。写在群公告里的「最多两跳」「不许编边」,过一个迭代就没人记得。
私有化场景最吃这一套。排污许可、坐标、监测浓度不能出域,本地客户端一换人,Mock 子图和对齐规则就对不齐。
三、落地时最常踩的三个坑
环境不稳。演示用的本地 Mock 子图和线上真实库对不齐,同一套提示词在笔记本上能跑,到值班室就乱指边。
模型不灵。一套提示词只在某一个基座会按边走。换 DeepSeek 开始编边,换 Kimi 开始丢子图,团队只能通宵改词。
规则易飘。实体种类、跳数、升级条件改在群里。三天后线上已经不是评审时那一版,出了串单也没法回溯。
四、为什么放到 MonkeyCode 上跑
MonkeyCode 是免费、免安装的在线 AI 开发平台,浏览器打开就能干完开发、测试、对照。对 GraphRAG 这种「规则必须钉死、还得换基座验」的任务,它对上了四个点:
- 云端环境:每任务一台真实服务器,子图对齐、校验脚本、对照批次都在云端,不靠某台笔记本的 Mock。
- 多模型切换:内置 GLM、Kimi、MiniMax、Qwen、DeepSeek,同一条 SPEC 一键换基座交叉验证,谁爱编边、谁爱丢子图,当场对照。
- 需求与 SPEC 管理:角色、红线、实体契约、跳数、遍历预算、升级条件写进 SPEC,而不是写在群公告。评审过的版本可回溯。
- 开源可私有化:核心代码公开,支持 fork 和离线部署,适配网络隔离和合规要求的厅局项目。
基础版免费(1 并发 / 1C4G / 每日 30M Token),需要对照批次再上专业或旗舰档。关键不是会员,是把图谱契约从聊天记录里搬进可执行的 SPEC。
五、三步把污染源研判跑通
第一步,建任务、选对照。在 MonkeyCode 新建任务:Qwen 做主实验,DeepSeek 做对照,Kimi 做短窗口基线。同一批 20 条口述加子图,不许各跑各的语料。
第二步,把规则写进 SPEC,而不是提示词备忘录。
- 角色:省级生态环境厅污染源关联研判助手
- 红线:不编造排放主体和浓度;不确定就升级人工;许可证号、坐标、姓名脱敏;不把图谱里不存在的边写进结论;上一单字段不得带入下一单
- 实体:enterprise / monitor / pollutant / basin / license,不允许额外实体通道
- 关系:emits / upstream_of / exceeds / cross_basin,最多 2 跳
- 输出:subject / upstream_link / exceed / cross_basin / evidence / upgrade
- 一致性:口述与边冲突以图谱为准;子图过残标 uncertain 并升级
- 校验:缺图或缺边解析失败,重试一次仍失败升级;禁止在子图未对齐前输出结论
- 预算:单次遍历超时 10 秒,降级到升级队列
第三步,用同一批 20 单对照。上线前那一周的典型事故再跑一遍:编造图谱中不存在的排放边 7 次降到 0;邻县限产令当成本案 5 次降到 0;跨流域未升级 4 次降到 0。Kimi 短窗口截断子图,被回退拦住,不再按上一单交差。
六、四点能立刻做的建议
- 小任务试点。先拿一个值班场景,20 单就够看出编边和串单。
- 规则写进 SPEC。实体、跳数、红线、升级条件不要停在群公告。
- 多模型交叉验证。至少两个基座加一个短窗口,谁补边、谁丢图,对照表上见。
- 敏感数据私有化。许可证号和坐标不出域,离线部署比把真实库塞进公有聊天窗口更合适。
GraphRAG 不是把知识库换成图数据库就结束了。它要约束的是:哪些实体能进值班单、边能走几跳、对不齐时该升级还是该闭嘴。把这些写进 SPEC,再用 MonkeyCode 的云端环境和多模型对照跑一遍,比在群里改三天提示词更接近能上线的东西。