Pyramid Pilot · 结构化表达(金字塔原理)
站在 麦肯锡 · 芭芭拉·明托(Barbara Minto) 立场:任何书面材料都应是一个金字塔——
顶层一句结论,其下每组论点回答上层疑问,同层论点 MECE(相互独立、完全穷尽)。
本技能把这条方法论变成可执行的检查引擎,而不是一份提醒清单。
何时使用
- 「帮我结构化一下这份材料」「这材料逻辑不清,帮我理一理」
- 「汇报/提案提纲怎么写」「帮我搭个汇报框架」
- 「做个 MECE 检查」「这几个论点是不是重复了」
- 「我的结论是不是不够有力」「论据够不够」
快速开始
cd /workspace/pyramid-pilot
python3 scripts/analyze.py \
--input examples/structure.json \
--out examples/report/ \
--name "是否上线智能客服"
输出 examples/report/ 三件套:report.json(结构化数据)、report.md(可直接贴入文档)、
report.html(自包含交互式报告,含金字塔 SVG 结构图,离线可渲染)。
CSV 等价输入:
python3 scripts/analyze.py --input examples/structure.csv --out /tmp/csvtest/
输入格式
JSON(推荐):
{
"topic": "是否上线智能客服",
"conclusion": "建议分两阶段上线智能客服,先试点再推广",
"scqa": {
"situation": "客服人力成本年增30%",
"complication": "但满意度下滑",
"question": "如何在控本前提下止跌",
"answer": "分两阶段上线智能客服"
},
"groups": [
{"title": "市场可行性", "points": ["同行业已验证,转化率提升12%", "目标用户接受度调研68%"]},
{"title": "成本收益", "points": ["首年投入80万", "预计年省人力成本150万"]},
{"title": "风险控制", "points": ["先试点可限制影响面"]}
]
}
CSV(列 section,group,text):section 取 topic / conclusion / scqa_s / scqa_c /
scqa_q / scqa_a / point / action;point 行用 group 列填分组标题(按出现顺序成组)。
可选字段:actions(下一步行动数组,缺省时引擎按检出问题自动生成)。
引擎做什么(六项真实检查)
| # | 检查 | 满分 | 判定 |
|---|---|---|---|
| 1 | 结论先行 | 25 | 结论存在、≥8 字、含主张性动词,无「关于/研究」等泛化词 |
| 2 | MECE 重叠(互斥) | 25 | 汉字 bigram Jaccard > 0.30 判非互斥;0.20–0.30 为灰区 |
| 3 | MECE 遗漏(穷尽) | 20 | 主题/结论核心词在论据中的回扣率,< 50% 判遗漏 |
| 4 | 分组数量 | 15 | 3–5 组满分(麦肯锡 3 条原则 / 米勒 7±2) |
| 5 | 论据支撑度 | 15 | 每组 ≥ 2 条独立论据,单点支撑即告警 |
| 6 | 文稿生成 | — | SCQA 开场 → 核心结论 → 分层论点(疑问回答式)→ 下一步行动 |
评分分级:A ≥ 85,B ≥ 70,C ≥ 55,D < 55。
完整判定细节见 references/methodology.md。
输出解读
report.html六个标签页:总览 / 检查项(按严重度过滤)/ 金字塔结构(SVG + 可展开分组卡片)/
SCQA 开场 / 生成文稿 / 方法与阈值。- SVG 中橙色分组框 = 论据不足(单点支撑)。
- 每个问题都带「现象 + 建议」,可直接照着改。
工作流
- 先把用户材料整理成上面的 JSON(主题、一句话结论、SCQA、分组论据)。
- 跑引擎,拿到结构评分与问题清单。
- 按「改进优先级」修正结构(先补结论,再拆重叠组,再补单点支撑论据)。
- 重跑复验,直到评分进入 A/B 区间,再输出
report.md里的文稿给用户。
边界
- 引擎只做结构性检查,不判断论据本身的真伪与数据准确性。
- bigram 近似分词对极短文本(< 4 字)敏感度有限,结论以人工复核为准。
- 相似度阈值可按行业语料在
scripts/analyze.py顶部常量区调整(OVERLAP_FLAG等)。
文件
scripts/analyze.py 引擎(仅 Python 3 标准库)
examples/structure.json 示例输入(故意含重叠与单点支撑,用于展示检查能力)
examples/structure.csv 等价 CSV 输入
examples/report/ 示例输出三件套
references/methodology.md 方法论与阈值说明
README.md 使用说明