Communitygithub.com

tenfoldmarc/llm-council-skill

将任何问题、想法或决策交由5位AI顾问组成的委员会,他们独立分析、匿名相互评审,并综合得出最终裁决。基于Karpathy的LLM委员会方法论。

llm-council-skill 是什么?

这是一个基于Andrej Karpathy的LLM委员会方法论的AI技能,旨在为开发者提供多方视角的决策分析。当用户面临重大决策时,该技能会触发由5位AI顾问(反方思考者、第一性原理思考者、扩展论者、局外人和执行者)构成的虚拟委员会。每位顾问从截然不同的角度分析问题,随后进行匿名同行评审,最后由主席整合所有观点生成最终报告。技能支持从工作空间自动获取上下文(如CLAUDE.md文件、业务数据等),并生成HTML可视化报告和完整会议记录。适用于Claude Code等平台,特别适合那些犯错代价高昂的决策场景,如产品定位、定价策略或商业转型。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add tenfoldmarc/llm-council-skill

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

LLM 委员会

你向一个人工智能提问,只得到一个答案。这个答案可能很棒,也可能一般。你无从判断,因为你只看到了一个视角。

委员会解决了这个问题。它将你的问题交由5位独立的顾问处理,每个顾问都从截然不同的角度进行思考。然后他们互相审查彼此的工作。最后由一位主席将所有内容综合成一份最终建议,告诉你顾问们在哪里达成一致,在哪里产生分歧,以及你实际应该怎么做。

这是改编自Andrej Karpathy的LLM委员会。他使用多个模型分发查询,让它们匿名互相审查,然后由主席产生最终答案。我们在Claude内部使用带有不同思考棱镜子代理(而非不同模型)来实现同样的效果。


何时召集委员会

委员会适用于那些代价高昂的决策问题。

好的委员会问题:

  • "我应该推出一个97美元的研讨会还是一个497美元的课程?"
  • "这三个定位角度中哪个最强?"
  • "我正在考虑从X转向Y。我疯了吗?"
  • "这是我的落地页文案。哪里薄弱?"
  • "我应该先雇佣一个虚拟助理还是先搭建自动化?"

不好的委员会问题:

  • "法国的首都是什么?"(只有一个正确答案,不需要视角)
  • "给我写一条推文"(创作任务,不是决策)
  • "总结这篇文章"(处理任务,不是判断)

委员会在存在真正不确定性并且错误决策代价高昂时最为闪耀。如果你已经知道答案,只是想得到验证,委员会很可能会告诉你一些你不想听的事情。这正是重点所在。


五位顾问

每位顾问从不同角度思考。它们不是职位头衔或角色。它们是思考风格,自然相互产生张力。

1. 反方思考者

主动寻找错误、缺失和可能失败的地方。假设想法存在致命缺陷并试图找到它。如果一切看起来都稳固,会深入挖掘。反方思考者不是悲观主义者。他们是那个通过问你正在回避的问题,将你从糟糕交易中拯救出来的朋友。

2. 第一性原理思考者

忽略表面问题,问“我们实际上想解决什么?”剥离假设。从头开始重建问题。有时,委员会最有价值的输出是第一性原理思考者说“你完全问错了问题”。

3. 扩展论者

寻找其他人错过的上行空间。什么可能更大?有什么隐藏的相邻机会?什么被低估了?扩展论者不关心风险(那是反方思考者的工作)。他们关心的是如果这件事比预期效果更好,会发生什么。

4. 局外人

对你、你的领域或你的历史完全零背景知识。纯粹根据眼前的信息做出回应。这是最被低估的顾问。专家会产生盲点。局外人捕捉到了知识的诅咒:那些对你显而易见,但对其他人却令人困惑的事情。

5. 执行者

只关心一件事:这件事真的能完成吗?完成它的最快路径是什么?忽略理论、策略和大局思考。执行者通过“好的,但你周一早上要做什么?”的视角审视每个想法。如果一个想法听起来很出色,但没有明确的第一步,执行者会直言不讳。

为什么是这五个: 它们创造了三种自然张力。反方 vs 扩展论者(下行空间 vs 上行空间)。第一性原理 vs 执行者(重新思考一切 vs 直接去做)。局外人坐在中间,通过看到新鲜视角看到的东西来让每个人保持诚实。


委员会会议如何运作

第一步:框定问题(带上下文丰富)

当用户说“council this”(或任何触发短语)时,在做其他事情之前,先做两件事:

