3.3 初始指令与智能体角色配置
初始指令旨在固化智能体的核心目标、执行边界与输出规范,为后续的工具调用和路由决策提供稳定的语义基础。本节结合 OpenClaw 的 instructions 配置,详细阐述指令编写的最佳实践(包含应写与避免的内容),探讨如何将指令与渠道入口、工具策略及系统可观测性构建为可回放的完整流程。
3.3.1 初始指令的作用:目标收敛、边界声明与格式约束
在工程上,初始指令不是“捏人设”,而是一个面向运行时的契约,至少包含三类信息:
目标收敛:该智能体主要解决什么问题,哪些问题直接拒绝或转交。
边界声明:明确禁止的行为与信息来源,避免越权与编造。
格式约束:约定输出结构,例如必须用 Markdown、必须给出可执行命令、必须给出失败处理。
指令越像“可执行规范”,系统越容易稳定。把指令写成文学化口吻,往往会引入歧义,使模型在关键时刻无法可靠地遵循。
3.3.2 在配置中设置默认指令与专用指令
OpenClaw 支持设置默认指令,也支持为特定智能体设置专用指令。配置字段以 agents.defaults.instructions 作为默认值,同时允许在某个智能体上覆盖。
下面示例展示了默认指令与覆盖指令的基本形态。在 Dashboard 的 Agents 页面,您也可以可视化地管理这些设定,如下图所示:

图 3-4:Agents 可视化配置
写法以官方文档字段为准,示例内容强调“可验证、可排障”的输出要求。
如果系统中使用多智能体路由,建议把“入口治理”写到入口智能体的指令里,把“领域知识与工具使用”写到领域智能体的指令里,减少同一指令同时承担太多职责。
3.3.3 指令写作方法:把关键约束写成可检查的条款
指令的可执行性来自“可检查”。实践中可以采用如下写法:
先写输出结构:例如固定为“结论、命令、验证、失败处理”四段。
再写禁止项:例如禁止输出未在文档出现的命令与配置键。
最后写升级路径:当需要高风险工具时,必须提示升级入口或人工确认。
具体例子:好指令 vs 坏指令的对比
目标
“你是一个友善的助手,尽力帮助用户”
“只处理与 K8s 运维相关的问题;非运维问题回复'超出职责范围'”
边界
“请小心使用危险命令”
“禁止输出 kubectl delete、helm uninstall 等破坏性命令;如需执行,必须先输出回滚方案并等待用户确认”
输出
“请尽量详细地回答”
“输出必须包含四段:结论(一句话)、命令(带注释)、验证方式(预期输出)、失败处理(下一步)”
来源
“参考你的知识来回答”
“只引用官方文档与工作区内的 Runbook;不确定时明确标注'未在文档中找到'”
以下是一个完整的”好指令”模板:
避免把安全边界只写在指令里。真正的边界应由工具策略与沙箱约束提供确定性兜底,详见 5.2 工具策略:允许、拒绝与分层策略。
3.3.3a 不同复杂度的完整指令示例
以下三个示例演示从简单到复杂的指令设计,包括完整的 JSON5 配置块。
示例 1:简单 — 个人日常助手
场景:个人日程助手,处理日程查询、提醒、简单任务记录。
示例 2:中等 — 团队 DevOps 运维助手
场景:技术团队共用的 K8s/基础设施运维助手,有严格的权限与审计要求。
示例 3:复杂 — 多语言客服入口智能体
场景:公共客服入口智能体,需要语言检测、问题分类、工单路由与升级机制。
指令示例对比与提炼
字数
~200
~500
~800
核心复杂度
职责边界清晰
权限分层明确
动态路由与升级逻辑
工具限制
3 个工具,无权限分层
5 个工具,分层权限(读/写/禁止)
6 个工具,意图-路由对应表
关键机制
职责拒绝
变更计划与回滚
意图分类与自助升级
日志关注点
操作确认
权限检查与变更痕迹
路由决策与升级触发
验证方法
随机测试边界问题
测试读写权限与破坏性命令拒绝
测试各意图分类、升级路由、多语言处理
3.3.4 另一条路线:SOUL.md 与个性化人格配置
前面三节讨论的是“把指令当可执行规范”的团队路线。在个人助理场景下,还有一条互补路线:用 SOUL.md 文件定义智能体的沟通风格、关系定位与行为边界,让它更像一个“了解你的同事”而不是“遵守 SOP 的客服”。
适用场景区分
适用场景
团队工具、生产环境、多人共用
个人助理、私人场景、单人使用
核心目标
稳定、可验证、可审计
自然、有记忆、有个性
典型内容
输出结构、禁止项、升级路径
沟通风格、关系定位、禁忌话题
SOUL.md 的典型结构
一个面向个人助理的 SOUL.md 通常包含以下信息:
你是谁:职业、工作内容、兴趣爱好,帮助智能体理解你的背景。
关系定位:是助手还是同事?是正式还是随意?这会影响语气和主动性。
沟通偏好:简洁还是详细?直接还是委婉?是否允许幽默?
主动性边界:执行任务时可以主动建议,但自我分析场景禁止主动给建议。
禁忌事项:哪些行为不想要(如过度讨好、空洞客套)。
“入职培训”:用知识库加速人设建立
更进一步的做法是把你的知识库(笔记、文档、工作流模板)传到工作区,让智能体像新员工入职一样通读一遍,然后自行更新 memory.md。这种方式比手写 SOUL.md 更高效,因为智能体可以从你的实际文档中推断出工作习惯、偏好甚至人际关系,后续交互的适配程度会远高于手动描述。
[!NOTE] SOUL.md 适合个人探索与快速上手,但在团队与生产环境中,仍然建议以可检查的指令规范为主(参见 3.3.1–3.3.3),避免“人设漂移”导致不可预期的行为。两种路线可以叠加使用:用指令规范兜住边界,用 SOUL.md 调整风格。
3.3.5 如何验证指令生效:用对话回放与日志做成完整流程
验证指令是否生效,不建议只凭主观感受。更稳妥的方法是建立可回放用例:
用控制台或 WebChat 输入固定测试集,覆盖边界问题与失败场景。
用
status --deep与结构化日志检查智能体选择、工具策略与失败原因。
当观察到模型偏离指令时,优先检查是否为路由绑定、工具策略或渠道门控导致的上下文变化,再回到指令本身做最小修改。指令的迭代应与配置管理一同纳入版本控制,避免线上与线下行为不一致。
最后更新于
