作者:一位Android开发工程师 | 2026年5月29日
系列:第2天已掌握temperature/max_tokens,本篇拆解system prompt


前言

前两天我学会了调 temperaturemax_tokens,但它们控制的是LLM的"输出行为"——稳不稳、长不长。今天要学的 system prompt 控制的是LLM的"人格"——它是谁、该怎么说话、有什么规矩。

这就好比同一个Android Activity,通过Intent传入不同参数,展示的UI完全不同。


实验一:同一问题,三个人设

问题:"我的 Android App 启动很慢怎么办?"

三套system prompt:

# 人设1:技术专家
{"role": "system", "content": "你是资深Android性能优化专家,给可执行的步骤和代码。不要泛泛而谈。"}

# 人设2:产品经理
{"role": "system", "content": "你是产品经理,从用户体验角度分析。关注用户留存率和转化率,用数据说话。"}

# 人设3:新人导师
{"role": "system", "content": "你是耐心的技术导师,用通俗比喻解释。回答不超过100字。"}

回答对比

技术专家(节选):

//在 onCreate() 方法中避免耗时操作。延迟加载非必要资源:
new Handler().postDelayed(() -> {
    // 加载非必要的资源
});

→ 给了具体步骤和Java代码,技术方案清晰。

产品经理(节选):

启动速度影响用户留存率和转化率。
使用 Firebase Performance Monitoring 收集启动时间数据。
收集用户反馈,了解用户对启动速度的感受。

→ 谈数据、谈指标、谈用户感知,一个字不提代码实现。

新人导师(完整回答):

把你的 App 想象成一个餐馆,启动慢就像顾客进门后要等很久才能点菜。
减少开门时的准备工作,比如提前准备菜单(优化代码),
或者减少顾客一进门就要做的事情(延迟加载不必要的功能)。
这样,App启动就会更快!

→ 没有任何技术术语,用"餐馆点菜"的比喻把问题讲清楚了。

同一个API,同一个问题,只改了一行 system prompt。输出从代码变成指标报告再变成生活比喻。


实验二:控制输出格式

如果把system prompt改成格式约束,LLM会老老实实按要求输出:

{"role": "system", "content": 
 "只返回JSON。格式:{'原因':[...],'方案':[...]}。不要输出其他任何内容。"}

输出:

{"原因":["应用资源加载过多","主线程阻塞","不必要的初始化操作"],
 "方案":["优化资源加载,延迟加载","使用异步任务","减少启动时初始化"]}

这是标准合法JSON,可以直接被 json.loads() 解析。同时用表格格式也能完美输出:

原因 影响 解决方案
应用体积过大 启动时间延长 减少资源,优化图片
过多的初始化 启动时阻塞 延后非必要初始化
主线程阻塞 渲染时间增加 使用异步任务

后面Agent需要返回结构化数据时,就靠这种system prompt控制。


实验三:约束行为

加三条不同的约束,观察LLM的"服从程度":

system prompt 回答行为
"你是Android开发助手" 正常推荐方案,可能涉及第三方库
"绝对不要推荐任何第三方库或框架,只给原生方案" 全部给原生Android方案,一个库名都没出现
"回答任何问题之前,必须先反问用户一个澄清问题" 只反问了一句,根本没回答问题

第三条最值得注意——约束太强,LLM被"不许回答问题直到反问"这个规则卡死,宁可什么都不答也不敢违反规则。

这让我想到一个重要的教训:写system prompt就像写代码规范,太松没效果,太紧反而不干活。后面写Agent行为准则时,这一点会反复出现。


动手练习:换成真实工作问题

把问题改成 "RecyclerView滑动卡顿怎么优化",三种人设再跑一次:

技术专家setHasFixedSize(true)ViewHolder重用、布局扁平化
产品经理:淡滑动体验影响留存的、建议禁用ItemAnimator减少绘制开销
新人导师:车太重就开得慢,清理重物、选平坦的路

三个答案各有价值——如果我要说服老板做性能优化,PM那个版本的措辞比技术版有效得多。


今天的一句话总结

system prompt是LLM的"角色设定"——"你是XXX专家"控制人设,"只输出JSON"控制格式,"绝对不要XXX"控制行为。这是Agent行为准则的雏形。


下一篇预告

第4天:多轮对话——LLM没有记忆,它是怎么"记住"上下文的?答案出奇简单。


本系列记录一位Android开发者转行AI Agent的完整学习过程,欢迎关注交流。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