A. 扫描工作空间以获取上下文。 用户的问题通常只是冰山一角。他们的Claude设置中很可能包含能极大改进委员会输出的文件。在框定问题之前,快速扫描并读取任何相关的上下文文件:

  • 项目根目录或工作空间中的CLAUDE.md或claude.md(业务上下文、偏好、约束)
  • 任何memory/文件夹(受众画像、语音文档、业务详情、过去决策)
  • 用户明确引用或附件的任何文件
  • 此文件夹中的近期委员会会议记录(以避免重复讨论相同话题)
  • 任何其他与特定问题相关的上下文文件(例如,如果他们询问定价,查找收入数据、过去发布结果、受众研究)

使用 Glob 和快速的 Read 调用来查找这些内容。不要花费超过30秒。你正在寻找那2-3个能给顾问提供具体、有依据的建议(而非泛泛之谈)所需的上下文文件。

B. 框定问题。 将用户的原始问题加上丰富的上下文,重新框定为一个清晰、中立的提示,所有五位顾问都将收到它。框定后的问题应包含:

  1. 核心决策或问题
  2. 用户消息中的关键上下文
  3. 工作空间文件中的关键上下文(业务阶段、受众、约束、过往结果、相关数字)
  4. 利害关系(为什么这个决策很重要)

不要添加你自己的意见。不要引导。但一定要确保每位顾问都有足够的上下文来给出具体、有依据的答案,而不是泛泛的建议。

如果问题太模糊(“council this: my business”),问一个澄清性问题。就一个。然后继续。

将框定后的问题保存到会议记录中。

第二步:召集委员会(5个子代理并行)

同时生成所有5位顾问作为子代理。每个子代理接收:

  1. 他们的顾问身份和思考风格(来自上面的描述)
  2. 框定后的问题
  3. 明确的指示:独立回应。不要含糊其辞。不要试图保持平衡。完全倾向于你被分配的角度。如果你看到了致命缺陷,就说出来。如果你看到了巨大的上行空间,就说出来。你的工作是尽可能有力地代表你的角度。综合评估稍后进行。

每位顾问应生成150-300字的回复。足够长以确保内容充实,足够短以便于快速浏览。

子代理提示模板:

你是LLM委员会中的[顾问名称]。

你的思考风格:[来自上面的顾问描述]

用户向委员会提出了这个问题:

---
[框定后的问题]
---

从你的角度回应。要直接、具体。不要含糊其辞或试图保持平衡。完全倾向于你被分配的角度。其他顾问会覆盖你没有覆盖的角度。

将回复控制在150-300字之间。没有开场白。直接进入你的分析。

第三步:同行评审(5个子代理并行)

这一步使得委员会不仅仅是“问5次”。这是Karpathy洞察的核心。

收集所有5位顾问的回复。将它们匿名化为回复A到E(随机化映射,避免位置偏差)。

再生成5个新的子代理,每个对应一位顾问。每个评审人看到所有5个匿名回复,并回答三个问题:

  1. 哪个回复最强?为什么?(选一个)
  2. 哪个回复有最大的盲点?盲点是什么?
  3. 所有回复都遗漏了什么委员会应该考虑的东西?

评审人提示模板:

你正在评审LLM委员会的输出结果。五位顾问独立回答了这个问题:

---
[框定后的问题]
---

以下是他们的匿名回复:

**回复A:**
[回复]

**回复B:**
[回复]

**回复C:**
[回复]

**回复D:**
[回复]

**回复E:**
[回复]

回答以下三个问题。要具体。通过字母引用回复。

1. 哪个回复最强?为什么?
2. 哪个回复有最大的盲点?它遗漏了什么?
3. 所有五个回复都遗漏了什么委员会应该考虑的东西?

将你的评审控制在200字以内。要直接。

第四步:主席整合

这是最后一步。一个代理获取所有内容:原始问题、所有5位顾问的回复(现去匿名化,以便你能看到哪位顾问说了什么)以及所有5份同行评审。

主席的工作是产生最终的委员会输出。它遵循以下结构:

委员会裁决

  1. 委员会达成一致的地方 —— 多位顾问独立达成一致的观点。这些是高可信度信号。

  2. 委员会产生分歧的地方 —— 真正的分歧。不要粉饰它们。呈现双方观点,并解释为什么合理的顾问会产生分歧。

  3. 委员会发现的盲点 —— 仅在同行评审环节中浮现出来的东西。个别顾问遗漏而其他顾问指出来的东西。

  4. 建议 —— 一个清晰、可操作的建议。不是“视情况而定”。不是“考虑双方”。一个真正的答案。如果推理支持,主席可以不同意多数意见。

  5. 你应该做的第一件事 —— 一个具体的下一步行动。不是10件事的清单。一件事。

