上个月,我正在运行一个复杂的多智能体工作流。智能体们在协作、调试代码和规划功能。逻辑是通的,但我的API账单却不对劲。我看着Token计数器随着每一次礼貌、冗长的交互而攀升。诸如“当然,我很乐意为您提供帮助!”和“让我提供一个全面的概述”这样的短语正在吞噬我的预算。核心的技术信息是存在的,但它被埋在了层层对话性的废话之下。我需要一种方法,让我的智能体以最高效率沟通,剥离掉所有非必要的信息。
这是任何使用大语言模型进行构建的人都会遇到的常见痛点。你为每一个Token付费,无论是输入还是输出。冗长的回答、模棱两可的语言和不必要的客套话,都会直接转化为更高的成本和更慢的响应时间。问题不在于模型是错的,而在于它效率低下。一个好的解决方案应该保留所有的技术准确性——每一个代码片段、每一个API名称、每一个精确的错误信息——同时无情地剔除那些不增加价值的填充词和句子结构。它会让沟通变得密集而直接。
问题所在:智能体通信中的Token膨胀
当你像在智能体循环中那样,将多个大语言模型调用链接在一起时,Token使用量会成倍增加。一个智能体的单个冗长响应,会成为下一个智能体的输入上下文,这种膨胀会不断累积。以下是通常发生的情况:
- 礼貌的开场/结束语: “当然!”、“没问题!”、“希望这有帮助!”这些增加了Token,却没有提供任何信息价值。
- 模棱两可的语言: “可能有可能...”、“你可以尝试...”在需要直接性的地方引入了不确定性。
- 不必要的冠词和填充词: “一个”、“这个”、“只是”、“真的”、“基本上”这些词填充了句子,却没有改变意思。
- 冗长的同义词: 使用“实施一个解决方案”而不是“修复”,或者“利用”而不是“使用”。
- 叙述动作: 在实际执行之前说“让我现在为你查阅文档...”。
这种冗长性通常根植于模型的训练中。它被设计得乐于助人且善于对话。但对于智能体之间的通信,或者对于优先考虑效率的用户来说,这种默认风格是一个成本中心。你需要一种方法来系统地覆盖它。
介绍“穴居人”技能:一种简洁的通信协议
这就是“穴居人”技能的用武之地。它不是一个模型或工具,而是一种结构化的提示技术,指示大语言模型采用一种超压缩的沟通风格。可以把它想象成一个你可以激活的“Token节省模式”。核心思想很简单:像穴居人一样说话。去掉所有填充词,使用句子片段,采用简短的同义词,但保留每一项技术实质。
这个技能定义在一个 SKILL.md 文件中,你可以将其集成到智能体的系统提示中,或直接用作指令。这是一套为模型遵循的、经过策划的规则。以下是它执行的关键转换:
普通回答: “当然!我很乐意为您提供帮助。您遇到的问题很可能是由身份验证中间件中的竞态条件引起的。让我解释一下...”
穴居人回答: “Bug in auth middleware. Race condition. Token expiry check use < not <=. Fix:”
第二个版本更短、更直接,并且包含了相同的关键信息。该技能支持不同的强度级别,从温和的“lite”模式(只去除填充词)到完整的“caveman”模式(使用句子片段并省略冠词)。
“穴居人”模式如何运作:核心规则
该技能的有效性来自于一套清晰、可执行的规则。激活后,模型被指示:
- 删除非必要词汇: 去掉冠词(一个/这个)、填充词(只是/真的/基本上)和客套话(当然/没问题/乐意之至)。
- 使用句子片段: 不需要完整的句子。“New object ref each render. Wrap in
useMemo.” 是可以接受的。 - 使用简短同义词: 用“大”代替“广泛”,用“修复”代替“实施一个解决方案”。
- 保持技术精确性: 所有代码块、API名称、CLI命令、错误字符串和技术缩写(DB, API, HTTP)都必须原样保留。不发明新的缩写。
- 保持语言: 压缩应用于风格,而不是语言。如果用户用西班牙语写作,回答就是简洁的西班牙语穴居人风格,而不是强行使用英语。
该技能还包含一个自动清晰化的安全功能。对于关键通信,如安全警告、不可逆操作确认,或者当压缩风格可能产生歧义时,它会自动恢复到更清晰的标准风格。这可以防止效率提升导致误解。
何时使用(以及何时不使用)此技能
这个技能是一个工具,像任何工具一样,它有理想的使用场景,也有不适合的情况。
最佳使用场景
- 智能体间通信: 当多个AI智能体协作时,简洁的通信可以减少上下文窗口膨胀和成本。
- 调试与错误分析: 当智能体解析日志或错误信息时,你希望输出是直接的发现,而不是关于过程的叙述。
- 代码生成与审查: 对于输出主要是代码片段、命令或技术规范的任务。
- 注重Token的工作流: 任何API成本是首要考虑因素的应用,例如高吞吐量处理或使用免费额度。
- 偏好信息密度的用户: 开发者或技术用户,希望快速获取信息,不需要对话式的铺垫。
应避免使用的情况
- 面向客户的聊天机器人: 在那里,语气、同理心和礼貌是用户体验的一部分。
- 创意写作或头脑风暴: 在那里,流畅性、叙事性和探索性语言是有价值的。
- 向新手解释复杂概念: 在那里,需要循序渐进、温和的指导。“lite”模式可能是一个折中方案。
- 当用户明确想要对话式风格时。
为你的工作流评估此技能
在集成此技能之前,你应该检查以下几点:
- 仓库信号: “穴居人”仓库拥有超过72,000个星标,表明了社区的极大兴趣和认可。许可证是“Before/After”,你应该查阅以了解其条款。安全级别标记为“低”,这对于不执行代码的提示技能来说是典型的。
- 兼容性: 用你的目标模型测试该技能。
SKILL.md中的示例是为Claude等模型量身定制的,但其原理是通用的。运行几个测试提示,看看你的模型对这种风格的遵循程度如何。 - 强度级别: 决定哪个级别适合你的需求。“Lite”是一个安全的起点。“Full”是经典的穴居人模式。“Ultra”用于最大压缩,会缩写散文词汇(但从不缩写代码符号)。还有“wenyan”变体用于文言文压缩。
- 集成上下文: 你将如何使用它?你可以将核心规则附加到智能体的系统提示中。你可以创建一个触发短语,如“/caveman”或“use caveman”来按需激活。该技能设计为一旦激活就会持续,直到用“stop caveman”明确关闭。
结论
“穴居人”技能是一种针对真实问题——大语言模型Token效率低下——的实用、基于规则的方法。它不是万能药,而是一种严格的沟通协议。通过指示模型剥离对话性废话,同时保护技术准确性,你可以实现显著的Token节省——正如技能文档中描述的,可能高达75%。这直接转化为在智能体密集型工作流中更低的成本和更快的交互。
如果你的智能体太啰嗦,你的账单在攀升,那么这个技能值得研究。它是一套经过策划的提示规则,强制执行一个新的默认值:只沟通重要的事情。你可以在“穴居人”技能页面找到完整的规范和实施细节。先在非关键工作流中测试它,选择正确的强度级别,看看Token节省是否能证明为你的用例改变沟通风格是合理的。