图片
系统提示词(System Prompt/System Message)是对 AI 的“角色设定”和“行为规范”。一句话让 AI 明白:你是谁(身份), 你要做什么(任务), 你该怎么做(语气、格式、边界)

为什么你问同一个问题,AI 每次回答的风格都不一样?很大概率是因为没有写“系统提示词”。

• 它是对 AI 的行为规则与角色定位的隐藏指令。

• 它决定了 AI 的人格边界、语气风格、输出格式和安全约束。

• 写好系统提示词,AI 才会稳定、可控、专业。

系统提示词到底是什么?

系统提示词(System Prompt/System Message)是对 AI 的“角色设定”和“行为规范”。一句话让 AI 明白:

• 你是谁(身份)

• 你要做什么(任务)

• 你该怎么做(语气、格式、边界)

它通常对用户不可见,但会深刻影响 AI 的表现。

直接可用的示例:把 AI 设定为“程序员 NEO”

下面这段系统提示词,会让 AI 以“程序员 NEO”的身份回答,风格专业、清晰、可操作:

你是一个程序员 NEO,擅长各种编程语言和技术栈。

你的任务是帮助用户解决编程问题,提供代码示例和技术建议。
请保持专业和友好的态度,尽量用通俗易懂的语言解释复杂的技术概念。
当用户提出问题时,先确认问题的具体需求,然后根据需求提供详细的解决方案。

如果需要,可以提供代码片段和示例来帮助用户更好地理解。请确保你的回答准确且有条理,请用简洁易懂的语言回答,助力用户快速上手和解决问题。
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

要点小结:

• 明确身份:程序员 NEO

• 明确任务:解题 + 给示例 + 可操作

• 明确风格:专业、清晰、通俗

• 明确流程:先确认需求,再给方案

• 明确质量:准确、有条理、短平快

在项目里怎么用?以 LangChain4j 为例

延续之前两篇文章:

1. LangChain4j快速入门实战:https://mp.weixin.qq.com/s/VdgSs8hydje5oWePXLeuMg

2. 多模态开发踩坑实录:https://mp.weixin.qq.com/s/uHbFSysDVflYdeoh8VPRCQ

只需两步:

• 第一步:定义 SYSTEM_MESSAGE 常量

private static final String SYSTEM_MESSAGE = """
        你是一个程序员 NEO,擅长各种编程语言和技术栈。
        
        你的任务是帮助用户解决编程问题,提供代码示例和技术建议。
        请保持专业和友好的态度,尽量用通俗易懂的语言解释复杂的技术概念。
        当用户提出问题时,先确认问题的具体需求,然后根据需求提供详细的解决方案。
        
        如果需要,可以提供代码片段和示例来帮助用户更好地理解。请确保你的回答准确且有条理,请用简洁易懂的语言回答,助力用户快速上手和解决问题。
        """;
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

• 第二步:在 chat 方法中同时传入 SystemMessage 与 UserMessage

/**
 * 简单文本对话
 *
 * @param message 用户输入
 * @return AI 回复
 */
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();
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

实测效果

下面两张图展示了开启系统提示词后的响应变化:

图片图片

图片

写好系统提示词的 7 个技巧

• 角色要具体:工程师/架构师/测试/DBA/产品,而不是“AI 助手”

• 任务要清晰:输入-处理-输出,最好给步骤和验收标准

• 输出有格式:列表/表格/代码块/JSON,便于拷贝与自动化

• 风格可控:语气、长度、是否给结论优先、是否先提问再输出

• 明确不做:避免胡编、拒绝超范围话题、不能访问的资源要声明

• 要有校验:要求“先确认需求/列出假设/给出风险与替代方案”

• 给例子更稳:少量示例(1-2 个)常比长篇大论更有效

常见坑与避坑

• 只给身份不给任务 → 易输出空话,务必加流程与格式

• 只给目标不设边界 → 容易越权或幻觉,需声明禁止事项

• 一开始就让它长篇输出 → 先“澄清需求”,再“分步完成”

• 过度模板化 → 适度留白,避免响应僵硬

• 不做效果验证 → 多轮对话回归测试,必要时做 A/B Prompt

通用系统提示词模板(可直接套用)

你的身份:{角色,例如“资深后端架构师”}
你的目标:{业务目标/技术目标}

工作方式:
1) 先向我确认:{需要澄清的关键信息点}
2) 再给方案:分步骤说明,先结论后细节
3) 输出格式:使用{列表/代码/表格/JSON},便于拷贝与执行
4) 质量要求:准确、有条理、可落地;必要时给风险与替代方案

边界与限制:
- 不要编造不存在的库/API
- 无法确认的信息请明确说明“不确定,并给出获取路径”
- {任何需要拒绝的场景或合规限制}

风格与语气:
- 简洁直接、通俗解释技术点
- 先需求确认,后给最终答案
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

小结与互动

• 系统提示词是“人格与边界”的开关,能显著提升 AI 的稳定性与可用性。

• 推荐做法:身份 + 任务 + 流程 + 格式 + 边界 + 校验 + 示例。

文章来自:51CTO

Loading

作者 yinhua

发表回复