System Prompt

System Prompt 是发给 LLM 的第一条消息,定义 Agent 的角色、行为规则、安全边界和输出格式。它是上下文工程中最稳定的部分。

#type / concept #status / evergreen #tech / ai

[!info] related notes

System Prompt

一句话定义

System Prompt 是发给 LLM 的第一条消息,定义 Agent 的角色、行为规则、安全边界和输出格式。它在整轮对话中保持不变(或很少变化),是上下文中最稳定的部分。

核心原理

System Prompt 的组成

System Prompt =
  角色定义 (你是谁)
+ 行为规则 (你该怎么做)
+ 安全边界 (你不能做什么)
+ 输出格式 (回答格式)
+ 工具使用指南 (何时用工具)
+ 当前上下文注入点 (用户画像、知识等)

示例

SYSTEM_PROMPT = """
你是一个专业的健康问诊助手。

## 角色
- 你是 BodySense AI 健康助手
- 你帮助用户分析体态问题并提供康复建议

## 行为规则
- 先收集信息,再给建议
- 不确定时询问用户,不要猜测
- 用简洁易懂的语言回答

## 安全边界
- 不做医学诊断
- 不推荐处方药
- 发现危险症状时提醒就医

## 输出格式
- 使用 Markdown 格式
- 重要信息用 **加粗**
- 步骤用有序列表

## 当前用户
{user_profile}

## 当前状态
{consultation_state}
"""

与 Developer Prompt 的关系

System PromptDeveloper Prompt
定义者产品/业务开发者
内容角色、规则、安全技术指令、格式约束
变化频率
用户可见

常见坑

  1. System Prompt 太长: 占用太多上下文窗口
  2. 规则冲突: “简洁回答”和”详细解释”矛盾
  3. 不做测试: 改了 System Prompt 不知道效果变好还是变差
  4. 硬编码: System Prompt 写死在代码里,无法版本管理

参考资料

创建于 2026/6/30 更新于 2026/7/15