Skip to content

75. System Prompt 在 AI Agent 内部是如何工作的? ​

难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 7 min

本题阅读地图 ​

  1. 💡 简要回答
  2. 📝 详细解析
  3. 🎯 面试总结

👔 面试官:System Prompt 在模型内部是怎么发挥作用的?它是怎么影响模型输出的?

🙋 我:就是放在最前面,模型先看到它,然后就记住了?

👔 面试官:「记住」是什么意思?模型有持久记忆吗?System Prompt 是每次调用都传的还是只传一次?

这道题考的是你对 LLM 无状态性的理解。

💡 简要回答 ​

System Prompt 不是模型「记住了」的东西——LLM 本质上是无状态的,每次调用它都完全失忆。System Prompt 的工作方式是:每次 API 调用时都原封不动地作为上下文的第一部分传给模型,通过占据上下文的最高优先级位置来持续影响模型的每一次输出。模型看到什么就处理什么,没有持久记忆,只有当前上下文。

📝 详细解析 ​

理解 LLM 的无状态性 ​

要理解 System Prompt 的工作机制,必须先理解一个基础事实:LLM 是完全无状态的。

每次调用 API,模型都像一个「失忆的专家」——它不记得上次对话说了什么,也不记得你之前传过的 System Prompt,它看到的就是这一次请求里携带的全部上下文。

因此,「System Prompt 持续影响 Agent」靠的不是模型的记忆,而是开发者在每次 API 调用时都把 System Prompt 作为第一个消息传进去。

对话消息的完整结构 ​

每次调用 LLM API 时,实际传递的是一个消息列表:

python
messages = [
    {
        "role": "system",        # System Prompt:每次都传,始终第一位
        "content": "你是一个专业客服助手..."
    },
    {
        "role": "user",          # 对话历史:用户第一条消息
        "content": "我的订单怎么还没发货?"
    },
    {
        "role": "assistant",     # 对话历史:模型的历史回复
        "content": "您好,请提供订单号..."
    },
    {
        "role": "tool",          # 工具结果(如果有工具调用)
        "content": "订单 #12345 状态:已发货"
    },
    {
        "role": "user",          # 当前用户输入
        "content": "我刚查了,还是显示未发货"
    }
]

模型拿到这个完整的列表,从头到尾「读」一遍,理解整个对话上下文,然后生成回复。System Prompt 排在第一位,是整个上下文的「基调设定」,后续所有内容都在这个基调下被理解。

System Prompt 为什么排在第一位 ​

这不是随意的设计:

  1. Attention 机制的偏好:Transformer 的注意力机制对上下文前部的内容给予更强的关注权重,排在最前面的内容对输出的影响最大。

  2. 框架建立先于内容理解:就像读一篇文章,你先知道「这是一篇技术文档」,后续所有内容都在这个框架下被解读。System Prompt 先建立解读框架,再处理后续对话。

  3. 优先级最高:如果用户的某条消息和 System Prompt 有冲突(比如 System Prompt 说「不讨论竞品」,用户偏要问),模型应该优先遵守 System Prompt。

长对话中的上下文管理 ​

随着对话越来越长,所有历史消息堆积在上下文里,会遇到「上下文窗口撑满」的问题。这时候开发者通常有几种策略:

  • 滑动窗口:只保留最近 N 轮对话,丢弃更早的——但 System Prompt 永远保留。
  • 历史压缩:把早期对话压缩成摘要——但 System Prompt 永远不压缩、不截断。
  • 向量记忆检索:把历史存进向量数据库,按需检索相关片段——System Prompt 始终完整传入。

不管用什么策略,System Prompt 都是那个「始终第一位、永远不被截断」的存在。

🎯 面试总结 ​

核心要点只有一个:LLM 无状态,System Prompt 每次调用都传,靠「始终第一位」的位置发挥持续影响力。能说出 Transformer Attention 机制对上下文前部权重更大的原理,以及长对话时其他消息可能被截断但 System Prompt 不会,是加分项。


章节首页 · ← Q74 · Q76 →

最后更新2026-05-01
难度P1
频率medium
阅读7 min
主题agent / prompt
觉得有帮助?把这个链接转给正在求职的朋友 · 用 Ctrl + K 全站搜索其它题