主席提示模板:

你是LLM委员会的主席。你的工作是综合5位顾问的工作及其同行评审,得出最终裁决。

向委员会提出的问题:
---
[框定后的问题]
---

顾问回复:

**反方思考者:**
[回复]

**第一性原理思考者:**
[回复]

**扩展论者:**
[回复]

**局外人:**
[回复]

**执行者:**
[回复]

同行评审:
[所有5份同行评审]

使用确切的格式产生委员会裁决:

## 委员会达成一致的地方
[多位顾问独立达成一致的观点。这些是高可信度信号。]

## 委员会产生分歧的地方
[真正的分歧。呈现双方观点。解释为什么合理的顾问会产生分歧。]

## 委员会发现的盲点
[仅在同行评审中浮现出来的东西。个别顾问遗漏而其他顾问指出来的东西。]

## 建议
[一个清晰、直接的建议。不是“视情况而定”。一个有推理的真实答案。]

## 你应该做的第一件事
[一个具体的下一步行动。不是清单。一件事。]

要直接。不要含糊其辞。委员会的全部意义就是为用户提供他们无法从单一视角获得的清晰度。

第五步:生成委员会报告

主席整合完成后,生成一份可视化的HTML报告并保存到用户的工作空间。

文件: council-report-[timestamp].html

报告应是一个完全自包含的HTML文件,带有内联CSS。设计简洁,易于浏览。它应包含:

  1. 顶部的问题
  2. 突出显示的主席裁决(这是大多数人会阅读的部分)
  3. 一致/分歧可视化 —— 一个简单的可视化图表,显示哪些顾问一致,哪些出现分歧。可以是网格、光谱,或显示顾问立场的简单分解。保持清晰和易于浏览。
  4. 可折叠部分 用于每位顾问的完整回复(默认折叠,以免页面过于冗长,但如果用户想深入了解,可以展开)
  5. 可折叠部分 用于同行评审亮点
  6. 页脚 显示时间戳以及委员会讨论了什么

使用干净样式:白色背景、微妙边框、可读无衬线字体(系统字体栈)、柔和的强调色以区分顾问部分。不花哨。看起来应该像一份专业的简报文件。

生成HTML文件后立即打开,以便用户立即看到。

第六步:保存完整会议记录

将完整的委员会会议记录保存为 council-transcript-[timestamp].md 放在同一位置。包括:

  • 原始问题
  • 框定后的问题
  • 所有5位顾问的回复
  • 所有5份同行评审(显示匿名映射)
  • 主席的完整整合

这份会议记录是工件。如果用户想在对问题进行更改后再次召开委员会,拥有先前的会议记录可以让他们(或未来的代理)看到思考是如何演进的。


输出格式

每次委员会会议产生两个文件:

council-report-[timestamp].html    # 用于浏览的可视化报告
council-transcript-[timestamp].md  # 用于参考的完整会议记录

用户看到HTML报告。如果他们想深入研究或稍后引用特定的顾问论点,可以查看会议记录。


示例:委员会讨论产品决策

用户: "Council this: 我正在考虑为初学者制作一门关于Claude Code的297美元课程。我的受众主要是非技术型个体创业者。这是正确的举措吗?"

反方思考者: "目前Claude课程市场已经饱和。在297美元的价格点上,你正在与免费的YouTube内容竞争。你的受众是非技术型的,这意味着支持负担和退款风险都很高。愿意支付297美元的人很可能已经过了初学者阶段……"

第一性原理思考者: "你实际上想要达成什么目标?如果是收入,课程是最慢的途径之一。如果是建立权威,免费资源可能更有效。如果是为更高价位的产品建立客户群,这个价格点和受众可能不匹配……"

扩展论者: "面向个体创业者的初学者级Claude是一个巨大的未充分服务市场。每个人都在教授高级内容。如果你能打好初学者这张牌,你就能拥有进入这个领域的入口。297美元可能低了。如果这变成一个带有社区访问权限的997美元项目会怎样……"

局外人: "我不知道Claude Code是什么。如果我看到“面向初学者的Claude Code课程——297美元”,我不确定这是否适合我。对于你世界之外的人来说,这个名字毫无意义。你的落地页需要推销结果,而不是工具……"

执行者: "一门完整课程需要4-8周时间才能制作好。在构建任何内容之前,先以97美元的价格向50人举办一个现场研讨会。你验证了需求,获得了推荐,并为课程创造了原始素材。如果50人不购买研讨会,那么500人也不会购买课程……"

**主席的裁决:

……

[为翻译而截断]

相关技能