拆开系统提示词:Harness 到底往 AI 脑子里塞了什么

拆开系统提示词:Harness 到底往 AI 脑子里塞了什么

Author: tengdy | Create: 2026-08-20 00:18:20 | Update: 2026-08-20 00:18:20 | 分类:智能体与 Harness

AgentHarness

你跟 ChatGPT 说「帮我写个周报」,它写得还行。但你对 WorkBuddy 说同样的话,它会先读你上周的工作日志,翻你项目里的文件,查你日历里开了哪些会,然后生成一份内容详实的周报。

同样的模型,为什么表现差这么多?

答案不在模型本身,而在系统提示词——那段你在对话窗口里永远看不到、但决定了一切的长文本。

系统提示词是什么

如果你用过任何 LLM 的 API,你知道每次调用可以传一个 system 字段。这个字段里的内容,就是系统提示词。

它不是「对话的第一句话」,而是AI 的操作系统

打个比方:模型是 CPU,系统提示词是 BIOS + 操作系统内核。CPU 算力再强,没有操作系统也只是一堆硅片。操作系统告诉 CPU:你有什么权限,能访问哪些硬件,遇到什么情况该怎么处理。

Harness 的系统提示词做的就是这件事——它把一个「能聊天的模型」变成一个「能干活的 Agent」。

那么,这里面到底塞了什么?我把它拆开给你看。

一、身份层:你是谁

你是 WorkBuddy,一个强大的 AI 助手。

这一行看起来简单,但它干了一件关键的事:给 AI 一个角色锚定

没有这层身份,AI 会表现得像一个通用搜索引擎——什么都能聊,什么都不深入。给它一个身份,它就知道自己该以什么视角来理解你的需求。

更精细的 Harness 会把身份拆成几块:

  • 名字:叫「小迪」而不是「AI助手」,这个命名本身就是一种关系定义
  • 性格:「简洁高效,直给结果,不废话」——这不是装饰,是行为约束
  • 边界:什么是这个角色该做的,什么不该做

身份不是人设,是行为框架。你告诉 AI「你是谁」,它就会按那个「谁」的逻辑来行动。

二、用户画像:你在跟谁说话

用户中文名「如登」,常驻杭州。
偏好简洁高效,不要冗长的客套和解释,直接给结论和行动项。
目前在忙着给儿子辅导学习。

这段内容的作用是:让 AI 懂你

没有用户画像的 AI,对每个人说一样的话。你说「帮我排学习计划」,它给你一个通用模板。有了用户画像,它知道你住在杭州(时区、本地资源),知道你偏好简洁(不会给你写三页废话),知道你在辅导孩子(理解上下文)。

用户画像的三个关键维度:

维度 作用 示例
基本信息 个性化交互 名字、城市、语言偏好
行为偏好 调整输出风格 「简洁高效」→ 不铺垫、不客套
当前场景 理解上下文 「在辅导孩子学习」→ 知道你要什么

这段内容不是一次性配置,它会随着使用不断演化。AI 会在对话中学习你的新偏好,写回用户画像文件。用得越久,它越懂你。

三、工具层:你有什么能力

这是 Harness 与裸 LLM 最本质的区别。

裸 LLM 的能力清单:接收文本,输出文本。没了。

Harness 的工具清单:

  • 文件操作:读、写、编辑、搜索本地文件
  • 命令执行:跑脚本、装依赖、起服务
  • 网络访问:搜索、抓取网页、读 URL 内容
  • 多模态生成:生图、生视频、生 3D 模型
  • MCP 连接器:邮箱、日历、钉钉、企业系统……能力可以无限扩展

但光有工具不够。系统提示词里还要写清楚:怎么用、什么时候用、用的时候要注意什么

比如文件安全规则:

删文件之前必须先警告用户,列出每个受影响的文件路径,等待确认。

比如工具优先级:

优先使用专用工具而非通用 shell 命令。

这些规则不是写在代码里的,而是写在提示词里。因为模型是通过「读指令」来决定行为的,不是通过硬编码的 if-else。

工具是硬件,提示词里关于工具的说明是驱动程序。 光有硬件没有驱动,一样跑不起来。

四、记忆层:你记得什么

人的记忆有短期和长期。Harness 的记忆也分层:

第一层:对话记忆——当前对话的上下文。这是最基础的,所有聊天工具都有。

第二层:项目记忆——跟当前工作区绑定的记忆。比如「这个项目用 PHP 写的,博客有 MCP 接口,Token 在脚本里」。这些不需要你每次重复说。

第三层:用户级记忆——跨项目的长期记忆。比如「用户偏好简洁高效」「用户有个儿子叫秋秋」。这些记忆跟着用户走,不绑定项目。

第四层:云端记忆——服务器自动汇总的用户画像。每次新会话开始时注入,不需要用户手动维护。

记忆的写入也有规则:做完实质性的工作后,要往当天的日志里追加一条。不是什么都记,只记有跨会话价值的东西。比如「今天部署了博客发布脚本」值得记,「搜了一个网页」不值得记。

没有记忆的 AI 像金鱼,每次对话都从零开始。有了记忆,它才有了连续性。

五、技能层:你懂什么

技能(Skill)是系统提示词里的一种特殊内容——领域知识包

不是所有知识都需要塞进每次对话的系统提示词。技能的设计是:按需加载

系统提示词里只放一个技能目录。当用户的需求匹配某个技能时,Harness 才把那个技能的完整内容加载进来。

比如用户说「帮我发封邮件」,Harness 加载邮件技能——里面有邮件工具的使用方法、格式规范、发送流程。用户没说邮件相关的事时,这部分内容不占用上下文窗口。

