李博!上次你跟我说的那个GitHub项目,我回去翻了一下,越看越觉得有意思。
哪个?我给你安利的东西太多了哈哈。
就那个把单一职责原则用在Prompt设计上的,叫什么Singulari-Tea Codex。
哦!那个项目,对对对。你居然真去看了,我以为你会嫌太学术。
得了吧,我虽然是产品经理,但SRP我还是知道的好吗。不过说实话,一开始我没想明白——写Prompt跟写代码有什么关系?
这就是这个项目最妙的地方。你想啊,我们平时写Prompt是不是就一大坨?世界观、角色设定、语气要求、逻辑约束,全塞一段话里。
对,我做产品的时候给模型写指令就是这样,恨不得把所有需求写成一篇小作文。
简单任务还好,但你有没有遇到过——Prompt越写越长,模型反而开始丢东西?
有有有!我之前做一个客服场景,指令写了快两千字,结果模型老是忘记情绪管理那部分的要求,气死我了。
这其实不是模型笨,是Transformer架构的固有问题。学术上叫Lost in the Middle——模型对长文本中间部分的注意力会稀释,首尾记得清楚,中间就糊了。
等会儿,你是说模型看长Prompt跟我们看长文章一样,中间走神?
本质上是的!自注意力机制的权重被摊薄了。你塞的约束越多,每条指令分到的注意力就越少。所以这个项目的思路是——既然一坨Prompt会让模型注意力稀释,那我就拆开。
拆成多少个模块啊?
数十个。每个模块只管一个叙事维度——比如一个模块专门管角色情感,一个管世界观物理规则,一个管对话风格,一个管冲突升级机制。
真的假的?!数十个模块全塞给模型,它不会更晕吗?
这就是关键了——它选了Gemini 2.5 Pro。一百万token的上下文窗口,你知道这意味着什么?大概相当于一本七十万字的长篇小说。
七十万字……一整本《三体》三部曲都塞得进去。
对比一下,GPT-4 Turbo才12.8万,Claude 3.5 Sonnet是20万。Gemini直接拉到一百万,量级差太多了。
所以大上下文窗口是硬件基础,但光塞得下不够吧?模型还得真能遵循这些指令。
你看,这就是你产品经理的直觉——没错,Gemini 2.5 Pro另一个优势就是指令遵循度特别强。数十个模块同时生效,模型得每条都认真执行,少一个都会崩。
那我有个问题啊——这些模块之间怎么配合?写代码的话模块之间有接口调用,Prompt又没有函数。
好问题。它其实是一种隐式通信——所有模块定义都在同一个上下文窗口里,模型自己做交叉推理和协调。
就像一个团队共享一块白板?
对!每个人在白板上写自己的规则,LLM作为执行者同时读所有内容。灵活性极高,但可靠性全靠模型自己撑。
这不就是把所有赌注压在模型能力上了嘛。
你说的没错,所以它才绑死Gemini 2.5 Pro啊。换个差点的模型,这套架构直接散架。
哎但我觉得这个思路真的可以迁移。你想,我做客服产品的时候,如果把意图识别、知识检索、回复生成、情绪管理拆成独立模块——
对对对,改情绪管理的时候不会影响知识检索的表现。这就是SRP的核心收益——稳定性。
还有可扩展性!想加个新功能直接插模块,不用把整个Prompt推翻重写。
你们产品经理最爱的需求变更,终于不用每次都重构了哈哈。
你这是在内涵我们吗?
没有没有,陈述事实而已。
行吧。不过说真的,我觉得这个项目最让我震撼的一点是——它代表Prompt工程已经从写一段话,变成设计一个架构了。
这是范式转变。以前大家研究的是措辞技巧、Few-shot示例、思维链推理,都是微观层面的优化。现在这个项目直接把视角拉到了宏观架构设计的高度。
而且它不依赖LangChain那些外部框架,纯靠Prompt自身的结构化来实现模块化,这点我觉得特别有探索价值。
嗯,它直接测试的是模型本身的能力天花板——不借助外部程序逻辑,光靠上下文理解能不能协调一个复杂系统。某种意义上,这是在给LLM做压力测试。
感觉随着模型越来越强、上下文越来越大,这种原生Prompt架构的玩法会越来越多。
我也这么觉得。Prompt工程正在从手工作坊走向系统工程,这个趋势已经不可逆了。
好,回去我得重新审视一下我那坨两千字的客服Prompt了。先拆它个十来个模块试试。
拆完记得告诉我效果,我赌你会回来感谢我的。