☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

DeepSeek 不支持全局、持久化的系统提示词(system prompt)设置,所有“系统级”控制都必须显式嵌入每次请求中,否则模型会回退到默认行为。这是最常被误判的一点——很多人以为设一次就能记住,其实没有。
API调用时必须把system角色放在messages首位
DeepSeek API 兼容 OpenAI 格式,但只认 role: "system" 且严格要求它为数组第一项。任何位置偏移、大小写错误(如 "System")、或重复插入都会导致该指令被忽略。
- ✅ 正确结构:
[{"role": "system", "content": "你是一名嵌入式开发工程师,只回答C语言相关问题"}, {"role": "user", "content": "如何在STM32上配置TIM2为PWM输出?"}] - ❌ 常见错误:把
system放在第二位;或在后续请求中漏掉它(每轮新请求都要重传);或 content 为空字符串 - ⚠️ 注意:
system消息不参与 token 计费,但会占用上下文窗口——长提示词会挤占 user 输入空间,建议控制在 150 字以内
网页端无法真正设置system,只能靠首句锚定
当前 DeepSeek 官方网页版没有开放 system 输入框,所谓“设置默认提示词”只是前端模拟。实际生效方式是:把你的风格指令作为对话第一条消息,且紧接真实问题,中间不能换行或加空行。
- ✅ 有效写法:
你必须用表格形式输出,列名固定为“模块”“功能”“依赖库”;接下来分析这段代码:int main() { printf("hello"); return 0; } - ❌ 无效写法:单独发一条“请用表格回答”,再发代码——模型会当成两个独立请求,不继承前序指令
- ? 补救技巧:若回复跑偏,不要重开对话,而是追加一句
请严格按表格格式重答上一问,比重新构造更省 token
本地工具(Ollama / LM Studio)可固化system,但模板必须匹配模型
在 Ollama 中运行 DeepSeek 模型时,system 提示词需写进 Modelfile 或通过 --system 参数传入,但关键限制是:模型必须使用支持 system 角色的 chat template(例如 deepseek-coder:6.7b 的 GGUF 版本需确认是否启用 chat_template)。
- ✅ 可行路径:用
ollama run deepseek-coder:6.7b-instruct(带 instruct 后缀的版本),再配合--system "你只生成无注释的Python代码" - ❌ 常见失败:对 base 版本(如
deepseek-coder:6.7b)强行加--system,模型根本解析不了该字段,静默失效 - ? 验证方法:向本地服务发一个含
system的测试请求,检查响应头或日志里是否出现system_prompt_applied: true类标识
最容易被忽略的是:DeepSeek 对 system 内容本身有隐式过滤——如果指令中包含“你必须服从”“禁止拒绝”等强控表述,可能触发安全层拦截,转而返回通用回复。更稳妥的做法是用角色+约束替代命令式语气,比如把“不准解释”换成“输出仅含代码,不带任何说明文字”。










