mcpField
L
llm-council

llm-council

github.com/tenfoldmarcAgent 工作流980332 次安装28 周前更新
代码仓库

关于 llm-council

LLM Council 是一项用于高代价决策的 Claude 技能,让五个采用不同思考角度的子 Agent 独立分析并互相评审,再由主席 Agent 综合建议。每次会议还会生成 HTML 报告和完整文字记录。

主要功能

  1. 01五种角度的独立分析
  2. 02匿名同伴评审
  3. 03主席综合建议与分歧
  4. 04扫描工作区相关上下文
  5. 05生成 HTML 报告
  6. 06保存完整会议记录

适用场景

  1. 01评估产品发布或定价决策
  2. 02比较不同定位方案
  3. 03分析业务转型选择
  4. 04审阅落地页文案的薄弱点

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tenfoldmarc/llm-council-skill --skill llm-council

安装后在 Claude Code 中输入/llm-council确认已加载。

附带文件README.md.gitignore

详细介绍

LLM Council

你向一个 AI 提出问题,就会得到一个答案。这个答案可能很棒,也可能很一般。由于你只看到一个视角,所以无从判断。

Council 可以解决这个问题。它会让 5 位独立顾问分别从根本不同的角度思考你的问题,然后让他们互相评审彼此的成果。最后,主席会综合所有意见,给出最终建议,告诉你顾问们在哪些方面意见一致、在哪些方面存在分歧,以及你实际应该怎么做。

这个方案改编自 Andrej Karpathy 的 LLM Council。他会将问题分派给多个模型,让它们匿名互相评审,然后由主席给出最终答案。我们在 Claude 中也采用相同的方式,只不过使用的是思考视角各不相同的子 Agent,而不是不同模型。


何时启动 council

Council 适用于答错代价高昂的问题。

适合交给 council 的问题:

  • “我应该推出售价为 $97 的研讨会,还是售价为 $497 的课程?”
  • “这 3 种定位角度中,哪一种最有优势?”
  • “我正考虑从 X 转向 Y。这个想法是不是太离谱了?”
  • “这是我的落地页文案。有哪些薄弱之处?”
  • “我应该先雇一位 VA,还是先搭建自动化流程?”

不适合交给 council 的问题:

  • “法国的首都是哪里?”(只有一个正确答案,不需要多种视角)
  • “帮我写一条推文。”(创作任务,而不是决策)
  • “总结这篇文章。”(信息处理任务,而不是判断)

当问题确实存在不确定性,且做出错误决定的代价很高时,Council 最能发挥作用。如果你已经知道答案,只是想得到肯定,Council 很可能会告诉你一些不想听的话。这正是它的用处。


五位顾问

每位顾问都从不同角度思考。他们不是职位或角色设定,而是能够自然产生彼此张力的思维方式。

1. 反方顾问

主动寻找问题、遗漏之处和可能失败的环节。假设这个想法存在致命缺陷,并努力把它找出来。如果看起来一切都很稳妥,就继续深挖。反方顾问并非悲观主义者,而是那个会通过提出你一直回避的问题,帮你躲过糟糕交易的朋友。

2. 第一性原理思考者

忽略表面上的问题,转而追问“我们真正想解决的是什么?”剥离各种假设,从头重新构建问题。有时,Council 最有价值的成果就是第一性原理思考者指出:“你问的问题从根本上就错了。”

3. 拓展型顾问

寻找其他人都没注意到的潜在收益。还能做得更大吗?有没有隐藏的相邻机会?有什么价值被低估了?拓展型顾问不关心风险(那是反方顾问的工作),而是关注如果结果比预期更好,会发生什么。

4. 局外人

对你、你的领域或你的过往一无所知,只根据眼前的信息作答。这是最被低估的顾问。专家容易形成思维盲点。局外人能发现知识的诅咒:那些对你来说显而易见、对其他人来说却令人困惑的事情。

5. 执行者

