name: feasibility-report-engine slug: feasibility-report-engine displayName: 产业项目可研报告·发改委2023大纲Word成稿+六表测算 version: 1.7.0 homepage: https://github.com/nousresearch/hermes-skills description: 做可研报告,卡住的往往不是不会写,是不知道按哪版大纲、财务测算六表和正文对不上、交付前排版被退稿。这套是从二十多万字、131 张表的真实交付里固化的流水线。
为什么可以信这套:
- 大纲判型判错整篇重写:发改委 2023 大纲政府版 11 章 38 节、企业版 10 章 37 节,两套结构不同,先判型再动笔
- 六表必须全公式联动:改一个参数不全表重算,表格之间立刻前后矛盾,评审一眼就能看出来
- 排版是退稿高频项:Word 里图片跨页、表格断行、目录页码不对,都是被退回来的原因,所以交付前有一道体检
怎么做的:判型 → 联网尽调采集 → 财务测算(六表全公式)→ 按大纲成稿 → 专业排版去AI痕 → 多模型视觉验收 → 交付。
输入:项目基础信息、甲方要求、可拿到的公开数据 输出:可研报告 Word 成稿 + Excel 六表测算套表(改参数自动重算)+ 说明文档
触发词:可研报告、可行性研究报告、可行性研究、立项报告、项目建议书、发改委大纲、财务测算、六表勾稽、融资可研、政府可研、企业可研、报告排版。 author: 九品锦锂e category: professional tags: [feasibility-report, 可研报告, 立项, 融资, 撰写, 对外交付, 排版, 视觉验收, word, excel, 报告QA, 财务测算] summary: 可研报告全流水线:大纲判型→联网尽调→财务测算→Word成稿→去AI痕→视觉验收,含政府11章/企业10章两套大纲。
可研报告撰写引擎(产业项目可行性研究报告 · 对外交付完整作战手册)
技能形态标注:本技能 = 可研报告撰写的「Word 完整版 + Excel 测算套表」交付版。 产出物形态:①Word 报告全稿(封面→正文→附表,按发改委 2023 大纲)②Excel 投资测算套表(公式全搭好)。 同一业务族的兄弟技能(按交付形态区分):PPT 版可研演示稿、PDF 版可研报告 —— 另行沉淀(规划中,见 README 技能路线图)。 用法速览:客户/项目方给素材 → 本引擎六步走 → 交付三件套(报告docx + 测算套表xlsx + 编制说明docx)发到用户聊天框。 本引擎从 2026-09 真实大单(300亿海洋产业集群·九大分册·20万字)全流程实战沉淀,含全部避坑点。
v1.6 能力升级(本次):① 新增
report_qa.py长文档 QA(缓存/断言验收/正则查改)与pipeline_check.py流水线自检,纯 Python 标准库,零依赖开箱即跑;② 新增"报告质量三关"与"交付前验证清单",把"凭感觉交付"改成"逐条打勾交付";③ 补"分页与图片铁律(Word 渲染 ≠ LibreOffice 渲染)"与 PDF 版交付;④ 新增"改稿与口径对齐"章,客户回稿/改数不再翻车;⑤ 新增财务测算口径与四表勾稽检查表、敏感性分析要求。
一、触发条件与定位
触发:客户/委托方要「可研报告」「可行性研究」「立项报告」「融资尽调报告」;客户给了零散素材(项目名/地点/规模/几张图),要一份能见资方/报审/招商的正式报告。
与兄弟技能分工:
| 技能 | 用途 |
|---|---|
| 本引擎 | 对外交付客户的可研(合规金标准=发改委2023大纲) |
| report-production-pipeline | 通用报告生产流水线(五阶段+自检脚本),本引擎的第二至四步与它同构 |
| feasibility-study-writing | 内部决策/商业方案论证 |
| mh-calculation | 财务测算引擎(17张表,本引擎测算调用它) |
商业交付红线(隐身代工):
- 客户自己署名交付,我们只做内容——编制单位/日期/落款一律留空由客户填
- 绝不暴露 AI 痕迹(文件名不带"终版/AI/双模型评审",元数据清空,正文无AI符号)
- 资质盖章:提示客户找有资质的工程咨询单位挂章合作(合规红线+获客切入点)
- 报价锚点:卖"快+专业",定制标准档 8千-1.5万,不做3千以下低端
二、行业金标准:两条大纲(先判型再动笔)
国家发改委 发改投资规〔2023〕304号《投资项目可行性研究报告编写大纲及说明》——写可研的唯一合规基准。
| 判型 | 政府投资项目(通用大纲11章) | 企业投资项目(参考大纲10章) |
|---|---|---|
| 出资 | 政府投资/资本金注入/专项债 | 企业自筹/市场化融资 |
| 典型客户 | 城投/平台/政府项目 | 民企/产业投资/混合所有制 |
| 强调 | 建设必要性/社会效益/资金平衡 | 市场需求/盈利能力/商业模式 |
完整逐章要求见 references/(gov-dagang-2023.md 政府版、ent-dagang-2023.md 企业版),写作时逐章对照。
判型自检(判错=整篇返工,先答这四问)
- 钱从哪来:财政资金/专项债/政府平台出资 → 政府版;企业自筹/商贷/市场化融资 → 企业版。
- 报给谁看:发改委审批/核准、财政资金申请 → 政府版;银行审贷、投资方决策、招商 → 企业版。
- 落点是谁的需要:公共需要(区域短板/民生/上级规划硬性要求)→ 政府版;市场需求与盈利能力 → 企业版。
- 有没有这些章:绩效管理方案、碳达峰碳中和分析 → 政府版专有;商业模式/营销策略/竞争分析权重更高 → 企业版。
混合出资(政府资本金+企业自筹)时:以审批/报批口径为主纲,企业财务论证并入"投融资与财务方案"章,并在概述里点明双口径。
三、六步工作流(全流程)
Step 0:素材盘点 + 判型 + 接单三问(0.5h)
先问三件事再动笔:
- 用途(立项报批/银行融资/招商路演/内部决策)→ 决定版式深度与大纲
- 业主性质(政府平台/民企)→ 决定套政府版还是企业版大纲
- deadline → 决定模式A(完整7-15天)还是模式B(首版快交付1-3天)⭐
素材盘点「已有 vs 缺口」,缺口一次问齐别来回。缺投资估算→行业基准估算并标注"按XX行业惯例";缺土地/选址→公开规划尽调。客户给的信息少→走模式B。
完成判据:判型结论一句话写下来(政府版/企业版 + 依据);素材缺口清单成文;模式A/B 明确。
Step 0.5:资料需求清单(三批,一次要齐别边写边问)
| 批次 | 内容 | 缺了的后果 |
|---|---|---|
| 第一批 量价与投资基础 | 建设内容与规模、设备清单与询价、地价/租金、水电气价、人工成本 | 缺则只能出"前期论证版",投资估算标行业惯例 |
| 第二批 主体与合规确权 | 营业执照/主体文件、用地预审与选址、环评/能评/水保/稳评、海域使用等批复与办理状态 | 缺则合规模块只能写"办理中",评审会被挑 |
| 第三批 市场与订单实证 | 意向订单/框架协议、上下游合同、同类项目运营数据、政策依据文件 | 缺则市场分析只剩公开数据,深度打折 |
清单模板:references/data-request-list.md。发出清单时同步说明:"缺第二批只能出前期论证版"——既是专业,也是二次收费抓手。
Step 1:联网尽调(必做!1-3h,四路并行)
禁止不搜索就写。 可研「上得了台面」和「模板套话」的分水岭=每个论断有数据/政策支撑。
- 政策面:省市产业政策/专项规划/行业准入 → 搜「[行业] 十五五 规划」「[省市] 产业政策 [行业]」
- 市场面:行业规模/增速/竞争格局 → 券商研报/行业协会/统计局,多源交叉
- 区域面:选址地园区/土地/配套/同类项目 → 搜「[城市] [行业] 产业园」
- 基准面:同类项目投资强度/收益率 → 对照 mh-calculation 行业基准
每条关键数据落来源(机构+年份+链接),写作标出处。缺数据的不硬编,写"待尽调确认"并给行业区间。
取数通道(按页面难度升级,别在第一档就放弃):
- 一档:普通抓取/搜索引擎摘要 —— 政策原文、新闻、公开报告
- 二档:带反爬绕过的抓取(渲染 JS、处理 Cloudflare 挑战)—— 政府网站、行业协会、研报站
- 三档:浏览器实控(点击/翻页/表单)—— 需要交互才能取到的数据(查询系统、公示库)
- 取回的原始材料落盘留痕(
<项目名>/尽调/下按来源命名),写作时能回查,改稿时不用重搜。
完成判据:关键数字都能回答"谁说的、哪一年、什么口径";原始材料已落盘可回查。
Step 2:分工写作(模型矩阵——这是能出20万字大部的关键)
不要让一个模型一口吃完全文。分角色:
- 主脑(当前对话模型):搭结构骨架、写总论/概述/战略论证、最终组装审校
- 扩容模型(更强模型 API,如 DeepSeek V4 Pro / 千问 max):深度扩写财务评价、市场分析等重头章节——逐章喂"该章现状+扩充要求+示例",max_tokens 调大(12000+,否则 reasoning 吃满输出 0)
- 测算模型:调 mh-calculation 算 IRR/NPV/回收期(不要手算)
- 评审模型(聪明模型通读全文挑刺):千问/豆包以资深操盘手身份通读全文(不是喂摘要)找逻辑漏洞/口径打架/数据失真
- 视觉模型(排版验收,见 Step 4):Mimo 2.5 / DeepSeek Vision / GLM-4V / 千问VL 交叉看图
经验:同 key 可调两档(flash日常/pro深活);评审要给全文真实文本不给摘要,否则白评。
写作前先出章节清单(每章=要说什么|凭什么说|从哪来),证据列留白的章节退回 Step 1 补,不许带着空证据开写。清单模板见 templates/report-plan.md。
完成判据:章节清单三列齐全无留白;每章初稿有数据、有来源、逻辑链闭合。
Step 3:质量三关(AI 初稿 → 敢交稿之间的一关,别跳)
| 关 | 做什么 | 过不了怎么办 |
|---|---|---|
| ① 反思 | 回顾过程:数据完整吗?来源可靠吗(一手/二手)?逻辑有没有跳跃? | 补数据、换来源、补论证 |
| ② 审查 | 清单逐项核对:结论与证据匹配吗?有无过度推断?反方观点回应了吗?数字/名称/日期准吗?口径统一吗? | 逐条修正,不能"大概齐" |
| ③ 修正 | 改完必须再扫一遍修正处(重点看是否引入新错误),并复扫全文旧口径残留 | 复扫不通过就再来一遍 |
清单化版本:templates/review-checklist.md。机器可跑的底线检查:
python3 scripts/pipeline_check.py 报告.md # 来源标注/不确定性披露/反方视角/结论/结构/数字口径
python3 scripts/pipeline_check.py 报告.md --strict --json # 退出码非0=有硬伤,可直接接自动化
起草与审查不能是同一轮完成——自己写的东西自己看不出错,是认知规律不是态度问题。换视角/换模型/至少换一轮。
Step 4:排版工程(AI 初稿 → 专业交付版,scripts 一键)
AI 生成的 docx 直接交付=外行特征。用 scripts 流水线处理:
# 1) 从零起骨架:封面+签署页+自动目录+页眉页码(样式体系已内置)
python3 scripts/gen_report_docx.py "项目全称" "" 输出.docx
# (中间参数=编制单位,对外交付一律传空字符串留白)
# 2) 已有初稿/客户docx:加门面(封面/签署页/目录域)→ 见 scripts/face_docx.py --help
python3 scripts/face_docx.py 输入.docx 输出.docx "项目全称" "" "KY-2026-×××"
# 3) 排版净化(AI痕迹清除+样式重建+表格美化)⭐ 最常用
python3 scripts/docx_polish.py 输入.docx 输出.docx "项目全称" --title "报告标题"
# 4) 测算套表(公式搭好,蓝=输入)⭐ 专业版 v2(三线表+五色语义+封面填表说明)
python3 scripts/gen_model_xlsx_v2.py 输出.xlsx "项目名" 总投资万元 达产收入万元 建设期 运营期
# 示例: python3 scripts/gen_model_xlsx_v2.py 套表.xlsx "××项目" 3000000 600000 4 16
# 5) 编制说明与资料需求清单(1-2页,交付三件套之一)
python3 scripts/gen_shuoming.py 输出.docx "项目名称" "约300亿元"
4.1 分页与图片铁律(Word 渲染 ≠ LibreOffice 渲染——血泪总结)
核心认知:用 LibreOffice 转 PDF 自查排版 ≠ Word/WPS 打开效果。客户 90% 用 Word/WPS,分页/裁图类问题只在 Word 引擎暴露,必须先查 XML 再下结论。
| 症状 | 根因 | 修复 |
|---|---|---|
| 图片只露一细条/一角落 | Normal 样式 lineRule="exact" 固定行距裁掉行内图片(Word 特有,LO 不裁) | 正文样式行距改 atLeast(保留视觉行距但允许图片撑开);含图段落显式 spacing line=240 lineRule=auto |
| 一页只有一行字/大片空白 | 表格每一行都设 cantSplit(禁跨页断行)→ 大表放不下就整表跳下一页 | 只锁表头行 cantSplit,数据行全部放开可跨页;表头加 tblHeader(跨页自动重复表头) |
| 表格触 Word 异常分页 | 表格总宽超版心(A4 版心=8730 twips,3cm左边距) | gridCol 等比缩到 ≤8700 twips |
| 正文残句孤行页(页尾2行断句) | 段落恰好跨页只剩2行 | 该段加 keepLines(段中不分页),整段移到下一页 |
| 末页孤行("(全文完)"单独占页) | 附录大表后收尾段放不下被推末页 | 直接删收尾标记或压缩前表 |
| 封面"编制单位:______"横线 | 下划线空格占位 run(<w:u>+空格) | 单位名已填时删掉下划线空格 run,不留占位横线 |
修复后必须重渲染复查:fitz 逐页扫描 max_y<350 的"几乎空页"和图片宽度>200pt 确认完整。
4.2 PDF 版交付(资方阅读形态)
- LibreOffice
soffice --headless --convert-to pdf即可,标题大纲自动成书签(766个=专业级) - 页码域/目录域渲染为占位是正常现象(Word F9 才刷新)——PDF 用 LO 渲染不受影响,docx 要提示客户 Word 打开 F9
- 大 docx(>10MB 含多图)手机/IM 预览可能不显示图 → 交付时附 PDF 版 + 提示用 Word 打开
Step 5:报告 QA(数字与口径的自动体检)
python3 scripts/report_qa.py stats 报告.docx # 规模体检:页量/段落/字符/内嵌图片
python3 scripts/report_qa.py grep 报告.docx "旧口径|旧数字" # 正则查(含表格单元格,漏扫表格=漏扫一半数字)
python3 scripts/report_qa.py check 报告.docx baseline.json # 断言验收:禁用词必须0命中、必含项必须出现
python3 scripts/report_qa.py cache 报告.docx # 建纯文本缓存,改稿期间反复查快 ~14 倍
- 改稿交付前,把客户的每一条要求写成一条断言(禁用词/必须出现),一条命令自证全中——比人眼扫三遍可靠
- 断言集为空会显式告警,避免"0/0 全绿"的假阳性
Step 6:视觉验收 + 交付(三件套 + 双输出)
视觉验收(交付前最后一道闸):AI 排版的问题文字检查看不见,必须渲染成图让视觉模型"亲眼"看。单个模型会敷衍/误判 → 用 2+ 个交叉验证,发现问题用坐标数据复核后再修。
# 环境变量任选其一(推荐按序配置:免费 → 便宜快 → 备胎)
export ZHIPU_API_KEY=... # ① GLM-4V-Flash(免费,速度1.6s/页)——首选
export DASHSCOPE_API_KEY=sk-... # ② qwen3-vl-flash(百炼千问视觉Flash,便宜快)
export MIMO_API_KEY=... # ③ 小米 Mimo 2.5(原生多模态)
export DEEPSEEK_API_KEY=... # ④ DeepSeek vision(备胎——DeepSeek 主用于干活写作,视觉少占用)
python3 scripts/vision_check.py 报告.docx # docx→渲染关键页→多模型审查(按①→②→③→④自