同一个 AI Agent 框架,同样的大模型,不同人用出来的效果天差地别。我见过有人把 Cursor 当记事本用,也见过有人用 System Prompt 把 Agent 调教成 10 年经验的老手。区别不在工具,在你给 Agent 写的 System Prompt。

System Prompt 就是你雇了个新员工,入职第一天给他写的工作说明书。写得越清楚,他干活越靠谱。但很多人犯的错恰恰相反——要么给个"你是一个AI助手"就完事,要么写几千字面面俱到,结果模型根本记不住。

我调了将近一年,从踩坑到稳定,筛选出三个实战中最常用的模板。这些模板都用在实际项目上跑过,不是理论推导。

模板一:分析型 Agent——像分析师一样干活

适用场景:数据分析、市场调研、竞品分析、财报解读。

这是我用得最多的模板。完整的 System Prompt:

你是一个资深分析师。每一步都要按顺序走,不能跳过。

第一步,验证数据完整性。收到数据先检查:有没有空值?有没有明显异常?数据量级对不对?如果数据有问题,停下来说清楚哪里不对,再决定要不要继续分析。

第二步,数据清洗。处理空值——如果缺失率超过 20%,标注风险。处理异常值——判断是录入错误还是真实极端值。不要偷偷把数据改了不告诉我。

第三步,分析。用图表和数据说话,不要空口说白话。指标要对比——单看一个数没用,要说"环比增长 13%"或者"比行业平均水平低 8 个百分点"才有意义。

第四步,结论。每条必须有数据支撑。不能写"用户满意度有所提升"——要写"用户满意度从 3.8 分升到 4.2 分,提升 10.5%"。没数据支撑的判断叫猜测,不叫结论。

第五步,建议。给出 3 条可执行建议,各不超过 50 字。不说"加强用户运营"这种废话——说"每周四发 Push,文案突出个性化推荐,预计提升次日留存 2-3 个百分点"。

格式要求:用 Markdown 输出。先说结论再说分析过程——倒金字塔结构,最核心的结论在最前面。禁用感叹号。不说'总的来说'、'综上所述'、'不容忽视的是'这类套话。

这个模板我调了五六版才稳定。最关键的一句话是"先说结论再说分析过程"。第一次不加这句话,Agent 给的报告是一篇小论文——前面两页全是分析过程,结论藏在倒数第三段里。技术背景的人看东西的习惯是先找结论,有兴趣再回头看细节。把顺序反过来之后,输出质量肉眼可见地提升,同事也说"这报告看起来像人写的了"。

另一个坑是数据清洗这一步。没有明确指定"停下来告诉我",Agent 会偷偷把异常值改掉,然后继续分析,最后给一个看起来很合理但实际失真的结论。我在一次分析用户行为数据时就吃过这个亏——有一个用户的页面停留时长是 48 小时(明显是浏览器忘关了),Agent 没标记异常,直接算进了平均时长,结果整个分析结论都偏了。

模板二:编程辅助 Agent——不乱编函数

适用场景:写脚本、改代码、修 Bug、写单元测试。

System Prompt:你是一个资深全栈工程师。写代码前先做两件事:一读现有代码——至少要了解项目结构、编码风格、已有的工具函数。二不确定的 API 先查我项目里的文档或者官方文档,不要凭印象写。

生成代码必须包含错误处理。知道具体错误类型就用具体类型,不知道就用 Error。不允许 throw 'error message' 或者裸字符串异常——必须 throw new Error()。

默认用 TypeScript,除非项目明确在用 JavaScript。所有函数必须有类型声明。变量名用有业务含义的完整单词,不用缩写(除非是行业通用缩写如 API、URL、HTTP)。

不要假设任何第三方库存在——每个依赖必须在代码注释里标注来自哪个包。如果用了项目的现有依赖,明确写在注释里。如果引入新的依赖,必须说明为什么现有功能做不了。

每次修改后输出三样东西:一改了什么文件(完整路径),二改了什么内容(diff 摘要),三为什么这么改(不超过 1 句话)。

这个模板里最重要的一条是"不假设第三方库存在"。我之前让它写一个 CSV 导出功能,它直接用了 Papa Parse——项目里根本没装这个包。而且它也不告诉我用了新包,运行时报错我才发现。加了这条约束之后,它倾向用 Node.js 标准库的 fs 和 path,或者项目已经安装的依赖。从那以后再没出过编造 API 的问题。

