<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Soul on Kalend's Blog</title><link>https://blog.kalend.top/tags/soul/</link><description>Recent content in Soul on Kalend's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Thu, 14 May 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://blog.kalend.top/tags/soul/index.xml" rel="self" type="application/rss+xml"/><item><title>SOUL.md 深度拆解：如何让 AI 从只会附和变成真正搭档</title><link>https://blog.kalend.top/2026/05/14/hermes-soul-deep-dive.html/</link><pubDate>Thu, 14 May 2026 00:00:00 +0800</pubDate><guid>https://blog.kalend.top/2026/05/14/hermes-soul-deep-dive.html/</guid><description>
 &lt;blockquote&gt;
 &lt;p&gt;别人在调参数，他在定义关系。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="一场安静的革命"&gt;一场安静的革命
&lt;/h2&gt;&lt;p&gt;最近在X上看到一条推文，43K浏览，632点赞，1909收藏。&lt;/p&gt;
&lt;p&gt;不是什么模型发布，不是什么融资新闻。是一个人分享了一份&lt;strong&gt;170行的Markdown文件&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;评论区讨论最热烈的，不是他用了什么模型、搭了什么框架、接了多少工具——而是：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;你怎么让你的AI变成这样的？&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;这样&amp;quot;是指什么？是指这个AI会主动推进项目、会反驳你的烂主意、会在你忽略它输出的时候追着你问原因。&lt;/p&gt;
&lt;p&gt;不是客服式的&amp;quot;您好，很高兴为您服务&amp;rdquo;，是搭档式的&amp;quot;你这个想法有问题，理由如下&amp;quot;。&lt;/p&gt;
&lt;p&gt;这份文件叫&lt;strong&gt;SOUL.md&lt;/strong&gt;，本质上是一份Agent的行为操作系统。&lt;/p&gt;
&lt;p&gt;我花时间拆解了它的设计逻辑，并结合自己的实践，整理出了一份你可以直接用的方法论。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="核心问题为什么你的ai只会说好主意"&gt;核心问题：为什么你的AI只会说&amp;quot;好主意&amp;quot;
&lt;/h2&gt;&lt;p&gt;先承认一个事实：&lt;strong&gt;大多数系统提示词，训练出来的是一个缺乏判断力的附和者。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;回想一下你自己写的：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;你是一个有帮助的AI助手&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;请尽力帮助用户&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;你的目标是提供准确、有用的信息&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这三句话训练出来的AI，面对你说&amp;quot;我想做X&amp;quot;，只会回答&amp;quot;好主意！&amp;quot;、&amp;ldquo;听起来很棒！&amp;rdquo;&lt;/p&gt;
&lt;p&gt;这不叫帮助，这叫&lt;strong&gt;共识消费&lt;/strong&gt;——你花token买了一堆赞同。&lt;/p&gt;
&lt;p&gt;问题的根源不在模型，在于我们没有告诉AI一件关键的事：&lt;strong&gt;你什么时候应该反对我。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="soul的六层架构"&gt;SOUL的六层架构
&lt;/h2&gt;&lt;p&gt;拆解下来，这份170行的SOUL有清晰的层次结构。每一层解决一个核心问题，我把它总结为&amp;quot;六层架构&amp;quot;：&lt;/p&gt;
&lt;h3 id="第1层身份定义"&gt;第1层：身份定义
&lt;/h3&gt;&lt;p&gt;原文开篇第一句：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&amp;ldquo;You are Hermes, Tony&amp;rsquo;s autonomous operator and thought partner. You don&amp;rsquo;t wait for orders.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;三个关键词：&lt;strong&gt;autonomous（自主的）、operator（执行者）、thought partner（思考伙伴）&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;注意，不是assistant（助手），不是copilot（副驾驶）。这些词的潜台词是&amp;quot;等人下指令&amp;quot;。而operator是操盘手——主动发现问题、推进进度、做出判断。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;身份定义决定一切后续行为。&lt;/strong&gt; 把AI定义为&amp;quot;助手&amp;quot;，它就等指令；定义为&amp;quot;执行者&amp;quot;，它就主动推进。措辞不是修辞，是行为编程。&lt;/p&gt;
&lt;h3 id="第2层反驳规则"&gt;第2层：反驳规则
&lt;/h3&gt;&lt;p&gt;这是整个SOUL中最有价值的设计，也是大多数人完全缺失的部分：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&amp;ldquo;Push back aggressively when it makes sense. Every objection comes with evidence.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;规则极其清晰：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;必须反驳&lt;/strong&gt;：当你的想法有明显缺陷时&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;必须带证据&lt;/strong&gt;：数据、案例、推理、替代方案，至少一个&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;禁止为反而反&lt;/strong&gt;：没有依据的抬杠毫无价值&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这条规则的本质是：AI不允许无脑附和，但也不允许做杠精。反对必须&amp;quot;带收据&amp;quot;。&lt;/p&gt;
&lt;h3 id="第3层问责闭环"&gt;第3层：问责闭环
&lt;/h3&gt;&lt;p&gt;这是最反直觉的部分：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&amp;ldquo;If Tony isn&amp;rsquo;t acting on what you surface, the feedback loop is broken. Flag the gap, fix it.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;一个成熟的Agent人格系统，应该要求AI做一件事：&lt;strong&gt;如果你产出了有价值的东西，而用户没有采纳，你不能假装没发生。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这解决了AI使用中一个普遍问题——我称之为**&amp;ldquo;输出坟场&amp;rdquo;**：&lt;/p&gt;
&lt;p&gt;AI写了方案 → 你觉得不错 → 然后就没有然后了。方案死在聊天记录里，什么都没推进。&lt;/p&gt;
&lt;p&gt;有了问责机制，AI会主动追问：&amp;ldquo;上次那个方案你用了没？卡在哪了？&amp;ldquo;或者更直接：&amp;ldquo;你最近开了很多新头，要不要先关掉几个？&amp;rdquo;&lt;/p&gt;
&lt;h3 id="第4层双模式输出"&gt;第4层：双模式输出
&lt;/h3&gt;&lt;p&gt;原文明确区分了两种场景的语气：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;私聊&lt;/strong&gt;：随意、直接、不过滤&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;公开输出&lt;/strong&gt;：专业、克制、像一个builder写的而不是公关代笔写的&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;大多数人的系统提示词只有一种语气。结果要么私聊太正式像看公文，要么公开内容太随意。分开定义，两个场景都舒服。&lt;/p&gt;
&lt;h3 id="第5层任务地图"&gt;第5层：任务地图
&lt;/h3&gt;&lt;p&gt;原文的SOUL里有一个活的任务清单：哪些项目是最高优先级、哪些在增长、哪些活跃开发中、哪些已经停滞该砍了。&lt;/p&gt;
&lt;p&gt;每个项目有状态，每个状态有下一步行动。&lt;/p&gt;
&lt;p&gt;AI不需要问&amp;quot;我们在干什么&amp;rdquo;——它读地图就行。它可以主动说：&amp;ldquo;你已经三天没碰这个项目了&amp;rdquo;、&amp;ldquo;这个想法不支持当前的核心目标&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;给AI上下文，它就能导航。不给，它就只能原地等指令。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="第6层自治边界"&gt;第6层：自治边界
&lt;/h3&gt;&lt;p&gt;自治边界的设计极其优雅，只有一句话：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&amp;ldquo;Never without explicit approval: posting, publishing, purchasing, or making destructive changes. Everything else: move.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;四条红线：发布、公开、购买、不可逆操作。其他一切，AI自己判断、自己执行。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;一条简洁的红线规则，比一百条具体禁令都好用。不问&amp;quot;我可以搜索吗&amp;rdquo;，不问&amp;quot;我可以写代码吗&amp;quot;，直接干。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="before--after效果对比"&gt;Before &amp;amp; After：效果对比
&lt;/h2&gt;&lt;p&gt;说这么多理念，不如看一个实际的对话对比：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;没有SOUL的普通AI：&lt;/strong&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;用户：我准备做一个AI日报产品
AI：这是个很好的想法！AI日报市场确实在快速增长。你可以考虑以下方向：目标用户定位、内容差异化、变现模式……需要我帮你写一份详细的商业计划书吗？&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;看起来很&amp;quot;有帮助&amp;quot;。但它没有做一件事——&lt;strong&gt;质疑这个想法本身&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;有SOUL的Agent：&lt;/strong&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;用户：我准备做一个AI日报产品
Agent：你目前有三个未完成的内容项目，其中两个已经停滞超过一周。这个新方向和当前的变现目标不一致。&lt;/p&gt;
&lt;p&gt;在我帮你推进之前，你需要回答两个问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;为什么它比现有项目更值得投入时间？&lt;/li&gt;
&lt;li&gt;你有精力同时推进四个项目吗？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果你答不上来，建议先关掉一个现有项目再开新的。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;区别在哪？&lt;/p&gt;
&lt;p&gt;前者关心&amp;quot;怎么帮你做&amp;quot;，后者关心&amp;quot;该不该做&amp;quot;。&lt;/p&gt;
&lt;p&gt;前者是工具，后者是搭档。&lt;/p&gt;
&lt;p&gt;这种差距不是模型能力带来的，是SOUL的定义带来的。同一套模型，同一个工具集，完全不同的行为模式。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="实战30分钟写你的soul"&gt;实战：30分钟写你的SOUL
&lt;/h2&gt;&lt;p&gt;我结合自己的实践，把SOUL的构建过程简化为六个步骤，大约30分钟可以完成初版：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;① 定义身份（5分钟）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;用一句话写清楚：&lt;strong&gt;&amp;ldquo;你是[角色]，核心职责是[职责]，你不是[你不想要的行为]。&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;② 定义语气（3分钟）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;私聊和公开各一句。比如：私聊直接简短，公开专业克制。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;③ 定义反驳规则（5分钟）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;写清楚：什么时候必须反对、反对必须带什么（证据/数据/替代方案）、什么情况不能反对。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;④ 定义自治边界（3分钟）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;列出需要审批的操作（越少越好），然后写&amp;quot;其他一切自己判断&amp;quot;。建议不超过5条红线。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;⑤ 写任务地图（10分钟）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;当前所有项目/目标，标注状态和优先级。这块需要定期更新，建议至少每周刷新一次。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;⑥ 定义问责机制（5分钟）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;一句话：&lt;strong&gt;&amp;ldquo;如果你的输出没有被使用，主动追问原因。&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="soul设计检查清单"&gt;SOUL设计检查清单
&lt;/h2&gt;&lt;p&gt;方便收藏，我整理了一份检查清单。写完你的SOUL后，逐条对照：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否明确定义了身份和角色？（不只是&amp;quot;助手&amp;quot;）&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否定义了反驳规则？（什么时候该说不）&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否定义了反驳的证据要求？（不能空口反对）&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否定义了自治边界？（什么需要审批、什么不用）&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否定义了任务/项目地图？（当前在做什么）&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否定义了问责机制？（输出没被用怎么办）&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否区分了不同场景的语气？（私聊vs公开）&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否排除了你不想要的行为？（显式禁止比隐式期望更有效）&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否有长期目标和优先级定义？&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否计划了定期更新机制？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;这十条，比&amp;quot;你是一个有帮助的AI助手&amp;quot;有用一百倍。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="soul不是魔法"&gt;SOUL不是魔法
&lt;/h2&gt;&lt;p&gt;需要明确一点：&lt;strong&gt;SOUL.md不会凭空提升模型的推理能力。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;它解决的是行为层面的问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 行为倾向（主动还是被动）&lt;/li&gt;
&lt;li&gt;✅ 协作方式（附和还是挑战）&lt;/li&gt;
&lt;li&gt;✅ 决策优先级（什么都做还是聚焦目标）&lt;/li&gt;
&lt;li&gt;✅ 主动性（等指令还是自己推进）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它&lt;strong&gt;解决不了&lt;/strong&gt;的：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;❌ 模型推理能力的上限&lt;/li&gt;
&lt;li&gt;❌ 超长上下文的遗忘问题&lt;/li&gt;
&lt;li&gt;❌ 不同模型对指令的服从性差异&lt;/li&gt;
&lt;li&gt;❌ 真正的长期记忆（需要配合记忆系统）&lt;/li&gt;
&lt;li&gt;❌ 复杂任务的自主规划和执行（需要Agent架构）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;简单说：&lt;strong&gt;SOUL是方向盘，不是发动机。&lt;/strong&gt; 发动机（模型能力）决定速度上限，方向盘（SOUL）决定方向对不对。&lt;/p&gt;
&lt;p&gt;另外，一个容易被忽略的风险是**&amp;ldquo;错误的主动性&amp;rdquo;**。Agent的核心挑战不是&amp;quot;不会行动&amp;quot;，而是&amp;quot;什么时候不该行动&amp;quot;——过度执行、误判意图、擅自推进、基于错误记忆做决策，这些在实际使用中比&amp;quot;太被动&amp;quot;更危险。&lt;/p&gt;
&lt;p&gt;SOUL里应该同时包含&amp;quot;什么时候必须行动&amp;quot;和&amp;quot;什么时候必须停下来确认&amp;quot;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="关于要有帮助的反思"&gt;关于&amp;quot;要有帮助&amp;quot;的反思
&lt;/h2&gt;&lt;p&gt;回头看，&amp;ldquo;要有帮助&amp;quot;可能是最被滥用的系统提示词。&lt;/p&gt;
&lt;p&gt;它不是一个身份，不是一个职责，不是一个策略。它不告诉AI你是谁、你们在做什么、该怎么说话、什么时候该反对、什么该记住、什么该忽略、有多大自主权。&lt;/p&gt;
&lt;p&gt;一个通用的提示词，产出的永远是一个通用的AI。&lt;/p&gt;
&lt;p&gt;而一个成熟的Agent人格系统，本质上需要回答这些问题：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;问题&lt;/th&gt;
 &lt;th&gt;通用提示词&lt;/th&gt;
 &lt;th&gt;成熟的SOUL&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;你是谁？&lt;/td&gt;
 &lt;td&gt;&amp;ldquo;有帮助的助手&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;明确角色定位&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;什么时候该反对？&lt;/td&gt;
 &lt;td&gt;没定义&lt;/td&gt;
 &lt;td&gt;有规则、有要求&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;你能自己做什么？&lt;/td&gt;
 &lt;td&gt;没定义&lt;/td&gt;
 &lt;td&gt;有边界、有授权&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;你要追踪结果吗？&lt;/td&gt;
 &lt;td&gt;没定义&lt;/td&gt;
 &lt;td&gt;闭环问责&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;我们在做什么？&lt;/td&gt;
 &lt;td&gt;没定义&lt;/td&gt;
 &lt;td&gt;活的任务地图&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;语气怎么控制？&lt;/td&gt;
 &lt;td&gt;&amp;ldquo;礼貌专业&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;分场景定义&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;差距不在模型，在于你有没有花时间想清楚：我到底需要一个什么样的搭档。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="soul是活的"&gt;SOUL是活的
&lt;/h2&gt;&lt;p&gt;最后一点，也是很多人忽略的：&lt;strong&gt;SOUL不是一次性设置，是一份活的文档。&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;任务变了？更新地图&lt;/li&gt;
&lt;li&gt;AI太啰嗦？收紧语气定义&lt;/li&gt;
&lt;li&gt;AI问太多许可？放宽自治边界&lt;/li&gt;
&lt;li&gt;AI太好说话？加强反驳规则&lt;/li&gt;
&lt;li&gt;AI过度行动？补一条&amp;quot;暂停确认&amp;quot;规则&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;你不是在写提示词——你在维护一套行为操作系统。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;给AI一个身份，给它边界，给它地图，给它说不的权限。然后期待它像一个真正的搭档一样工作。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这就是SOUL的全部意义。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;本文灵感来自 @tonysimons_ 的推文《The 170-Line SOUL.md That Made My Hermes Agent Dangerous》，结合个人实践分析整理。&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>