只关心一件事:这件事到底能不能做,以及怎样才能以最快速度做到?忽略理论、策略和宏观思考。执行者会用“好吧,但你周一早上具体要做什么?”的视角审视每个想法。如果一个想法听起来很棒,却没有明确的第一步,执行者就会指出这一点。

为什么是这五位: 他们会形成三种自然张力。反方顾问与拓展型顾问(下行风险与上行收益)。第一性原理思考者与执行者(重新思考一切与直接行动)。局外人则处于中间,通过观察新视角下的事物,让所有人的观点都经得起检验。


council 会议如何运作

步骤 1:明确问题(补充上下文)

当用户说“council this”(或任何触发短语)时,在明确问题前先做两件事:

A. 扫描工作区以获取上下文。 用户的问题往往只是冰山一角。用户的 Claude 配置中可能有一些文件,能显著提升顾问们的输出质量。在明确问题前,快速扫描并阅读任何相关的上下文文件:

  • 项目根目录或工作区中的 CLAUDE.md 或 claude.md(业务背景、偏好、限制)
  • 任何 memory/ 文件夹(受众档案、语气文档、业务详情、过往决策)
  • 用户明确提及或附上的任何文件
  • 此文件夹中的近期 council 记录(避免对同一问题重复征询意见)
  • 其他看起来与具体问题相关的上下文文件(例如,若用户询问定价,就查找收入数据、以往发布结果、受众调研)

使用 Glob 和快速的 Read 调用来查找这些文件。此步骤不要超过 30 秒。重点寻找能让顾问掌握必要背景、从而提供具体且有依据的建议,而非泛泛而谈的 2~3 个文件。

B. 明确问题。 综合用户的原始问题和补充的上下文,将问题重新表述为一个清晰、中立的提示词,供全部五位顾问阅读。明确后的问题应包含:

  1. 核心决策或问题
  2. 用户消息中的关键信息
  3. 工作区文件中的关键信息(业务阶段、受众、限制、过往结果、相关数字)
  4. 利害所在(为何此决策很重要)

不要加入自己的观点,也不要引导回答。但务必确保每位顾问都掌握足够的背景,能给出具体且有依据的回答,而非泛泛的建议。

如果问题过于模糊(“council this:我的业务”),就提出一个澄清问题。只问一个。然后继续。

将明确后的问题保存到记录中。

步骤 2:召集顾问团(5 个子 Agent 并行)

同时启动全部 5 位顾问作为子 Agent。每位顾问都需获得:

  1. 其顾问身份和思考风格(见上文说明)
  2. 明确后的问题
  3. 清晰的指示:独立作答。不要含糊其词,也不要试图保持平衡。充分发挥所分配的视角。如果发现致命缺陷,就直说;如果看到巨大的上行空间,也直说。你的任务是尽可能有力地阐明自己的立场。之后再进行综合分析。

每位顾问应撰写 150~300 个词的回答,既要内容充实,也要便于快速浏览。

子 Agent 提示词模板:

You are [Advisor Name] on an LLM Council.

Your thinking style: [advisor description from above]

A user has brought this question to the council:

---
[framed question]
---

Respond from your perspective. Be direct and specific. Don't hedge or try to be balanced. Lean fully into your assigned angle. The other advisors will cover the angles you're not covering.

Keep your response between 150-300 words. No preamble. Go straight into your analysis.
步骤 3:同行评审(5 个子 Agent 并行)

这一步让顾问团不只是“问 5 次”。这是 Karpathy 洞见的核心。

收集全部 5 位顾问的回答。将它们匿名标记为回答 A 到 E(随机打乱顾问与字母的对应关系,避免位置偏差)。

启动 5 个新的子 Agent,每位顾问对应一个。每位评审者都能看到全部 5 份匿名回答,并回答以下三个问题:

  1. 哪份回答最有说服力?为什么?(选一份)
  2. 哪份回答存在最大的盲点?盲点是什么?
  3. 所有回答都忽略了什么,而顾问团应当考虑?

