项目研判
Overview
输入一个项目清单 Excel,输出逐项目研判结论 Excel。研判维度为两条:建设内容是否合理、资金来源渠道是否合规可行。证据来源三路并查:ima 个人知识库、ima 订阅知识库、网络检索,且以项目所在省份政策口径为准。每一条结论必须标注来源。
案例池不固定:每次研判前必须通过 ima 个人库、ima 订阅库、网络检索重新填充案例池 cases.json,再传入引擎。内置案例仅作兜底参考,不作为正式结论依据。
工作流总览
- 提取数据:openpyxl 读 xlsx 全部 sheet,定位主数据表,导出为 JSON
- 收集证据(三路并查,每次重新检索):
2a. ima 个人库 + ima 订阅库检索政策与案例
2b. 网络检索政策与案例(优先项目所在省份)
2c. 填充案例池 cases.json(17 个 key 全覆盖) - 生成研判:运行研判引擎,传入 cases.json,逐项目输出(判定、建议、案例、缺口)
- 写出结果:原表追加建议列,可选生成精简三档分级文件
- 汇报:结论摘要 + 来源清单
Step 1 提取数据
- 用 openpyxl 读入,
data_only=False保留公式与格式信息 - 定位主数据 sheet(表名常含日期,如"5.21"),遍历识别:
- 表头行:含"序号""项目名称""计划总投资""资金来源"
- 资金来源 10 渠道列:中央预算内、中央财政、超长期特别国债、银行贷款、专项债、以工代赈、对口支援、企业资金、社会资金、其他
- 项目行:序号列为数字;部门分组行为文本;合计行序号列为"合计"或含 SUM 公式
- 导出全表为 JSON(
projects_raw.json),供引擎消费。注意序号在各部门内重新编号,研判结果必须以行索引(Excel 行号-1)为 key,切勿以序号匹配
Step 2 收集证据(三路并查,每次重新检索,必须标注来源)
2a. ima 知识库检索
- 调
get_knowledge_base_list列出全部库,区分个人库与订阅库 - 对每个相关库调
search_knowledge,查询词覆盖:超长期特别国债两重两新投向、中央预算内投资专项管理办法、专项债申报指南、以工代赈管理办法、项目省份简称+专项资金政策、项目省份简称+近两年获批项目案例 - 大结果自动存盘:检索返回超过 token 上限时,结果会保存为本地 txt 文件,用 Python 遍历 JSON 提取 title/introduction/highlight_content 摘要,不要全量读入
- 订阅库可能分主题(如"工程咨询""超长期特别国债项目""政策档案馆"),逐个检索
- ima 检索到的案例同样入案例池,标注(来源:ima知识库《库名》)
2b. 网络检索
- WebSearch 优先检索项目所在省份:省财政厅专项债发行公告、省审计厅年度审计报告(含"两重"国债金额)、省政府/发改委政策文件、项目所在州/县政府工作报告与项目公示、省内近两年获批案例
- 关键事实类(案例金额、限额、通道)再核实 1-2 个信源
- 每条结论标注来源,格式:机构+文件+年份,如(来源:四川省财政厅2025年专项债发行公告)
2c. 填充案例池 cases.json(必做,不跳过)
每次研判必须执行,不得沿用上次会话或内置案例:
- 生成模板:
python verdict_engine.py --template,产出cases_template.json - 用 Step 2a/2b 检索结果逐 key 填充,17 个 key 全量覆盖:
-yigong以工代赈本省合规案例(金额+劳务报酬占比)
-yigong_fail以工代赈超限反例(单项目超 1000 万的失败/无法获批情形)
-pipe_guozhai本省"两重"管网/防洪获超长期国债案例
-flood_guozhai本省防洪/水利获超长期国债案例
-bingfang病房改造超长期国债支持案例
-rail本省铁路/轨道交通案例
-highway本省高速/国省道案例
-wenlv_ysn本省文旅中央预算内案例(或同区域)
-zhuanxiang本省专项债发行规模+县案例
-guozhai_sc本省"两重"国债总盘子
-dizhen/dizhen2地热/温泉经营性项目案例
-xinneng新能源"两新"设备更新案例
-jiaoyu教育项目中央预算内/国债案例
-shengtai生态类中央预算内/国债案例
-nongye涉农专项债/国债案例
-chengxiang城市更新/城中村专项债案例
- 各 key 对应行业映射见references/policy-limits.md第六节 - 某 key 确实检索不到本省案例:填"本省案例未检索到"占位,不得用内置或外省案例冒充;引擎会回退内置兜底并告警,汇报时向用户说明该渠道案例缺口
- 保存为
cases.json,每条案例格式:项目名称+金额+渠道+年份+(来源:机构/文件),供引擎 --cases 传入
外省政策同效性判断
- 外省案例仅作申报方法参考,方法与技巧具备同效性
- 金额额度、补助比例按本省口径校验,不具备同效性
- 民族地区/藏区/老少边穷地区补助按西部上限执行,需查本省实施细则
Step 3 运行研判引擎
脚本:scripts/verdict_engine.py(用户级 ~/.workbuddy/skills/yanpan-skill/scripts/verdict_engine.py)
- 输入:
projects_raw.json+--cases cases.json - 输出:results json,key 为行索引,value 为 [verdict, advice, cases, gap]
- 判定档位:合理 / 基本合理 / 需论证 / 部分合理 / 不合理 / 资金缺失 / 数据不完整
- 政策限额与部门渠道映射在脚本头部 CONFIG,按项目省份修正限额(见 references/policy-limits.md,运行前先读)
运行方式:
python verdict_engine.py projects_raw.json results.json --cases cases.json
启动输出检查:
- [OK] 案例池已加载 N 条(外部) 表示动态填充生效
- [WARN] cases.json 未覆盖 key:... 表示有案例缺口,回填后重跑,正式研判不允许带 WARN 输出
- [WARN] 未提供 --cases 表示没传案例池,判定仍可运行但案例列为内置兜底,不作为正式交付
Step 4 写出 xlsx
脚本:scripts/write_output.py
- 模式 A 追加列:原表最后一个数据列之后新增"研判建议"列,逐项目写入【判定】+建议+案例+缺口,表头写入主表头行,自动换行、顶部对齐、设置列宽与估算行高
- 模式 B 精简分级:去原底色,保留 序号/项目名称/建设内容/投资金额/原资金来源/研判等级/研判信息 列,三档整行底色:完全可以(绿 C6EFCE)、需要调整(黄 FFEB9C)、无法满足(红 FFC7CE)
- 档位映射:合理→完全可以;基本合理/部分合理/需论证→需要调整;不合理/资金缺失/数据不完整→无法满足
- 可配置剔除纯企业资金/社会资金项目行(其他 8 渠道全 0)
- 生成新文件,不覆盖原件;保存到工作区 output 目录
- 完成后用 present_files 呈现
汇报规范
- 判定分布统计表(各档数量)
- 系统性问题按金额排序列出(如某部门资金全填中央预算内、以工代赈超限等)
- 案例池填充情况:17 个 key 检索到 N 个本省案例,缺口 X 个(列出缺口 key),说明缺口原因
- 来源清单:ima 库名 + 网络信源(机构/文件/年份)
- 所有检索结论必须标注来源,不标来源的推断需注明为"基于政策逻辑的推断"
注意事项
- 案例池必须每次动态检索填充:ima 个人库、ima 订阅库、网络三路都查,优先本省近两年案例;检索结果与上次研判不同属正常,以本次检索为准
- 辩证看待信息源:官方公示口径与实际下达可能有时滞;省政策与本省执行细则可能有差异;县级财政可负担性要与本级收入支出对比(如本级收入几亿元却列几十亿中央资金,需提示风险)
- 以工代赈:单项目中央资金 554-1000 万、劳务报酬占比≥30%,超额项目判不合理
- 文旅中央预算内:补助比例≤60%、单项目 0.5-3 亿
- 专项债:需收益自平衡,纯公益无收益不得包装专项债
- 交通:高速公路/国省道不得统填"中央预算内",应按车购税、省级资本金、专项债、社会资本拆分
- 运营规则:研判结论是建议不是裁决,保留"需论证"档位给证据不足项目