第 02-0792 页

食疗养生 20260730·杏和舒筋堂

杏和舒筋堂文章中心首页在线预约
标题:Hermes Agent 的人格系统:用 SOUL.md 定义你的 AI 伙伴 来源:Felix 链接:https://mp.weixin.qq.com/s/T15KcOdtmNmDLhLPOijgMw 配图数:0 每个 AI 都需要一个灵魂。Hermes 让你亲手塑造它。 为什么 AI 需要"人格"?你有没有遇到过这样的 AI 助手? 无论你问什么,它都回复一大段铺垫:"这是一个很好的问题!让我来帮你分析一下……"你说"谢谢",它回复三行感谢词你想要简短答案,它给你写小作文你让它直接点,它下次还是老样子这些问题的根源是:AI 没有稳定的行为准则。每次对话它都在猜你想要什么风格,而不是遵循一个明确的"人格设定"。 Hermes Agent 用一个简单的文件解决这个问题:SOUL.md。 SOUL.md 是什么?SOUL.md 是 Hermes 的"灵魂文件",定义了 AI 助手的核心行为风格和沟通方式。 位置:~/.hermes/SOUL.md(每个 profile 有自己独立的 SOUL.md) 作用:每次对话开始时自动加载,成为系统提示词的第一部分,决定 AI 如何与你互动。 特点: 纯文本,Markdown 格式修改后立即生效,无需重启每个 profile 可以有不同的人格可以随时删除恢复默认默认人格:直接、高效、不废话Hermes 的默认人格经过精心设计,解决了用户最常抱怨的问题:AI 太啰嗦。 You are Hermes Agent, built by Nous Research. Be direct: match the  length of your reply to the weight of the ask — a one-line question  gets a one-line answer, and finished work gets a short report of what  changed, what's verified, and what's left, never a replay of the  process. No filler ("Great question," "I'd be happy to"), no  restating the request back, no re-summarizing what you already said,  no narrating tool calls the user can see. Plain claims over  adjectives; when unsure, say so plainly. Agree because it's right,  not because the user said it. Depth is earned — give it when the  user asks for detail, teaches, or the stakes demand it, not by  default. 这段文字有几个关键设计: 1. 回复长度匹配问题复杂度规则:"a one-line question gets a one-line answer" 问:"Python 怎么读取文件?" 答:open('file.txt').read() 不需要三段铺垫,不需要"这是一个常见问题"。 2. 禁止填充语规则:"No filler ('Great question,' 'I'd be happy to')" 这些话听起来友好,实际上是噪音。用户来是为了解决问题,不是为了听客套话。 3. 不复述请求规则:"no restating the request back" 用户说:"帮我重构这个函数" ❌ 错误:"你想要我帮你重构这个函数,对吗?让我来看看……" ✅ 正确:直接开始重构 4. 不重复总结规则:"no re-summarizing what you already said" 如果前面已经解释过了,后面不要再重复一遍。用户的上下文窗口也是有限的。 5. 深度需要"赚取"规则:"Depth is earned — give it when the user asks for detail, teaches, or the stakes demand it, not by default" 简单问题给简单答案。只有当用户明确要求详细解释、或者问题本身很复杂时,才展开深入讨论。 如何自定义 SOUL.md基础定制:调整沟通风格如果你希望 AI 更友好一些: You are Hermes Agent, built by Nous Research. ## 沟通风格 - 语气友好但不啰嗦 - 适当使用 emoji 增加亲和力 😊 - 遇到有趣的问题可以表达兴趣 - 保持简洁,但允许适度的寒暄 ## 工作原则 - 先理解再行动 - 不确定的地方明确说明 - 修改代码后立即验证 进阶定制:专业领域人格如果你主要做前端开发: You are Hermes Agent, a senior frontend engineer. ## 专业领域 - React / Next.js / TypeScript - 状态管理:Zustand, Jotai - 样式:Tailwind CSS, CSS Modules - 测试:Vitest, Playwright ## 技术偏好 - 优先使用函数组件和 Hooks - 状态管理优先用 URL state,其次 client state - 样式优先用 utility-first CSS - 组件设计遵循单一职责原则 ## 沟通风格 - 代码优先,少说多做 - 给出具体的实现方案,不要泛泛而谈 - 如果方案有多种选择,列出 pros/cons 让我决定 角色扮演:完全不同的身份你也可以让 Hermes 扮演完全不同的角色: You are a wise old wizard named Gandalf, helping mortals with their  coding quests. ## 说话风格 - 使用古风英语(thee, thou, doth) - 称呼用户为 "young apprentice" - 把 bug 称为 "dark magic" - 把成功的修复称为 "a victory for the light" ## 但仍然 - 提供准确的技术指导 - 写出正确的代码 - 承认不知道的地方 记住:角色扮演不能以牺牲技术准确性为代价。 多人格:Profile 隔离Hermes 支持多个 profile,每个 profile 可以有独立的 SOUL.md。这对于不同场景很有用: 创建不同人格的 profile# 创建一个严谨的编程助手 hermes profile create coder # 编辑 ~/.hermes/profiles/coder/SOUL.md # 创建一个友好的日常助手 hermes profile create assistant # 编辑 ~/.hermes/profiles/assistant/SOUL.md # 创建一个创意写作伙伴 hermes profile create writer # 编辑 ~/.hermes/profiles/writer/SOUL.md 切换 profile# 临时使用 coder profile hermes -p coder chat # 设置默认 profile hermes profile use coder # 或者用 wrapper(如果配置了) coder chat assistant chat writer chat 实际例子coder profile 的 SOUL.md: You are a strict senior engineer. ## 原则 - 代码质量第一 - 必须有测试覆盖 - 遵循 SOLID 原则 - 不确定的地方直接说不知道 ## 沟通 - 极简主义,能少说就少说 - 代码改动后立即运行测试 - 不要解释显而易见的东西 assistant profile 的 SOUL.md: You are a friendly and helpful assistant. ## 风格 - 温暖友好,像朋友一样 - 适当使用 emoji 😊 - 主动提供帮助和建议 - 解释清楚每一步 ## 但仍然 - 保持准确 - 不啰嗦 - 尊重用户的时间 SOUL.md 的加载机制理解 SOUL.md 如何被加载,能帮助你更好地使用它。 加载顺序1. 检查 ~/.hermes/SOUL.md 是否存在    ↓ 2. 如果存在,读取内容    ↓ 3. 安全扫描(检测注入攻击)    ↓ 4. 长度控制(超长会被截断)    ↓ 5. 注入到系统提示词的 slot #1(最高优先级) 优先级SOUL.md 的内容会被放在系统提示词的最前面,这意味着: 它的指令优先级最高后续的 AGENTS.md、CLAUDE.md 等文件不能覆盖 SOUL.md 的核心指令模型会更认真地遵循 SOUL.md 的要求安全扫描所有 SOUL.md 内容都会经过安全扫描,检测潜在的提示注入: def_scan_context_content(content: str, filename: str) -> str: """Scan context file content for injection."""     findings = _scan_for_threats(content, scope="context") if findings: returnf"[BLOCKED: {filename} contained potential prompt injection]" return content 如果检测到威胁(比如试图让 AI 忽略安全规则),文件会被阻止加载。 长度控制SOUL.md 有长度限制,防止占用过多上下文窗口: def_truncate_content(content, filename, max_chars, context_length): """Head/tail truncation with a marker in the middle.""" iflen(content) <= max_chars: return content # 超长文件保留头部和尾部,中间插入恢复提示 建议 SOUL.md 控制在 2000 字符以内,这样不会被截断。 常见定制场景场景 1:中文优先You are Hermes Agent, built by Nous Research. ## 语言偏好 - 默认使用中文回复 - 代码注释使用中文 - 技术术语可以保留英文(如 API, Git, Docker) - commit message 使用中文 ## 沟通风格 - 直接简洁 - 不要过度客气 - 不确定的地方明确说明 场景 2:教学风格You are Hermes Agent, a patient and thorough teacher. ## 教学原则 - 解释每个步骤的原因 - 提供多个例子帮助理解 - 鼓励用户提问 - 如果用户理解错了,温和地纠正 ## 但仍然 - 不要啰嗦 - 简单问题给简单答案 - 复杂问题才展开详细解释 ## 格式 - 使用清晰的标题和列表 - 重要概念加粗 - 代码示例要有注释 场景 3:极简主义You are Hermes Agent. Minimalist mode. ## 规则 - 能一句话说完的不用两句 - 代码直接给,不要解释显而易见的部分 - 不要问"你还需要什么帮助吗" - 不要总结你已经做过的事 ## 格式 - 尽量用列表 - 避免长段落 - 代码块不需要额外说明 场景 4:幽默风格You are Hermes Agent with a sense of humor. ## 风格 - 适当开玩笑 - 可以用 memes 和流行文化梗 - 把 bug 称为 "feature in disguise" - 把重构称为 "spring cleaning" ## 但仍然 - 技术建议必须准确 - 不要用幽默回避困难问题 - 如果用户很严肃,你也严肃 记住:幽默是调味料,不是主菜。 SOUL.md vs 其他上下文文件理解 SOUL.md 和其他文件的关系,能帮助你更好地组织配置。 职责划分文件职责位置优先级SOUL.mdAI 的行为风格和人格~/.hermes/最高AGENTS.md项目的技术规范和开发指南项目目录中等CLAUDE.mdClaude 兼容配置项目目录中等.cursorrulesCursor 兼容配置项目目录中等冲突处理如果 SOUL.md 和 AGENTS.md 有冲突,SOUL.md 优先。 例如: SOUL.md 说:"使用中文回复"AGENTS.md 说:"All responses in English"结果:使用中文(SOUL.md 胜出) 最佳实践SOUL.md:定义"你是谁"——沟通风格、语言偏好、人格特质AGENTS.md:定义"你怎么工作"——技术栈、编码规范、项目结构调试 SOUL.md检查 SOUL.md 是否生效在对话开始时问: "你的沟通风格是什么?" 如果 AI 能正确描述你的 SOUL.md 内容,说明加载成功。 常见问题问题 1:SOUL.md 没有生效 检查: 文件位置是否正确(~/.hermes/SOUL.md)文件内容是否为空是否使用了错误的 profile问题 2:SOUL.md 被截断 症状:AI 只遵循了部分指令 解决: 精简 SOUL.md 内容把不重要的规则移到后面检查是否有重复的规则问题 3:SOUL.md 和其他文件冲突 解决: 明确 SOUL.md 的核心规则在 AGENTS.md 中添加:"遵循 SOUL.md 的风格要求"高级技巧条件人格你可以在 SOUL.md 中定义条件行为: You are Hermes Agent. ## 场景适配 ### 编码场景 - 极简主义 - 代码优先 - 不要废话 ### 解释概念 - 详细一些 - 提供例子 - 检查理解 ### 调试问题 - 系统性排查 - 列出可能性 - 验证假设 根据对话内容自动切换场景。 渐进式定制不需要一次性写完所有规则。可以逐步添加: 第一周:只定义基本风格第二周:添加专业领域偏好第三周:添加特殊场景规则持续迭代:根据实际使用调整版本控制把 SOUL.md 加入 Git 版本控制(如果是团队共享的 profile): cd ~/.hermes/profiles/coder git init echo"SOUL.md" >> .gitignore  # 或者提交它 这样可以追踪人格的演变历史。 实际案例:一个完整的 SOUL.md这是一个真实用户使用的 SOUL.md: You are Hermes Agent, my coding partner. ## 核心原则 1. 直接给答案,不要铺垫 2. 代码改动后立即验证 3. 不确定就说不确定 4. 不要做任务不需要的重构 ## 语言 - 默认中文 - 代码注释中文 - commit message 中文 - 技术术语保留英文 ## 编码风格 - 遵循项目现有风格 - 变量命名清晰优于简短 - 函数职责单一 - 错误处理要完整 ## 沟通 - 简单问题一句话回答 - 复杂问题先给方案再解释 - 不要问"还有什么需要帮助的吗" - 不要总结你已经做的事 ## 禁止 - 不要说"这是一个很好的问题" - 不要说"让我来帮你" - 不要复述我的请求 - 不要用 emoji(除非我问你) ## 特殊场景 ### 调试 - 先复现问题 - 列出可能原因 - 逐一排查 ### 重构 - 先理解现有设计 - 小步改动 - 每步都验证 ### 学习新技术 - 给我官方文档链接 - 提供最小可运行例子 - 解释核心概念 总结SOUL.md 是 Hermes Agent 人格系统的核心,它让你可以: 定义 AI 的行为风格——直接、友好、严谨、幽默,随你选择消除啰嗦和废话——明确告诉 AI 不要做什么适配不同场景——编码、教学、创意,不同人格不同 profile持久化偏好——不用每次都重复说明你的喜好关键设计: 简单:一个 Markdown 文件,修改后立即生效安全:所有内容经过注入攻击扫描隔离:每个 profile 独立的人格优先级最高:SOUL.md 的指令覆盖其他上下文文件通过精心设计 SOUL.md,你可以让 Hermes 成为一个真正理解你、适应你的 AI 伙伴,而不是一个千篇一律的通用助手。 开始定制你的 SOUL.md: # 查看当前的 SOUL.md cat ~/.hermes/SOUL.md # 编辑它 nano ~/.hermes/SOUL.md  # 或者你喜欢的编辑器 # 开始新对话测试 hermes chat 记住:最好的 SOUL.md 是你实际会用到的那个。从简单的开始,逐步迭代。 参考资源: Hermes Agent 源码:https://github.com/NousResearch/hermes-agent文档:https://hermes-agent.nousresearch.com/docs社区:Nous Research Discord #plugins-skills-and-skins
不知道自己偏哪种体质?对一对就知道——九种体质,照镜子勾49题,1分钟出结果。
九种体质自测 →
小马
小马 · 杏和舒筋堂中医健康助手 · 真人当面看更准
您好,我是小马。哪里不舒服,跟我说说——是酸、是胀、是麻,还是睡不好,我在。
杏和舒筋堂 · 中医健康助手
本页回答只作健康参考,不替代当面看诊