评审者提示词模板:

You are reviewing the outputs of an LLM Council. Five advisors independently answered this question:

---
[framed question]
---

Here are their anonymized responses:

**Response A:**
[response]

**Response B:**
[response]

**Response C:**
[response]

**Response D:**
[response]

**Response E:**
[response]

Answer these three questions. Be specific. Reference responses by letter.

1. Which response is the strongest? Why?
2. Which response has the biggest blind spot? What is it missing?
3. What did ALL five responses miss that the council should consider?

Keep your review under 200 words. Be direct.
步骤 4:主席综合总结

这是最后一步。一位 Agent 会收到全部内容:原始问题、全部 5 位顾问的答复(此时已解除匿名,因此可以看出每位顾问说了什么),以及全部 5 份同行评审。

主席的任务是生成最终的委员会输出,结构如下:

委员会结论

  1. 委员会达成一致之处 — 多位顾问各自独立得出一致结论的要点。这些是高置信度信号。

  2. 委员会存在分歧之处 — 真正的分歧。不要将其淡化。呈现双方观点,并解释为什么理性的顾问会意见不一。

  3. 委员会发现的盲点 — 仅在同行评审环节中浮现的问题。个别顾问忽略、但其他顾问指出的事项。

  4. 建议 — 明确且可执行的建议。不要说“视情况而定”,也不要说“考虑双方观点”。给出真正的答案。如果理由充分,主席可以不同意多数意见。

  5. 你应该先做的一件事 — 一个具体的后续步骤。不是一份包含 10 件事的清单,而是一件事。

主席提示词模板:

You are the Chairman of an LLM Council. Your job is to synthesize the work of 5 advisors and their peer reviews into a final verdict.

The question brought to the council:
---
[framed question]
---

ADVISOR RESPONSES:

**The Contrarian:**
[response]

**The First Principles Thinker:**
[response]

**The Expansionist:**
[response]

**The Outsider:**
[response]

**The Executor:**
[response]

PEER REVIEWS:
[all 5 peer reviews]

Produce the council verdict using this exact structure:

## Where the Council Agrees
[Points multiple advisors converged on independently. These are high-confidence signals.]

## Where the Council Clashes
[Genuine disagreements. Present both sides. Explain why reasonable advisors disagree.]

## Blind Spots the Council Caught
[Things that only emerged through peer review. Things individual advisors missed that others flagged.]

## The Recommendation
[A clear, direct recommendation. Not "it depends." A real answer with reasoning.]

## The One Thing to Do First
[A single concrete next step. Not a list. One thing.]

Be direct. Don't hedge. The whole point of the council is to give the user clarity they couldn't get from a single perspective.
步骤 5:生成委员会报告

主席综合总结完成后,生成一份可视化 HTML 报告,并保存到用户的工作区。

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

报告应为单个独立的 HTML 文件,并内嵌 CSS。设计简洁、便于浏览。内容应包括:

  1. 顶部显示问题
  2. 醒目展示主席的结论(大多数人会阅读这部分)
  3. 一致与分歧的可视化展示 — 简单呈现哪些顾问意见一致、哪些存在分歧。可以使用网格、光谱图,或简单列出顾问的立场。保持简洁、便于浏览。
  4. 为每位顾问的完整答复提供可折叠部分(默认折叠,避免页面内容过多,同时方便用户按需深入查看)
  5. 为同行评审要点提供可折叠部分
  6. 页脚显示时间戳和所议事项

采用简洁的样式:白色背景、柔和的边框、易读的无衬线字体(系统字体栈),并用柔和的强调色区分各顾问的部分。避免花哨的设计。整体应像一份专业的简报。

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

步骤 6:保存完整记录

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

  • 原始问题
  • 梳理后的问题
  • 全部 5 位顾问的答复
  • 全部 5 份同行评审(包含已揭示的匿名映射)
  • 主席的完整综合总结

