name: writing-beats description: "写作的收敛阶段:把原始素材组织为叙事节拍的旅程,在节拍依赖某个术语之前先建立读者的理解。" disable-model-invocation: true
按叙事动作选择文章的下一步
一个 beat 是一次叙事推进:交代场景、提出观点、落下例子或改变角度,长度由这一动作决定。
还不清楚 Skill、Agent、安装和调用?先读 从零开始的6节入门课。
作者将它放在 in-progress,未作为稳定插件内容推广。先理解原理,实际使用前核实版本和依赖。
在关系图中查看 writing-beats 与其他技能的关联 →
先把必要的概念讲清楚
这里把文章看作一次次有目的的叙事推进。你每次选择下一步,让读者沿着已经理解的概念前进,而不是先固定整篇大纲。
下面是老师补充的入门说明;原作者的要求保留在中英对照正文中。所有例子均为帮助理解而构造的教学情境。
grounding|先把读者需要的概念讲明白
在这些写作 skill 中,grounding 指读者已理解某概念,后文才能依赖它。先解释测试接入点,再说高层入口能减少维护,读者才跟得上。这里不是检索系统中“用来源约束事实”的另一个常见含义,同词要按上下文理解。
beat / fragment|叙事推进与素材片段
fragment 是可能用于文章的素材,允许还不完整。beat 是成文中完成一次推进的小段,例如交代一次失败、提出一个认识或展示一个例子。两者不是按字数区分:素材尚未承担文章顺序中的职责,节拍已经承担。
读原文,理解每一步为什么这样做
左右内容按小节对应;窄屏先中文、后英文。两种语言均完整展示,对应讲解紧接在小节之后。译文传达原文要求;老师讲解补充概念、原因、例子与适用边界。
name: writing-beats description: Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it. disable-model-invocation: true
<what-to-do>
用户提供或将提供一份 Markdown 素材。这一步进入成文:探索已完成,素材范围确定。选择一条阅读路径,从素材中填入每个推进单元。
用户未指定文章保存位置时,问一次并记住。
随后像逐步选择故事路线一样推进:
- 确定读者已有知识。 写正文前,与用户说明受众一开始就懂哪些概念。其他概念必须先在某个单元里讲明白,后面的单元才可依赖它。
- 从素材中写 2—3 个不同开头。每个只能依赖已明确的概念,并说明会新建立哪些概念。先展示供用户选择,不立即写入文章。用户选定后,简要展示这个选择会打开哪些后续方向。
- 只把选中的那个单元写入文章。它可以是一句话,也可以几段,以完成这个推进动作所需为准。写到这里先停。
- 重新读磁盘中的文章,再提供 2—3 个下一单元的候选方向。每个都必须从当前已理解的概念出发,并说明新引入什么。
- 重复选择和写入,直到文章自然结束。
</what-to-do>
<supporting-info>
<what-to-do>
The user has passed (or will pass) a markdown file of raw material. This is exploit: the exploring is done, the pile is fixed. Commit to a path through it and mine the pile to fill each beat.
If the user did not say where to save the article, ask once and remember the path.
Then run a beat-by-beat journey, choose-your-own-adventure style:
- Establish the prerequisites. Before any beats, settle with the user what the audience already knows walking in: the concepts that are grounded from the start. Everything else must be grounded by a beat before a later beat can use it. See Grounding.
- Write 2–3 candidate starting beats, drawn from the raw material. Each is a different entry point into the article. Each may only lean on grounded concepts; note what new concepts each one grounds. Show the user the beats before writing to the article file. The user picks one. Preview what beats that pick unlocks, as if the user is seeing a little way down the path.
- Once the user picks a starting beat, write only that beat to the article file. A beat may be one sentence or several paragraphs, whatever that beat naturally is. Stop there.
- Re-read the article file from disk. Then offer 2–3 candidate next beats: different directions the journey could pivot to from where the article now stands. Each must be reachable from the current grounded set; note what each one grounds.
- Loop steps 3–5 until the article reaches a natural end.
</what-to-do>
<supporting-info>
选择开头,也是在选择后面哪些路径可走
先确定受众已经知道什么,然后给出 2–3 个不同起始节拍。一个节拍可能交代场景、落下观点或提出问题;它只能依赖读者已经理解的概念。
例如先讲“我看见 AI 报完成,却无法验证”,就能自然引出验收证据;先解释工作流图,则要求读者已了解任务、状态和依赖。二者适合的读者起点不同。
选择某个节拍后只写它,不抢先写后面。这样用户可以根据实际读感调整路径,而不是被一大段成稿推着接受。
先建立理解基础
一个概念必须先被读者理解,后文才能依赖它。理解可能来自读者原本所知,也可能来自文章前面的解释。突然使用尚未建立的概念,会让读者掉队。
这里关注概念,而不只是术语。即使全文没有生僻词,也可能偷偷依赖读者不具备的知识。概念有专门名称时,应同时说明意思与名称。
两种来源分别是:开头之前就约定受众具备的前置知识;在某个正文单元中首次解释,此后可继续使用的新知识。
每个单元都应清楚知道自己依赖哪些已有概念、又建立哪些新概念,并持续更新这个清单。
这决定下一步哪些方向可选。例如某个单元解释了 X,后面依赖 X 的段落才有条件出现。提供候选时说明它会建立什么,用户就能看见不同路径会带向哪里。
关键取舍是:哪些要求读者事先知道,哪些由文章解释。前置要求过多会把读者挡在外面;开头定义过多又会淹没主题。与用户确定受众,并在遇到缺基础的精彩候选时重新判断:先增加必要解释,或者调整明确的读者前提。
Grounding
Every concept has to be grounded before a beat can lean on it: the audience either walked in knowing it or met it in an earlier beat. A beat that reaches for an ungrounded concept loses the reader; that is the one move the journey can't make. The unit is the concept, not the word for it: a beat can lean on an idea the reader lacks even with no jargon in sight. Where a concept has a name (a term), grounding it means landing the idea and the term together.
A concept gets grounded one of two ways:
- Prerequisite: grounded before the first beat. The audience brings it. Fixed at the start.
- Introduced: a beat establishes it, and from then on it's grounded for every later beat.
So each beat does two jobs: it requires concepts that are already grounded, and it grounds new ones. Keep a running list of what's grounded so far, and update it each time a beat lands.
This is what shapes the choose-your-own-adventure. A candidate beat is only reachable if everything it requires is already grounded; picking a beat that grounds concept X unlocks every beat that was waiting on X. When you offer next beats, they must all be reachable from the current grounded set, and say what each one grounds, so the user can see which paths it opens.
The big lever is what you make a prerequisite versus what you ground inside the piece. Demand too much up front and you shut out readers who don't have it; ground too much inside and the early beats drown in definitions. Settle this with the user when you establish prerequisites, and revisit it whenever a tempting beat turns out to require a concept nothing has grounded yet: the fix is either a grounding beat before it, or promoting the concept to a prerequisite.
新概念会解锁后续叙事
当一段已经说明“测试接入点”是从哪里操作和观察系统,后面才可以比较入口高低。还没解释就用“高层 seam”推进,会让读者丢失推理链。
每个候选节拍说明需要哪些已知概念、建立哪些新概念。若想写的一段缺少基础,就先加入解释段,或与用户确认它是否属于读者先备知识。
不能仅靠换成中文词就认为概念已经建立。真正判断标准是读者能否用具体场景解释。
这篇直接解释了为什么之前的译文会让你“似懂非懂”
后文使用了读者尚未理解的概念,就是缺少理解基础。 这与词语是否短、是否中文无关。
例如一开始就说“工单自包含,所以清空上下文”,读者若不知道工单需要包含什么,也不知道上下文与文件的区别,就无法理解因果。
可以先用收藏工单说明目标、依赖、资料引用和验收条件;再说明代码和文档已经保存,而聊天只是当前工作材料;之后才说可以清空上一段聊天。每一步建立了下一步需要的概念。
beat 也不是必须一句话。解释“自包含”的单元可能需要定义、坏例子和好例子,几段合起来才完成一个教学动作。
作者的逐步选路线适合共同写作。当前你已明确希望完整教材,我应自行完成必要编写,不让你为每个段落反复选方案。需要遵循的是阅读顺序与理解基础,而不是机械复制所有交互次数。
什么是 beat
beat 是阅读过程中一次推进动作:设定场景、提出观点、发问、补充旁白或转换角度。完成这一件事后停下,为下一步留下位置。
它不是固定长度。可能一句话就够,如“然后,三周什么也没有发生”;需要背景时可以是一小段;完整经历、论证或例子也可以占几段。
如果一个所谓单元需要五段和三个小标题,可能其实把两个动作粘在一起,应拆开。
What is a beat
A beat is one move in the journey. It does one thing: sets a scene, lands a point, asks a question, drops an aside, twists the angle. Then it stops, leaving the reader at a place where the next beat can pivot.
A beat is sized by what it needs:
- A single sentence if that's all the move is ("And then nothing happened for three weeks.").
- A short paragraph if the move needs setup.
- Multiple paragraphs if the beat is a self-contained vignette, argument, or example.
If a "beat" needs five paragraphs and three subheadings, it's not a beat; it's two beats glued together. Split it.
节拍按承担的作用划分,不按字数划分
“接下来三周,什么也没发生。”一句就可能完成一次转折;一个有铺垫的经历可能需要数段。但若同时解释术语、比较方案、总结观点,往往应拆成多个推进。
素材可以重组进入节拍,文章在旅程完成时结束,不必把所有素材用光。剩余片段可以保留给另一篇。
用户重写前面内容后,后续可能需要改变,因为读者现在知道的背景也变了。每次重读已有文章,是对这条实际阅读路径负责。
从素材中取用
素材像采石场。可以改述、拆分、重组或引用,用来支持当前单元,不必照原顺序抄写。
Pulling from the pile
Pull material from the raw pile to populate each beat. You can paraphrase, split, recombine, or quote. The pile is a quarry.
怎样结束
文章在阅读路径完成时结束,不是素材用完才结束。剩下一些未采用片段很正常,也正是提前收集较多素材的价值。
Ending the journey
The article ends when the journey is complete, not when the pile is empty. Most piles will have leftover fragments that don't make it in. That is fine; that is the point of having more raw material than you need.
写作节奏
一次追加一个单元,不抢先写后面。每次写之前重新读文件,完整保留用户修改。如果用户大改前文,后续方向也应相应变化。
用户要求重写某单元,或回去尝试另一种第三段时,就只修改指定部分,保留其他内容。
</supporting-info>
Writing rhythm
- Append one beat at a time. Never write ahead.
- Re-read the article file from disk before every write. Preserve user edits absolutely.
- If the user edits a previous beat substantially, let it change what comes next.
- If the user says "rewrite that beat" or "go back and try a different beat 3", do it: edit in place, leave the rest alone.
</supporting-info>
先作答,再看参考思路
用自己的话说明:它解决什么问题,完成后会留下什么?
请各用一句话回答。若它只做规划或解释,不要把“已开发”“已部署”写成产物。
为什么剩下一半素材没用,也可能已经完成文章?
我已思考,查看参考思路
完整取决于读者是否理解本篇要表达的认识。把不服务主题的素材强塞进去,会损害论证和节奏。
原文中哪条要求在你的环境下可能不成立?
说出具体一句及其前提,例如工具不可用、资料缺失、已有项目约定冲突,或它只是作者偏好。把你的答案带回课堂,我们据此继续讨论。
把方法放进一个具体情境
教学案例:文章可以从失败现场开始,也可以从一个明确判断开始。若选失败现场,下一节拍可说明你怎样发现证据缺口;没必要立刻跳到所有 Agent 的架构设计。
边界与容易误读的地方
不同候选应代表真实叙事方向,不能只是同一句话换三个形容词。这个实验性技能仍要求尊重原材料事实。
讨论后再实践:先判断上述情境是否适用,再选择真实任务。现在无需安装、运行命令或修改现有项目。