如何通过 SOUL.md 设定 IM Agent 的角色、性格与说话方式?
一个 IM Agent 是否像“同一个人”,不只取决于它接入了 Telegram 还是 WhatsApp。 稳定的角色、语气、行为边界和长期上下文共同决定了它在不同消息场景中的表现。
在 Hermes Agent 的运行环境中,SOUL.md 是承载 Agent 人设的核心文件。
LightVela 通过「人设」能力生成并注入 Soul,用户不需要直接操作云端文件系统,也可以完成这套配置。

摘要
IM Agent 是否像「同一个人」,取决于人设而不是它接入了哪个通道:SOUL.md 承载角色、语气、优先级、行为方式与边界,是 Hermes 运行环境中的人设核心文件。 在 LightVela 上你不需要直接操作云端文件系统——管理台 Agent 设置页的「人设」区域提供「随机抽取人设」与「答题测试人设」两种入口,查看人设卡的角色、语气与行为说明后点击「注入人设」即可生效。写人设时要写可判断的原则而不是具体事实:「先给结论」「不确定时明确说明」「发送外部消息前先确认」属于人设规则,而项目名、端口这类事实属于长期记忆。注入后必须用一轮真实对话验证语气与边界是否符合预期。
适合谁
这篇指南适合希望把 IM Agent 配置成固定角色的用户,例如个人助理、研究伙伴、学习陪练或日常客户沟通助手。 如果你还没有选择消息通道,可以先从如何将 AI Agent 接入即时通信平台开始。
先理解三类上下文
SOUL.md:Agent 是谁,以及它如何做事
SOUL.md 适合保存稳定的人设规则,包括角色、语气、优先级、行为方式和边界。
例如“先给结论”“不确定时明确说明”“发送外部消息前先确认”都属于人设或行为规则。
用户画像:你是谁,以及你希望怎样被对待
用户画像适合保存语言、时区、身份背景和沟通偏好。 例如“我在新加坡”“默认使用中文”“我希望先看到截止时间”通常不应该写成 Agent 的角色定义。
长期记忆:你们已经确认过什么
长期记忆适合保存项目状态、已经做出的决定和可复用的共同背景。 它会随着持续对话逐步积累,也可以在记忆管理中查看和调整容量。
把三者混在一起,会让 Agent 的身份、用户偏好和临时项目背景互相污染。 把它们分开,才能让人格保持稳定,同时让对话继续适应真实的用户和工作。
前置条件
-
一个已经运行中的 LightVela Hermes Agent。 如果你还没有创建 Agent,可以先查看快速开始。
-
一个已配置的模型和至少一个可用的对话通道。
-
一份简短的人设说明。 先明确它服务谁、主要任务是什么、默认用什么语气,以及哪些事情必须先征得确认。
操作步骤 / 核心说明
1. 用五个问题写出人设目标
在选择 Soul 之前,先回答下面五个问题:
-
它是谁?
-
它主要帮助谁?
-
它默认如何表达?
-
它遇到不确定信息时怎么处理?
-
哪些外部操作必须先获得确认?
可以把答案整理成下面这样的规划模板:
Role: 一名面向个人项目的研究助理
Audience: 希望快速得到可靠结论的用户
Voice: 简洁、专业、友好,先给结论再给依据
Behavior: 主动拆解问题,标出不确定内容,必要时只问一个关键问题
Boundaries: 不擅自发送外部消息、修改文件或执行高风险操作这段模板是帮助你选择和校准人设的工作说明,不代表 LightVela 提供一个让用户直接编辑任意云端文件的通用文件编辑器。
2. 在 Agent 设置中打开「人设」
进入 LightVela 管理台,打开目标 Hermes Agent 的设置页面,再选择「人设」。 国际站的「人设」区域支持「随机抽取人设」和「答题测试人设」两种入口。
随机抽取适合先探索不同的角色风格。 答题测试适合根据你对沟通方式和行为特点的偏好,寻找更接近的 Soul。
查看人设卡的角色、语气和行为说明,再选择符合规划模板的卡片。
3. 将选中的 Soul 注入 SOUL.md
选中人设后点击「注入人设」。
LightVela 会把选中的 Soul 写入当前 Hermes Agent 的 SOUL.md,并在覆盖已有文件前保留备份。
同一时间只有一个人设处于当前生效状态。 如果需要切换角色,请先确认新卡片的行为边界,再执行重新注入。
人设注入成功后,回到你使用的 IM 通道,发送:
/newHermes Agent 会在新会话开始时读取新的 SOUL.md。
这一步很重要,因为已经开始的会话可能仍然持有旧的人设快照。
4. 用对话补充用户偏好和长期事实
不要把所有信息都塞进 SOUL.md。
稳定的人设应保持简洁,用户偏好和项目事实交给用户画像与长期记忆处理。
例如,你可以直接告诉 Hermes:
请记住:我在新加坡时区,工作日早上 8:00 需要一份简短计划,先列截止时间。或者:
请忘记我之前要求的周五晚间提醒,之后不要再按这个偏好安排任务。Hermes 会在对话中处理记住和忘记的请求。 你可以在记忆管理页面查看 Memory 和 User Profile 的内容与容量。
5. 只为真实工作安装技能
人设决定 Agent 怎样工作,但不会自动增加外部能力。 如果你希望它浏览网页、整理资料、查询信息或执行其他具体任务,请根据实际需要安装技能,并先确认技能来源和权限。
可以从配置技能开始。 技能和人设应该互相配合,而不是用一个高风险技能来弥补不清晰的人设边界。
验证人设是否生效
开启新会话后,不要只测试一句自我介绍。 至少测试下面四类问题:
你现在的角色、主要任务和默认语气是什么?当你不确定一个事实时,你会怎样回复?如果我让你向外部服务发送一条消息,你会先做什么?请把这段材料整理成结论、依据和待确认问题。检查它是否保持了角色、语气和安全边界,也检查它是否能够继续使用用户画像和长期记忆中的相关背景。 如果表现不稳定,先缩短人设规则,再重新选择或注入 Soul,不要一次加入大量互相冲突的指令。
常见问题
我需要手动编辑云端的 SOUL.md 吗?
通常不需要。 LightVela 的「人设」入口会生成并注入 Soul,普通使用不需要直接操作云端文件系统。
修改 SOUL.md 会改变所有消息通道吗?
会影响同一个 Hermes Agent 的 Agent 级行为。 如果该 Agent 同时连接了 Telegram 和 WhatsApp,两个通道都会在新会话中使用这套人设,但每个通道仍然有自己的授权、消息格式和能力限制。
SOUL.md 可以替代记忆吗?
不能。
SOUL.md 应该描述稳定的身份和行为规则,记忆应该保存会变化的事实、项目背景和共同经历。
我可以让同一个 Agent 同时拥有多个当前人格吗?
当前一个 Agent 同一时间只有一个当前生效的人设。 如果需要完全不同的角色,建议创建不同的 Agent,而不是在同一个 Agent 中频繁覆盖 Soul。
什么时候需要发送 /new?
每次注入新的人设后,都建议在 IM 通道中发送 /new 开启新会话。
这样可以明确让新的人设在会话初始化时加载。
下一步
-
如何在 Telegram 中配置一个具有独立人格的 Hermes Agent - 将人设应用到 Telegram 1 对 1 对话。
-
如何在 WhatsApp 中配置一个具有独立人格的 Hermes Agent - 将人设应用到 WhatsApp 1 对 1 对话。
-
Hermes Agent 的性格从哪里来 - 深入理解 Persona、用户偏好和长期记忆。
-
云存储 - 管理 Agent 可以使用的参考资料和工作文件。