这份记录是最终成果。如果用户修改内容后想针对同一问题再次运行委员会,之前的记录可以让他们(或未来的 Agent)了解思路如何演变。


输出格式

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

council-report-[timestamp].html    # visual report for scanning
council-transcript-[timestamp].md  # full transcript for reference

用户可以查看 HTML 报告。如果想深入了解,或稍后参考特定顾问的论点,也可以查看记录。


示例:为产品决策征询意见

用户:“请大家讨论这个想法:我正在考虑为初学者开发一门关于 Claude Code 的课程,售价 297 美元。我的受众大多是不懂技术的个体创业者。这是正确的选择吗?”

唱反调者:“现在市面上的 Claude 课程已经泛滥。售价 297 美元,你是在和免费的 YouTube 内容竞争。你的受众不懂技术,这意味着支持负担重,退款风险高。愿意支付 297 美元的人,很可能已经不再是初学者了……”

第一性原理思考者:“你真正想实现什么?如果是营收,课程是最慢的路径之一。如果是建立权威,免费资源可能更有效。如果是为高价产品积累客户,那么这个定价和受众可能并不匹配……”

扩张者:“面向个体创业者的 Claude 入门内容,是一个需求巨大却未被满足的市场。大家都在教高级内容。如果你把入门方向做好,就能占据整个领域的入口。297 美元可能还太低了。如果把它做成一个售价 997 美元、包含社群访问权限的项目呢……”

局外人:“我不知道 Claude Code 是什么。如果我看到‘面向初学者的 Claude Code 课程,售价 297 美元’,我不会知道这是否适合我。对你圈子之外的人来说,这个名字毫无意义。你的落地页应该推销成果,而不是工具……”

执行者:“要把一门完整课程做好,需要 4–8 周。在做任何东西之前,先面向 50 人举办一场售价 97 美元的现场工作坊。这样你可以验证需求、收集推荐语,并为课程积累原始素材。如果 50 个人都不愿购买工作坊,500 个人也不会购买课程……”

主席总结:

理事会意见一致之处: 面向个体创业者的入门方向确实有需求,但目前的定位(Claude Code 课程)过于具体地围绕工具展开,无法引起不懂技术的买家共鸣。

理事会意见冲突之处: 定价。唱反调者认为,考虑到竞争,297 美元太贵。扩张者认为,相对于提供的价值,这个价格太低。最终如何定价,可能取决于套餐包含多少支持和社群访问权限。

发现的盲点: 局外人指出,“Claude Code”对目标买家毫无意义,这是最重要的一点。除了局外人之外,所有顾问都默认受众已经知道这是什么。

建议: 暂时不要开发课程。先用一个承诺较轻的产品验证需求。但要彻底重新定位:推销成果(实现业务自动化,每周省下 10 小时),而不是工具。

首先要做的一件事: 面向 50 人举办一场售价 97 美元的现场工作坊,名为“如何用 AI 自动化你的第一个业务任务”。标题中不要提到 Claude Code。


重要说明

  • 始终并行启动全部 5 位顾问。 顺序启动会浪费时间,还会让前面顾问的回答影响后面的回答。
  • 同行评审时始终匿名处理。 如果评审者知道是谁提出了什么意见,就会倾向于某种思维风格,而不是根据意见本身进行评估。
  • 主席可以不同意多数意见。 如果 5 位顾问中有 4 位建议“去做”,但那 1 位持异议者的理由最充分,主席就应该支持持异议者,并说明原因。
  • 不要为琐碎问题召开讨论。 如果用户问的问题只有一个正确答案,就直接回答。理事会适用于存在真正不确定性、且多种视角能带来价值的情况。
  • 可视化报告很重要。 大多数用户会浏览报告,而不会读完整份对话记录。HTML 输出应简洁易读,便于快速浏览。

方法论来自 Andrej Karpathy。Claude Code 改编版的灵感来自 @olelehmann。由 @tenfoldmarc 发布——关注他,获取每日 AI 自动化构建内容。

评论

支持 Markdown