当AI提示词进阶为/loop、/goal等原语,很多人误以为提示工程已死。本文从一位荷兰教授1987年的C语言教科书出发,用四条经典规则告诉你:提示词只是有了更大的词汇表,真正的功夫在于如何结构化地调用它们。
最近AI圈流行一套新原语:/loop、/goal、/batch、/routine。看起来像是提示词的终结,仿佛以后只需要敲几个斜杠命令就能搞定一切。但别急着欢呼——你仍然需要提示这个循环、提示那个目标、提示批次和例程。只是把步骤改了个名,前面加了个斜杠而已。
更关键的是,一旦你开始用/loop,一个糟糕的指令就可能让循环失控,或者让批次静默地烧掉你的上下文窗口,同一件事重复计算四十遍,最后用一个代价三倍的答案收场,却没带来任何额外的洞察。
我至今保留着一本Leen Ammeraal的《C语言程序与数据结构》(Wiley, 1987),那是我在哥伦比亚大学学软件工程时用的书。书里的四条规则,当年帮我写C代码,今天帮我写提示词:
这些规则当年是为计算资源稀缺的世界写的——每个循环都有可衡量的成本。听起来很熟悉?
/goal、/loop、/batch、/routine不是同一个技巧的四种名字,它们控制工作的不同部分,各有各的失败方式:
/goal定义方向,失败模式是歧义。如果目标没说清楚“好”是什么样,模型就会朝着“听起来成功”的方向跑偏。/loop定义重复,失败模式是无进展的运动。没有上限、没有停止条件,系统会不断抛光同一件东西直到Token耗尽。/batch定义范围,失败模式是无可见性的规模。一条弱指令不再只影响一个项目,它会走遍整个文件夹。/routine定义可复用性,失败模式是漂移。三周后输出行为变了,没人知道是改进了还是变种了。没有上限的循环是Token大出血。没有审计日志的例程是民间传说。
别急着在提示窗口里放Jinja2的大括号。先用自然语言把四条规则落实。
工作中有一些上下文是稳定的:拆分规则、史诗假设、目标用户、约束条件。把这些压缩成一份工作简报,只让循环关注需要处理的故事,而不是每次都重新发现一遍。
在要求模型进行深度评估之前,先检查故事是否包含一个可识别的人物、一个连贯的工作、一个类似成果的东西。序列从明显且廉价向微妙且昂贵移动:
大型史诗、长文档、大量源材料,很容易让模型每次需要一点东西就翻遍整个堆。在拆分、起草或修改之前,先让模型绘制地图:列目录、识别故事、标记依赖、记录未解决问题。
顺序比重复更重要。不要先格式化故事,再检查史诗本身是否连贯。不要打磨验收标准,基础工作还在争论。
一旦理解了四条规则,下一步仍不是堆Jinja2。而是教模型如何交替工作。
用自然语言写一个操作合同:
首先,确定史诗内的主要工作流、业务规则和依赖关系。
然后一次处理一个工作流。
对于每个工作流:1. 生成初始故事集;2. 应用拆分规则;3. 标记仍然太大或模糊的故事;4. 返回给我审核;5. 在得到批准前不继续。
这就是循环语言:让你和模型之间有一个清晰的运作契约。
很多工作流中,循环语言和自然语法规约已经足够。你可以在不添加一个花括号的情况下让关键控制可见。例如:
当提示词变成基础设施(比如你的团队依赖的/routine,或者要批量处理40个史诗时),你可以加入恰到好处的Jinja2。
关键是区分显示逻辑和执行逻辑:
一个执行循环的例子:
{% for pass_number in range(1, 4) %}
第{{ pass_number }}轮检查。
若无实质性变化则停止。
同一问题存活两轮则停止并询问。
{% endfor %}
一个完整模板将四条规则、循环语言和Jinja2结合成一个可审计的工作流。它一次性声明简报、按成本排序检查、用循环强制结构、在顶部注明关键路径、在底部输出审计日志。
对于一次性的提示,这套仪式有点过头。但一旦提示变成基础设施,经济就变了:花更多时间设计路线,少花时间在废墟里打着手电筒骂模型。
工具变了,物理定律没变。
你仍然需要为/goal定义目的地,为/loop设置上限,为/batch设定边界,为/routine留下证据。
四条规则、一点循环语言、适量Jinja2——这就是提示词在新语法时代的正确用法。
作者Dean Peters的产品经理提示词库中的loops目录包含本文所有示例。
免费获取企业 AI 成熟度诊断报告,发现转型机会
关注公众号

扫码关注,获取最新 AI 资讯
3 步完成企业诊断,获取专属转型建议
已有 200+ 企业完成诊断