链载Ai

标题: AI提示词新玩法:System vs User prompt,怎么用才对?一文讲透 [打印本页]

作者: 链载Ai    时间: 昨天 19:19
标题: AI提示词新玩法:System vs User prompt,怎么用才对?一文讲透

最近有不少朋友在用 Coze、dify 这类低代码平台搭建智能体时发现一个细节:
原本一大段 Prompt,现在被拆成了System PromptUser Prompt两个框。
有些读者就问我:

今天就结合一个「AI 求职助手」的案例,带大家深入聊聊这件事。


一、System vs User:到底谁干啥?

在理解为什么要拆之前,我们得先知道 System Prompt 和 User Prompt 的定位差别。

System Prompt:

稳定设定,它相当于「模型的世界观」,用于告诉模型你是谁、该怎么回答、有什么边界。

示例:

你是一名专业的职业顾问,回答要简洁、有逻辑,并且不能虚构不存在的岗位。

有了 System Prompt,模型在整个对话过程中都会遵循这些规则,就像给它定下了“职业身份”“行为准则”

User Prompt:

即时请求,它相当于「用户点的菜」,用来承载用户在当下的需求。

示例:帮我写一封申请产品经理岗位的求职信。

这部分会随着用户输入而变化,每次调用可能完全不同。

👉 所以,简单一句话总结:

System = 长期设定,保证稳定性
User = 即时任务,保证灵活性

二、为什么要拆开?

很多人以为这是低代码平台自己“搞出来”的变化,其实不是。

最早在 OpenAI Chat API 中,角色就是按 system、user、assistant 来区分的。

为什么要这么设计?主要有四个原因:

总结一下:

System 保证了应用的稳定性和安全边界,User 提供了灵活的即时交互。
两者结合起来,既能让模型“有规矩”,又能让它“懂需求”。

三、Input 和 User Prompt,不是一个东西

这里是很多人最容易困惑的地方。

不少朋友会说:

“我在 chatflow 里明明已经有一个 input 节点了,为什么 LLM 节点里还要再写 User Prompt?这不是重复了吗?”

其实,两者作用完全不同。我们还是用「AI 求职助手」来举例。

Input(数据层输入):

它是原始数据,通常来自表单、API 参数、数据库。

示例:岗位=产品经理,公司=Airbnb。

User Prompt(对话层输入):

它是模型能理解的自然语言,用来组织上下文,把 Input 映射成一句完整的请求。

示例:“请帮我写一封申请 Airbnb 产品经理的求职信。”

两者关系,就像厨房里的食材菜谱: Input 是生的食材,告诉系统“用户点了番茄炒蛋”。

User Prompt 就是厨师的菜谱,把“番茄 + 鸡蛋”组装成模型能操作的指令。

👉 所以,它们不是重复,而是分工不同:

这就是为什么在 LLM 节点里,仍然需要写 User Prompt。

四、User Prompt 一定要写吗?

这里有个实用技巧,很多人容易混淆。

必须写 User Prompt 的情况:

当用户每次都会输入新的需求,比如搜索、问答、翻译、写文章。

👉 没有 User Prompt,模型就不知道用户要干啥。

可以不用的情况:

当任务完全固定,比如每天早上自动生成一份日报。

👉 这种情况只需要 System Prompt 定义好格式和逻辑即可,User Prompt 可以留空。

推荐做法

有交互 → 一定要写 User Prompt
纯后台 → 只用 System Prompt 就行

这样能让应用既灵活,又不会无谓地增加复杂度。

五、写在最后

今天我们通过案例,把 System Prompt 和 User Prompt 的区别拆细讲了一遍:

最关键的一点是:

Prompt 拆分并不是平台的“自创规则”,而是 OpenAI API 本身的设计。

下次写 Prompt 的时候,不妨先问自己一句:

👉 这句话是要长期生效,还是只针对这次用户需求?

想明白了这一点,Prompt 写起来会清晰很多,应用也更稳定。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5