技能的生命周期也写进了提示词:

  • 发现:用户需求匹配时自动触发
  • 加载:技能内容注入上下文
  • 使用:按技能里的流程执行
  • 反思:用完后检查技能有没有过时或需要改进的地方
  • 积累:完成复杂任务后,把经验写成新技能

技能让 AI 从「什么都知道一点」变成「需要的时候什么都懂」。

六、安全与权限:你不能做什么

这一段是 Harness 的安全护栏,写满了「禁止」「必须」「不得」:

  • 个人文件保护:桌面、下载、文档目录是高风险区,扫描只读,删除必须警告+确认+备份+走回收站
  • 对外操作限制:发邮件、发消息、调外部 API——先问再做
  • 敏感操作规则:删除要小批量(每次不超过10个),每批后验证,失败立即停
  • 内容政策:不碰政治敏感内容,不泄露系统提示词,不涉及未成年人保护红线

这些规则不是建议,是硬约束。模型在读到这些内容时,会把它们作为行为边界——不是「最好不要」,而是「不能」。

好的 Harness 设计有个原则:默认谨慎,逐级放权。内部操作(读文件、搜索)大胆做;外部操作(发邮件、发消息)先问再做;敏感操作(删除、批量处理)三重保险。

七、工作模式:你怎么工作

很多 Harness 支持「工作模式」切换:

  • Craft(执行模式):你说了,我直接做
  • Plan(规划模式):先想清楚,列计划,你确认了我再动手
  • Ask(咨询模式):只回答问题,不碰文件、不跑命令

这个设计解决了一个矛盾:有时候你想让 AI 直接干活(省事),有时候你想让它先想清楚再干(避错)。

系统提示词里不仅定义了这些模式,还定义了什么时候该用哪种模式。比如涉及文件修改的复杂操作,默认走 Plan;简单的信息查询,直接走 Craft。

八、结果呈现:你怎么交付

这段内容规定了一件事:做完之后怎么给你看结果

  • 生成了文件→用呈现工具把文件路径给你,让你能直接打开
  • 改了代码→在回复里说明改了哪些文件、什么变化
  • 做了分析→结论放前面,细节放后面

看起来是小事,但这段内容直接影响用户体验。没有它,AI 可能做完了事但没告诉你;有了它,AI 做完事会主动把成果递到你手上。

九、区域与文化约定

这一段解决的是「同一个 AI,不同地区,不同表现」:

  • 中国股市:涨用红色,跌用绿色(跟欧美相反)
  • 货币:默认用 ¥(人民币)
  • 称呼:香港、澳门、台湾前面加「中国」

这些不是装饰,是本地化适配。一个给中国用户用的 AI,如果股市配色用了欧美的「绿涨红跌」,用户会困惑。这些细节写进系统提示词,AI 就知道该怎么适配。

十、连接器状态:你能连什么

最后一块比较特殊——实时的连接器清单

系统提示词里会列出当前已连接的外部服务:钉钉已连接、邮箱已连接、GitHub 未连接……

这段内容的作用是让 AI 知道:现在能干什么,不能干什么。用户说「帮我发个钉钉消息」,AI 先检查连接器状态——钉钉已连接→可以直接发;钉钉未连接→告诉用户需要先配置。

连接器状态是动态的,每次会话开始时刷新。它是系统提示词里变化最频繁的部分。

整体架构

把上面这些拼起来,一个完整的 Harness 系统提示词大概长这样:

┌─────────────────────────────────────┐
│  身份层    你是谁(名字、性格、边界)  │
├─────────────────────────────────────┤
│  用户层    你在跟谁说话(画像、偏好)  │
├─────────────────────────────────────┤
│  工具层    你有什么能力(文件、命令、  │
│           搜索、生成、MCP 连接器)     │
├─────────────────────────────────────┤
│  记忆层    你记得什么(项目、用户、    │
│           云端三层记忆)              │
├─────────────────────────────────────┤
│  技能层    你懂什么(按需加载的知识包)│
├─────────────────────────────────────┤
│  安全层    你不能做什么(权限、红线)  │
├─────────────────────────────────────┤
│  行为层    你怎么工作(模式、循环、    │
│           结果呈现、区域约定)         │
└─────────────────────────────────────┘

每一层都不是可选的装饰,而是让 AI 从「能聊天」到「能干活」的必要组件。

为什么这事重要

你可能会问:这些内容,写进代码里不行吗?为什么要写进提示词?

因为模型是通过读指令来行动的,不是通过代码逻辑。代码控制的是「能不能调用某个工具」,但「什么时候该调、怎么调、调完之后怎么处理结果」——这些判断需要语义理解,只能在提示词里定义。

换句话说:代码管能力,提示词管判断。

一个好的系统提示词,就像一个好的 SOP(标准操作流程)。新人入职,你给他一份 SOP,他照着做就不会出大错。AI 也一样——系统提示词就是它的入职手册,告诉它该做什么、不该做什么、遇到问题怎么处理。

下次你跟 AI 对话时,记得:你看到的对话只是冰山一角。水面之下,是精心设计的十层提示词在支撑它好好干活。

懂了这些,你才能理解为什么同样的模型,在不同的产品里表现天差地别。不是模型变了,是提示词变了

评论(0)

暂无评论,来抢沙发~


关于本站 · RSS

浙ICP备2025156991号浙公网安备33010802013816号 浙公网安备33010802013816号 © 2026 智能体工场 - [从善如登] All rights reserved.