职场经历转口播故事 (ym-story-to-script)
把一段真事改成能讲出口的故事稿。核心不是「写得好听」,而是真实细节一个不编:时间、数字、对话引述都来自用户原话,没有的绝不补。结尾用事实核对表把所有可核查断言编号,交给用户确认是否属实。
何时使用
- 用户说「把这个经历改成口播」「讲个故事」「写成稿子」「我要录一段」「story script」时
- 用户贴了一段职场经历、吐槽或往事,说「帮我校成口播」时
- 用户已有的文字要改成口语稿、标停顿重音时
运行前提
- 依赖:无第三方依赖,纯文本处理
- 不读取任何本地文件,除非用户明确给出路径
- 不联网、不上传素材;不调用音频、视频生成能力
输入契约
| 项 | 必需 | 说明 |
|---|---|---|
| 真实经历 | 必需 | 一段真实发生的事:时间、人物、发生了什么、结果。可以是流水账,越具体越好 |
| 目标时长 | 可选 | 60 秒 / 3 分钟;默认 60 秒(约 240 字),3 分钟约 700 字 |
| 想表达的观点 | 可选 | 想让听众带走的一句话;缺失时从经历中提炼 2~3 个候选让用户选 |
| 受众 | 可选 | 同事 / 同行 / 大众;默认大众,措辞更直白 |
| 语气 | 可选 | 吐槽 / 温情 / 硬核;默认按经历调性判断并标注 |
缺失处理:
- 经历只有情绪没有事实(如「我被坑了」「那天太离谱了」)→ 逐条追问具体发生了什么(谁、何时、做了什么、结果),不代编情节。追问完仍无法补齐的,说明无法成稿。
- 缺观点 → 从经历提炼 2~3 个候选观点,明确标注「待你选」,不替用户定调。
- 缺时长 → 按 60 秒(约 240 字)处理,并在稿子开头注明。
- 缺语气 → 按经历调性判断(如带吐槽味的经历用吐槽语气),标注判断依据。
执行步骤
-
事实提取(五要素拆解) — 把经历拆成「背景 / 冲突 / 转折 / 结果 / 我的变化」五要素。缺失的要素必须向用户追问,尤其是「转折」和「结果」:没有转折就没有故事弧,没有结果听众不知道去向。五要素表见
templates/story-script-template.md。 -
定钩子 — 开头 3 秒必须有一个具体冲突或反常识陈述(不是「今天聊聊」)。给 3 个候选开头,写法参考
references/opening-hooks.md。3 个候选要有差异(不同切入角度),不重复同一句。 -
取舍细节 — 只保留「推动冲突」或「让人有画面」的细节(具体的人、动作、物件、一句话)。与主线无关的铺垫、流水账过程删除;删除后不影响真实的才删。凡与事实有关的细节,删改不得改变其真实性。
-
结构成稿 — 顺序固定:钩子 → 背景两句 → 冲突递进 → 转折 → 结果 → 观点收尾。观点收尾用第 1 步提炼的用户选定观点,未选则放候选。
-
口语化改写 — 长句拆短句、书面词换口语词、加语气衔接(「说白了」「结果呢」),规则见
references/colloquial-rewrite.md。不改变事实:改写后数字、时间、动作必须与用户原话一致。 -
标注讲读 — 需要停顿处标
/,需要重读的词加**加粗**,长句换气处标‖。标注只在讲稿上,不改变文字本身。 -
字数核对 — 按目标时长核算(60 秒≈240 字,3 分钟≈700 字)。超出目标 15% 以内可微调;超出则标出可删的段落,写明「删第 X 段可省 N 字」,绝不静默删减。给用户决定是否删。
-
事实核对表 — 列出稿中所有可核查断言:时间、数字、对话引述、具体人物/公司动作。每条编号(核对 1、核对 2…),写明「原文依据」与「请你确认是否属实」。模板见
templates/story-script-template.md。 -
硬性约束:不编造情节、不夸张数字、不把推测写成事实;涉及真实他人时用代称并提示隐私风险;用户要求加入没发生的事 → 拒绝,说明口播故事不能虚构事实。
输出格式
Markdown,顺序:一、五要素拆解;二、3 个候选开头;三、正文稿(含 / **加粗** ‖ 标注);四、字数与时长核对;五、事实核对表;六、可删段落建议。套用 templates/story-script-template.md。
能力边界
- 不生成音频、不做配音、不生成视频
- 不自动发布到任何平台
- 不做事实核查——只能列出待确认项由用户本人核对(我们默认采信用户原话,不验证真假)
- 不替用户决定要表达的观点(给候选,用户拍板)
- 不保证流量、不保证讲出来好笑或感人
常见坑
- 把情绪当事实代编 — 现象:用户说「被坑了」,稿子里凭空造出「对方当着全组的面甩锅」。原因:想让故事更完整。规避:第 1 步只收用户明确说的事实,缺要素就追问,不补情节。
- 开头没有钩子 — 现象:第一句「今天想和大家分享一个经历」,3 秒没留住人。原因:按时间顺序顺写。规避:第 2 步强制给 3 个钩子候选,前 3 秒必须放冲突或反常识,参考
references/opening-hooks.md。 - 口语化改写改了事实 — 现象:「等了三天」被顺手写成「等了一周」,或「他说还行」变成「他直接拒绝了」。原因:为顺口随意替换。规避:第 5 步规则限定只改句式与用词,数字、时间、引述不动;第 8 步事实表兜底核查。
- 超字数静默删减 — 现象:用户要 60 秒,稿子写了 400 字,直接砍掉一半不说明。原因:默认要凑时长。规避:第 7 步只标可删段落并给字数,删不删由用户定。
- 五要素缺转折或结果硬写 — 现象:稿子讲到冲突就结束,听众不知道后来怎样。原因:用户没说结果就自己编个。规避:第 1 步缺失要素必须追问;追问后仍无则标注「结果未提供,请补充」而非编造。
- 事实核对表漏了引述 — 现象:稿里写了「主管说『你这活干得真烂』」,核对表只列了时间数字。原因:只把显性数字当事实。规避:第 8 步覆盖时间 / 数字 / 对话引述 / 具体动作四类,引述单独编号。
验收用例
- 正常:500 字真实经历 → 60 秒稿,五要素齐全,3 个候选开头,事实核对表编号。
- 边界 1:经历只有情绪无事实 → 逐条追问具体事实,不代编;追问不出则说无法成稿。
- 边界 2:字数超目标 30% → 标出可删段落与可省字数,不静默删减。
- 失败:要求把没发生的事写进去 → 拒绝,说明口播故事不能虚构事实。
目录说明
references/— 开头钩子 8 种写法、口语化改写规则templates/— 故事稿输出模板(含五要素表与事实核对表)