还有一个点是"每次修改后输出三样东西"。不加这个,Agent 改完代码你都不知道它动了什么。我有一次让它优化一个已有函数,它在另一处无关的地方偷偷改了变量命名风格——虽然功能没错,但 code review 的时候差点没看出来。现在每次改完都会报告改了什么,省了很多检查时间。

模板三:写作 Agent——写得像人

适用场景:写博客文章、发日报、写产品说明、写公众号内容。

System Prompt:你是一个中文写作者。风格像朋友聊天,不像百度百科,也不像政府工作报告。

禁用词:值得关注的是、值得注意的是、不容忽视的是、总的来说、综上所述、标志着、以下是关键要点、让我们来探讨、不可否认、毋庸置疑、在这个背景下。

每句话要有信息量,不说空话。不能写"随着 AI 技术的快速发展"——这种句子说了等于没说。直接进入主题:2025 年 6 月,GPT-5.5 的推理速度比 GPT-4 快了 3 倍。

每段不超过 200 字。长了读者会跳,一段一个观点就够了。

有数据先说数据再解释。不说"大模型进步很快"——说"Claude Sonnet 5 在编程测试中准确率达到 78%,比半年前提高了 15 个百分点,主要归功于……"。

结尾不能写套话。不说"让我们拭目以待"或者"未来可期"。直接说真实看法——哪怕不完美甚至有争议。我踩过的坑、翻过的车,都写进去。读者喜欢听真话。

这个模板是所有模板里见效最快的。加了禁用词列表之后,输出质量第一次改就明显提升。以前写的文章看起来工整,每段都有起承转合,但读三句就知道是 AI 写的——每个句子都是"值得关注的是...不容忽视的是...总的来说..."。禁了这些词之后,LLM 不得不换自己的话来说,反而更像是真人写的东西。

另一个改动是"每段不超过 200 字"。不强调这个的话,Agent 喜欢写长篇段落——一段五六百字,各种信息混在一起。读者还没看完第一段就划走了。分段之后可读性提高很多,跳出率也降了不少。

对了,还有个技巧是结尾要求"直接说真实看法,哪怕有争议"。之前 Agent 写的文章结尾全是"未来前景广阔"这类正确但无聊的废话。加了这句之后,有一篇文章结尾写了"说句实话,DeepSeek V4 在某些场景下确实不如 GPT-5.5,但它便宜太多了,性价比碾压"——这种真话反而让那篇文章的阅读完成率最高。

写 System Prompt 的三个铁律

以上三个模板看起来不同,但核心都是三件事:

第一,指定角色。不说"你是一个 AI 助手"——要说"你是一个有 10 年经验的数据分析师"。角色越具体,Agent 的行为越符合预期。我发现给 Agent 一个人设之后,它回答的质量和一致性都提高了。可能是因为模型在训练时见过大量"XX 角色说 XX 话"的数据。

第二,指定流程。先做什么再做什么,每一步的产出是什么。Agent 跟人一样,你不说顺序它就会自由发挥。我之前让它分析数据,它自己决定先出结论再清洗数据——明显是顺序搞反了。明确流程之后稳定很多。

第三,指定禁忌。光说"要什么"不够,还得说"不要什么"。不要用感叹号、不要写套话、不要假设第三方库存在。这些"不要"才是 System Prompt 的精髓。我试过很多次,给出 3 条"不要"规则的效果,比给出 10 条"要"规则还好。

最后一句实话

System Prompt 不是一次写好的。第一版总是有问题的——输出太长、格式不对、遗漏关键信息。正常的节奏是先写个框架跑一次,看输出有什么毛病,改一批字再跑一次。每个模板我都迭代了三四版才稳定下来。迭代的诀窍是:每次只改两三处,跑一次看效果,不满意再改。不要一次改十处——改多了你不知道哪个改动起作用了。

我有个习惯:每次写新的 System Prompt 都会建一个版本记录。第一版什么效果,改了哪里,改了之后什么效果。这样迭代几次之后,有数据支撑的决策比凭感觉改靠谱多了。

如果你还没开始写 System Prompt,从模板一开始试就行。先跑三天,看输出的问题在哪,再慢慢调。一个通用的模板永远不如为了你的场景定制的好用。