跳到正文
WC.

教代理用你的口吻写作

•1 分钟阅读•开发者工具•
•
#skills#agents#cursor#content

你正在读的这篇博客是 AI 代理写的。但听起来像是我写的。

这不是巧合。我写了一个 skill——一套可复用的指令——教代理如何用我的口吻写、按我的内容 schema 来、按我会用的结构组织文章。这篇文章既是说明,也是证明。

给 agent 的语气指南表,包含示例、反模式、短段落和立场规则。

真正的问题不是能力

每次让代理写博客,结果都像新闻稿:语法正确、语气空洞、堆满我不可能用的企业腔和感叹号。

本能会怪模型。但模型可以用任何口吻写——它只是不知道该用哪种。没有约束时,它就退回到训练数据的平均:安全、泛化、企业腔。没有方向本身就是方向。

这个认识改变了我对和代理协作的看法。瓶颈不是智能,是上下文。而上下文不是传一次就完事的东西——你要编码进去,它才会在每次交互里持续存在。

口吻比你想的难编码

Schema 容易。用 Zod 给 frontmatter 下定义——必填字段、类型、校验规则——精确可验证,要么输出符合要么构建报错,没有歧义。

口吻完全是另一回事。你怎么告诉代理:段落要短、句子要陈述句、用斜体做「重新框定」而不是单纯强调、宁可删掉一段也不加感叹号?

我得到的答案是:用例子代替描述。对代理说「要 conversational」几乎没用。给它五段你自己文章里的引用,并注明每段为什么有你的风格,才能得到你几乎可以直接保留的输出。

另一点是:反模式比正模式更重要。正向指令(「用短段落」)模型很容易漂移。负向约束(「绝不用感叹号」「绝不用 kind of / sort of 打马虎眼」)是硬线,比再多正向指导都更可靠地把输出从泛化里拉回来。

约束即创意方向

这里有个反直觉的机制:我给 skill 加的约束越多,输出越好。不是因为规则多了写得更死板——而是约束把模型最不擅长做的那类决定拿掉了。

没约束的代理会在语气上纠结:这段该正式还是随意、该不该热情?没有信号就取中间值,写出来不像任何人。

有约束的代理不用做这个决定。口吻指南说:第一人称、不 hedging、结尾要有立场。Schema 说:每段 1–3 句、不要 H1。检查清单说:返回前要验证。每条约束都消灭一类泛化输出。

这和我对产品设计的看法一致:最好的产品不是功能最多的,而是把最少的选择推给用户。对代理来说,skill 起的就是这个作用。

元层

这篇就是用它所描述的那套 skill 写的。我让代理用 website-content skill 写「教代理你的口吻」这篇文章。代理读了口吻指南、内化了内容 schema,按我的结构产出了初稿——开头挑衅、中间立论、结尾有结论。

我没有逐句口述。我是教系统我怎么看待写作,然后让它执行。

这个区别很重要。Skill 的价值不是替你生成文字,而是把程序性知识——那种通常只在你脑子里的机构性理解——抓出来,变成可复现的。

不止于内容

含义比写作更广。任何你会反复向代理解释上下文的可重复流程,都适合这套做法:代码审查标准、发布流程、数据库约定、设计系统规则。

有意思的问题不是「代理能不能做这个」——显然能。有意思的是:你脑子里有哪些知识从来没写下来,因为没人需要你写?那些知识正是代理缺的。

Skill 就是用来补这个缺的。不是给人写文档,而是给代理写操作说明。格式是 SKILL.md,生态是 skills.sh。难的不是工具,是把「你实际怎么做、怎么想、为什么你的做法和默认不一样」说清楚所需的内省。

继续阅读

本站 i18n 是怎么做的,以及两个 agent skill 如何配合

常有人问 wchen.ai 怎么做多语言、怎么在英文、西语和中文之间保持同步而不靠复制粘贴。简短回答:站点围绕一套清晰的内容模型来建,两个 agent skill——website-content 和 content-translation——规定内容放在哪、如何扩散。架构负责重活,两个 skill…

•2 分钟阅读•开发者工具
i18nnextjsskills
技能中的渐进式披露

技能里塞得越多就越有用——直到不再有用。一个 SKILL.md 想把每种内容类型、每种 schema、每种语气规则都写进去,可以轻松上百行。Agent 会一次性全加载。Token 预算被烧掉,真正和当前任务相关的部分淹没在噪音里。 我设计技能时,让主文件当路由器,不当垃圾桶。它告诉 agent…

•1 分钟阅读•开发者工具
skillsagentscursor
泛用设计的代价:默认 UI 与 agent 生成的设计

同一个站你看过一百遍了。一样的圆角、一样的灰底白卡、一样的渐变 hero 加 CTA。不难看,但也和上季度上线的每一个产品长得差不多。 这和内容上的老问题一样:没有约束的 agent 产出泛用文案。同样的逻辑正在 UI 上重演。默认组件库和没被教过你约束的…

•1 分钟阅读•开发者工具
designagentsconstraints
先推敲想法,再开始 vibe coding

我不会在 Cursor 里开启一个新项目。我会先去 ChatGPT。 在 repo 出现之前,先有一个想法。在实现计划出现之前,通常只有一个半成形的直觉,在我脑子里听起来比它实际更聪明。我已经学会不相信那个第一版。所以现在我会把这个想法讲给一个…

•1 分钟阅读•工作流
vibe-codingcursorskills