mcpField
C
council

council

github.com/steveclarkeAgent 工作流36101 次安装1 天前更新
代码仓库

关于 council

council 是面向高风险决策的 Claude 技能,组织五种思维风格的子 Agent 独立分析、匿名互评,再由主席汇总建议。它适合需要权衡取舍的问题,并将完整过程保存为文字记录。

主要功能

  1. 01五种视角并行分析
  2. 02匿名评审彼此回答
  3. 03主席综合并给出建议
  4. 04扫描工作区相关背景
  5. 05保存完整会议记录

适用场景

  1. 01比较不同产品定位
  2. 02评估架构方案取舍
  3. 03判断是否调整业务方向

安装

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

$npx skills add https://github.com/steveclarke/dotfiles --skill council

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

详细介绍

LLM Council

让 5 位独立顾问分别从根本不同的角度思考同一个问题。他们会匿名审阅彼此的成果。主席综合所有意见,给出最终建议——指出他们在哪些方面意见一致、在哪些方面存在分歧,以及该怎么做。

改编自 Andrej Karpathy 的 LLM Council。他会将问题发送给多个模型进行匿名同行评审。我们也在 Claude 中采用同样的做法,只不过使用思考视角各不相同的子 Agent,而不是不同的模型。

何时启动 Council

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

适合交给 council 的问题:

  • “我应该把它做成多租户 SaaS,还是先做成单租户?”
  • “这 3 种定位角度中,哪一种最有力?”
  • “我在考虑从 X 转向 Y。我是不是疯了?”
  • “我应该为这个岗位招聘,还是先构建一套自动化方案?”
  • “我们正在这两种架构方案之间做选择。”

不适合交给 council 的问题:

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

如果你已经知道答案,只是想获得肯定,council 会告诉你一些你不想听的话。这正是它的用处。

五位顾问

每位顾问代表一种思考方式,而非某种人设。他们会彼此形成自然的张力。

1. 唱反调者

积极寻找问题所在、遗漏之处和可能失败的地方。假设这个想法存在致命缺陷,并试图找出它。如果一切看起来都很可靠,就继续深挖。不是悲观主义者,而是会通过提出你一直回避的问题,帮你避开糟糕交易的朋友。

2. 第一性原理思考者

忽略表面问题,转而追问:“我们实际上想解决什么问题?”剥离各种假设,从头重建问题。有时,这位顾问最有价值的回答是:“你问的根本就是个错误的问题。”

3. 拓展者

寻找其他人都没发现的机会。还能做得更大吗?有没有隐藏的相邻机会?有什么被低估了?不关心风险(那是唱反调者的工作)。关心的是,如果结果比预期还好,会发生什么。

4. 局外人

对你、你的领域和你的经历一无所知。只根据眼前的信息作答。这位顾问最容易被低估。他能发现“知识诅咒”:对你来说显而易见、对其他人来说却难以理解的事情。

5. 执行者

只关心一件事:这件事到底能不能做成?最快的路径是什么?忽略理论、战略和宏观思考。审视每个想法时,都从“好,那周一早上你具体要做什么?”的角度出发。如果一个想法听起来很出色,却没有明确的第一步,执行者就会直说。

**为什么是这五位:**他们构成三种自然张力。唱反调者与拓展者(下行风险与上行机会)。第一性原理思考者与执行者(重新思考一切与直接行动)。局外人处于中间,让大家都保持实事求是。

Council 会议如何运作

步骤 1:明确问题

用户启动议事会后,在明确问题之前先做两件事:

A. 扫描上下文。 用户的问题往往只是冰山一角。明确问题前,快速扫描相关上下文:

  • 项目根目录中的 CLAUDE.md(业务背景、偏好、限制)
  • 任何 memory/ 文件夹(过往决策、业务详情)
  • 用户明确提及的文件
  • 最近的议事会记录(避免对同一问题重复议事)
  • 与具体问题相关的其他上下文文件

扫描要简短。你要找的是能为顾问提供足够上下文的 2-3 个文件,让他们给出具体、有依据的建议,而不是泛泛而谈。

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

  1. 核心决策或问题
  2. 用户消息中的关键信息
  3. 工作区文件中的关键信息(业务阶段、限制、相关数据)
  4. 利害所在(这项决策为何重要)

不要加入自己的观点,也不要引导方向。但要确保每位顾问都掌握足够的上下文,能给出具体答复。

如果问题过于模糊,只问一个澄清问题。就问一个。然后继续。

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

步骤 2:召集议事会(5 个子 Agent 并行运行)

同时启动全部 5 位顾问作为子 Agent。每位顾问都要收到:

  1. 自己的顾问身份和思考风格
  2. 明确后的问题
  3. 明确的指示:独立作答。不要含糊其辞,也不要试图保持平衡。充分发挥分配给你的视角。你的任务是尽可能有力地表达自己的角度。之后再进行综合。

每份答复都要有实质内容,但便于快速浏览;主持人会并排阅读全部五份答复。

子 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 it tight enough to read beside four other responses. No preamble. Go straight into your analysis.
步骤 3:同行评审(5 个子 Agent 并行运行)

这一步让议事会不再只是“问 5 次”,也是 Karpathy 洞见的核心。

收集全部 5 份顾问答复。将答复匿名标记为 Response 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 the review short and direct.
步骤 4:主持人综合

一位 Agent 会收到全部材料:原始问题、全部 5 份顾问答复(还原匿名对应关系后)以及全部 5 份同行评审。

主持人生成议事会的最终结果:

主持人提示词模板:

You are the Chairman of an LLM Council. 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. 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:呈现结论

直接在对话中展示主持人的结论。这是主要输出。

然后将完整记录保存为当前工作目录中的 council-transcript-[YYYY-MM-DD-HHMM].md。记录包括:

  • 原始问题
  • 明确后的问题
  • 全部 5 份顾问答复
  • 全部 5 份同行评审(注明匿名映射关系)
  • 主持人的完整综合结论

这份记录就是最终产物。如果用户修改后想再次召开议事会,之前的记录可以展示思路如何演变。

重要说明

  • 始终并行启动全部 5 位顾问。 顺序启动会浪费时间,还会让较早的回复影响之后的回复。
  • 同行评审时始终匿名。 如果评审者知道每条意见来自哪位顾问,他们就会倾向于某些思维风格,而不是根据意见本身进行评估。
  • 主席可以持少数意见。 如果 5 位顾问中有 4 位赞成“执行”,但那位持反对意见的顾问理由最充分,主席就应该支持反对意见,并说明原因。
  • 琐碎的问题不必征求顾问意见。 如果只有一个正确答案,就直接回答。
  • 注意 Token 预算。 此技能会启动 11 个子 Agent(5 位顾问 + 5 位评审者 + 1 位主席)。这种做法很周全,但成本较高,适用于重要决策,对小事来说则过于繁琐。

评论

支持 Markdown