系統(tǒng)提示詞穩(wěn)住AI
為什么你問同一個問題,AI 每次回答的風(fēng)格都不一樣?很大概率是因?yàn)闆]有寫“系統(tǒng)提示詞”。
? 它是對 AI 的行為規(guī)則與角色定位的隱藏指令。
? 它決定了 AI 的人格邊界、語氣風(fēng)格、輸出格式和安全約束。
? 寫好系統(tǒng)提示詞,AI 才會穩(wěn)定、可控、專業(yè)。
系統(tǒng)提示詞到底是什么?
系統(tǒng)提示詞(System Prompt/System Message)是對 AI 的“角色設(shè)定”和“行為規(guī)范”。一句話讓 AI 明白:
? 你是誰(身份)
? 你要做什么(任務(wù))
? 你該怎么做(語氣、格式、邊界)
它通常對用戶不可見,但會深刻影響 AI 的表現(xiàn)。
直接可用的示例:把 AI 設(shè)定為“程序員 NEO”
下面這段系統(tǒng)提示詞,會讓 AI 以“程序員 NEO”的身份回答,風(fēng)格專業(yè)、清晰、可操作:
你是一個程序員 NEO,擅長各種編程語言和技術(shù)棧。
你的任務(wù)是幫助用戶解決編程問題,提供代碼示例和技術(shù)建議。
請保持專業(yè)和友好的態(tài)度,盡量用通俗易懂的語言解釋復(fù)雜的技術(shù)概念。
當(dāng)用戶提出問題時,先確認(rèn)問題的具體需求,然后根據(jù)需求提供詳細(xì)的解決方案。
如果需要,可以提供代碼片段和示例來幫助用戶更好地理解。請確保你的回答準(zhǔn)確且有條理,請用簡潔易懂的語言回答,助力用戶快速上手和解決問題。要點(diǎn)小結(jié):
? 明確身份:程序員 NEO
? 明確任務(wù):解題 + 給示例 + 可操作
? 明確風(fēng)格:專業(yè)、清晰、通俗
? 明確流程:先確認(rèn)需求,再給方案
? 明確質(zhì)量:準(zhǔn)確、有條理、短平快
在項(xiàng)目里怎么用?以 LangChain4j 為例
延續(xù)之前兩篇文章:
1. LangChain4j快速入門實(shí)戰(zhàn):https://mp.weixin.qq.com/s/VdgSs8hydje5oWePXLeuMg
2. 多模態(tài)開發(fā)踩坑實(shí)錄:https://mp.weixin.qq.com/s/uHbFSysDVflYdeoh8VPRCQ
只需兩步:
? 第一步:定義 SYSTEM_MESSAGE 常量
private static final String SYSTEM_MESSAGE = """
你是一個程序員 NEO,擅長各種編程語言和技術(shù)棧。
你的任務(wù)是幫助用戶解決編程問題,提供代碼示例和技術(shù)建議。
請保持專業(yè)和友好的態(tài)度,盡量用通俗易懂的語言解釋復(fù)雜的技術(shù)概念。
當(dāng)用戶提出問題時,先確認(rèn)問題的具體需求,然后根據(jù)需求提供詳細(xì)的解決方案。
如果需要,可以提供代碼片段和示例來幫助用戶更好地理解。請確保你的回答準(zhǔn)確且有條理,請用簡潔易懂的語言回答,助力用戶快速上手和解決問題。
""";? 第二步:在 chat 方法中同時傳入 SystemMessage 與 UserMessage
/**
* 簡單文本對話
*
* @param message 用戶輸入
* @return AI 回復(fù)
*/
public String chat(String message) {
SystemMessage systemMessage = SystemMessage.from(SYSTEM_MESSAGE);
UserMessage userMessage = UserMessage.from(message);
ChatResponse chatResponse = qwenChatModel.chat(systemMessage, userMessage);
AiMessage aiMessage = chatResponse.aiMessage();
log.info("AI 輸出:" + aiMessage.toString());
return aiMessage.text();
}實(shí)測效果
下面兩張圖展示了開啟系統(tǒng)提示詞后的響應(yīng)變化:
圖片

寫好系統(tǒng)提示詞的 7 個技巧
? 角色要具體:工程師/架構(gòu)師/測試/DBA/產(chǎn)品,而不是“AI 助手”
? 任務(wù)要清晰:輸入-處理-輸出,最好給步驟和驗(yàn)收標(biāo)準(zhǔn)
? 輸出有格式:列表/表格/代碼塊/JSON,便于拷貝與自動化
? 風(fēng)格可控:語氣、長度、是否給結(jié)論優(yōu)先、是否先提問再輸出
? 明確不做:避免胡編、拒絕超范圍話題、不能訪問的資源要聲明
? 要有校驗(yàn):要求“先確認(rèn)需求/列出假設(shè)/給出風(fēng)險(xiǎn)與替代方案”
? 給例子更穩(wěn):少量示例(1-2 個)常比長篇大論更有效
常見坑與避坑
? 只給身份不給任務(wù) → 易輸出空話,務(wù)必加流程與格式
? 只給目標(biāo)不設(shè)邊界 → 容易越權(quán)或幻覺,需聲明禁止事項(xiàng)
? 一開始就讓它長篇輸出 → 先“澄清需求”,再“分步完成”
? 過度模板化 → 適度留白,避免響應(yīng)僵硬
? 不做效果驗(yàn)證 → 多輪對話回歸測試,必要時做 A/B Prompt
通用系統(tǒng)提示詞模板(可直接套用)
你的身份:{角色,例如“資深后端架構(gòu)師”}
你的目標(biāo):{業(yè)務(wù)目標(biāo)/技術(shù)目標(biāo)}
工作方式:
1) 先向我確認(rèn):{需要澄清的關(guān)鍵信息點(diǎn)}
2) 再給方案:分步驟說明,先結(jié)論后細(xì)節(jié)
3) 輸出格式:使用{列表/代碼/表格/JSON},便于拷貝與執(zhí)行
4) 質(zhì)量要求:準(zhǔn)確、有條理、可落地;必要時給風(fēng)險(xiǎn)與替代方案
邊界與限制:
- 不要編造不存在的庫/API
- 無法確認(rèn)的信息請明確說明“不確定,并給出獲取路徑”
- {任何需要拒絕的場景或合規(guī)限制}
風(fēng)格與語氣:
- 簡潔直接、通俗解釋技術(shù)點(diǎn)
- 先需求確認(rèn),后給最終答案小結(jié)與互動
? 系統(tǒng)提示詞是“人格與邊界”的開關(guān),能顯著提升 AI 的穩(wěn)定性與可用性。
? 推薦做法:身份 + 任務(wù) + 流程 + 格式 + 邊界 + 校驗(yàn) + 示例。



































