你是否遇到过某个提示原本效果很好,却突然失效的情况?
你是否曾陷入不断修补系统提示、试图改善结果却始终无效的循环?
系统提示学习或许正是你所需要的。
系统提示学习(SPL)是 AI 社区新兴的关注领域,并于 5 月经 Andrej Karpathy 在 X 上广泛推广而受到关注。
系统提示学习旨在解决依赖静态系统提示或繁琐微调方案的 AI 系统缺乏灵活性、容易失效等局限。它为支持 AI 系统持续学习提供了另一种方式。
深入探讨之前,我们先简要回顾一下提示设计的基础知识。
开发智能体或自定义模型时,我们首先必须设计两个关键组成部分:
系统提示
用户提示
系统提示为模型的行为方式设定基本规则。为自定义 AI 解决方案编写系统提示时,开头通常类似这样:
“你是一名智能助手。你的职责是执行<在此插入任务>。
你不得执行 (A)、(B) 或 (C)。”
相比之下,用户提示通常包含用户的问题以及时区、偏好等其他相关信息。用户提示可能是这样的:


我在葡萄牙的首都。你能推荐一些我今晚可以参加的活动吗?
各大 AI 实验室发布新模型后,系统提示泄露已屡见不鲜,因为用户会通过越狱让聊天机器人透露其底层指令。如今,一个热门 GitHub 代码仓库集中收录了许多此类系统提示。这些提示揭示了 AI 实验室为引导模型恰当行事而长期积累的“独门秘方”。例如,最近泄露的 GPT-5 系统提示(在 ChatGPT 中曝光)约有 6,000 个英文单词,足见塑造系统行为需要编码多少知识和指导。
这些详尽的系统提示通常涵盖以下几个关键领域:
搜索指令
工具定义
用户偏好
引用指令
针对已知问题的快速补丁
在实践中,自定义 AI 系统的开发者会在测试和完善应用的过程中,主要借助评估来指导改进,并反复手动修补系统提示。
引导模型行为的其他方式包括:
提示工程,包括检索增强生成(RAG),用于控制提供给模型的内容
微调(直接更改模型的底层权重)
如果还有另一种影响模型行为的方式呢?设想一个系统,能够利用先前生成的思路、计划和策略,动态学习并完善自己的系统提示。它可以同时利用用户反馈和以 LLM 为评判者的评估来衡量其输出。
设想一个你希望通过智能体系统自动解决的长期业务难题。有效的解决方案需要超越基本工作流自动化的推理能力。在这种情况下,必须在 AI 系统中加入计划生成组件。这样,系统就能根据任务以不同方式与多个智能体协作。各个步骤可能包括调用其他智能体来完成子任务的指令,或使用工具。


注意:智能体工具是指 AI 智能体可以调用的任何外部函数、API 或资源,使其能够突破文本限制并执行实际操作。
你可以选择在模型的系统提示中“预置”一套遵循人类逻辑步骤的计划,不过 LLM 通常需要关于工具用法、输出格式及相关要求的更具体指导。有时,最佳策略可能并不明确;或者某个问题因先前被认为已经解决,而一直没有重新评估。这正是系统提示学习(SPL)的用武之地。
SPL 通过纳入先前生成的策略,反复改进系统提示。随着新问题不断出现,系统会逐步积累知识,并变得更加稳健。可以把它看作一本针对你所在领域的解题手册。
SPL 会逐步将用户反馈中的见解纳入系统提示。随着系统日趋成熟,你可能会发现一些反复出现的问题,并将其提炼为更普适、更高层次的原则。
下面逐步深入了解这一过程的运作方式:
首先输入用户查询,要求系统执行特定任务。
如果系统只处理一个问题,可以采用“贪心”方法,选择以往运行中得分最高的策略。或者,你也可以从一种偏向高分策略、同时偶尔纳入低分策略的分布中采样,以鼓励探索。这在刚开始收集策略时尤其有用。
对于旨在处理多种问题集的系统,可以考虑添加分类层,或使用嵌入和余弦相似度(即 RAG 中常用的技术)来识别相关方法。这有助于选择适合具体问题的策略,例如专门针对编程任务的策略。
注意:嵌入与余弦相似度结合使用,可以衡量两项信息之间的关联程度,从而更轻松地匹配文档、查询或想法,即使它们的具体措辞不同。
用于解决编程问题的简化策略库起始示例。
注意:此处显示的“种子策略”仅供说明。在实际编程场景中,我们还会进一步完善这些策略。对于小众业务问题,则需要长期收集更多见解。
生成 ID(倒序) | 主题 | 分数 | 策略文本 | 说明 |
|---|---|---|---|---|
4 | 编程 | 1 | 理解问题、约束条件和边界情况。 使用合适的数据结构设计算法。 通过示例和不变量验证计划。 实现整洁、易读的代码。 通过重构、优化和最终格式调整加以完善。 工具使用:使用工具时,简要说明为何需要该工具。 | 纳入并融合下面三项策略中最出色的要素。 |
3 | 编程 | 1 | 理解问题、约束条件和边界情况。 使用合适的数据结构设计算法。 通过示例和不变量验证计划。 实现整洁、易读的代码。 通过重构、优化和最终格式调整加以完善。 | 这项策略更加全面,但不包含工具使用指南。 |
2 | 编程 | -1 | 理解问题、约束条件和边界情况。 使用合适的数据设计算法。 实现整洁、易读的代码。 工具使用:调用工具时,简要说明使用该工具的原因。 | 这项策略更好,提到了工具使用,但仍可改进。 |
1 | 编程 | -1 | 快速浏览问题。 解决问题。 创建最少量的测试。 提交任何能运行的代码。 | 提到了测试,但整体策略较弱。 |
3. 对 N 项策略采样后,将其纳入系统提示。这使计划生成建立在以往专家反馈的基础上,而不是让模型在缺乏指导的情况下自行制定计划。鼓励模型“跳出框架思考”,并在必要时添加步骤,而不是逐字照搬示例策略。


4. 使用动态创建的系统提示生成一项新策略,以满足用户的请求。此过程应产生更多任务,从而改善最终输出。目标是激发创造力:融合以往策略中最出色的要素,合并重叠步骤,并在需要时添加有用的新步骤。
注意:请记住,温度是一项可调参数,可生成更多样、更不确定的输出,适合需要创造力的场景。温度不为零时,每次生成的计划都可能不同。
5. 收到模型输出后,由人工评分者或 LLM 评判者依据具体标准进行评估,这些标准定义了什么才是针对该问题的优质解决方案。对于前面提到的葡萄牙活动示例,评估标准可以包括:
简洁性(回答仅限一句话)
所推荐活动的相关性
地点准确性
6. 根据评估结果,使用另一个模型完善策略。还可以选择加入反馈循环,纳入人工意见并支持协作改进。将完善后的策略连同适当的元数据存入数据库,以跟踪版本和变更。


那么,为什么要费这么多功夫?你也可以手动审查输出,并据此调整系统提示。不过,强大的推理模型可以结合输出上下文和人工反馈来完善策略。人类很容易发现简单方法中的缺陷,但在处理更广泛问题集的复杂系统中,找出这些缺陷会变得困难而繁琐。
LLM 往往需要详细指令和额外步骤,才能获取人类处理问题时自然而然会运用的背景知识。随着系统扩展到更广泛的问题集,所需任务的数量可能迅速增长。例如,人类处理编程问题时可能直观地理解相关代码库,而 LLM 可能需要先“阅读”多个文件。
适用情形:假设你管理一支客户支持团队,并由 AI 智能体负责工单分流。随着时间推移,SPL 可能会发现团队未曾考虑过的分类方法,从而降低升级处理率。
不适用情形:如果合规要求或法规已经规定了工作流程(如财务报告),SPL 的价值可能有限,因为创造力此时不是优势,反而会带来风险。
适用情形:在研究密集型岗位(如市场情报或产品战略)中,你可以通过完善 AI 的计划、丰富其输出,并将这些改进纳入后续工作来与 AI 协作。每次互动都会提升系统效能。
不适用情形:如果团队主要将 AI 用于几乎不需要人工参与的简单工作流(如发票处理),协作成本可能超过其收益。
适用情形:假设你将业务拓展到一个新地区,AI 突然需要处理当地税务咨询。SPL 可帮助你快速纳入不断出现的新规则和启发式方法,避免重复犯错。
不适用情形:如果环境保持不变,例如将会议记录转换为标准化摘要,那么持续适应几乎没有益处。
理论上,这一切听起来前景可期,但实施 SPL 确实面临诸多挑战。下面我们将讨论其中一些主要挑战:
在生成策略的早期阶段,进展往往会停滞:新输出无法在先前成果的基础上继续改进,推进速度也随之放缓。这通常由两个主要问题造成:
解决方案:预先纳入所有可用的业务知识,让系统拥有足够深厚的知识储备。
解决方案:设计细致的评分量表,从准确性、清晰度和相关性等多个方面评价答案,并根据这些信号调整采样方式。
如果系统生成了数百种策略,却几乎没有反馈来区分优劣,采样很快就会变得难以管理。解决办法是剪枝。
完善策略库时,请考虑:
生命周期:策略超过规定时限或生成次数后即予以淘汰。
分数:使用评估量表筛除表现持续不佳的策略。将分数与生命周期结合,可以确保只保留长期证明有价值的方法。
LLM 评判:定期评估策略,找出不再提供独特见解的策略,因为其中的有用要素很可能已被较新版本吸收。
解决方案:将策略数据库视为一个持续演进的系统:定期剪枝,只保留相关且高价值的知识。
系统提示学习仍处于起步阶段,但潜力巨大。仅依赖静态提示或无休止微调的企业将遇到熟悉的局限:系统脆弱、成本不断增加、投入徒劳无功。SPL 通过构建能随时间不断改进的系统,并纳入高层原则而非零散补丁,为摆脱这一循环提供了出路。
SPL 仍在发展,但趋势已经明确:能够自我学习的系统将超越无法自我学习的系统。现在正是开展实验的好时机:从小处着手,记录经验,为构建随每次互动不断改进的 AI 系统打下基础。