一句话摘要
重新认识 Claude 的管理者角色
Claude 不是你最强的模型,而是你最好的管理者。2026 年 7 月 1 日 · 10 分钟阅读 · 查看原文 ↗ Claude AI 营销
所有人都在争哪个 LLM 最聪明,这是场错误的争夺。在一个严肃的系统里,最重要的模型并不是一个"员工"——而是那个决定员工该做什么、并判断他们做得怎么样的模型。
把这个角色称作"元控制器"(meta-controller)。下面是从第一性原理出发的论证:为什么 Claude 更适合这个位置,而不是员工的座位——以及构建一个这样的系统的完整代码:它负责规划、委派给 Grok / GPT / Llama、批判结果,然后重写它自己的策略。
大家问的那个问题本身就是错的
"哪个模型最好?"这个问法默认了由单一模型包办一切。真实的系统并不是这样运作的。它们有劳动分工:便宜的模型做批量工作,快的模型处理延迟敏感的任务,专门的模型应对狭窄领域,前沿模型负责艰难推理。
一旦你有了很多个模型,就会出现一个新的职位——一个在你只有一个模型时不存在的职位。必须有人决定什么任务分给谁、检查返回的结果、并在计划失败时修正计划。这不是一个员工。这是一个管理者。
别再问"哪个模型最好"。要问"哪个模型适合哪个角色"。稀缺的、高杠杆的角色并不是最聪明的员工——而是那个负责路由、判断和修订的控制器。
第一性原理:控制器才是瓶颈
这是一道从没有人放上幻灯片计算题。错误在多步骤系统中会复合。如果每一步有 90% 的可靠性,而你把其中五步串起来、中间不做任何纠错:
一条由优秀模型组成的流水线仍然会产生平庸的结果,因为小的失败会不断相乘。唯一能打破这种复合的,是一个能捕捉并纠正错误的步骤——一个检查每个结果、并对失败的环节重新执行的控制器。
在一条链里,质量的上限由"验证"决定,而不是由最强的那个环节决定。一支由优秀员工组成、却配了虚弱控制器的队伍,会输给一支由普通员工组成、却配了强力控制器的队伍。
所以控制器的工作在本质上与员工不同。员工需要知识和技能。控制器需要推理能力、对整体任务的记忆、可靠性,以及诚实的判断力。这些才是选择的标准——而不是那些琐碎的基准测试。
控制器这个角色真正要求什么
从这份工作推导出需求,然后再挑选模型。控制器必须做到:
分解与规划——把一个模糊的目标转化为一张经过路由的子任务图。纯粹的推理。
在上下文中承载整个系统——每一个子结果、每一次失败、正在运行的计划。长上下文是不可妥协的。
严格遵循协议——每一次都输出有效的路由决策。一个在自己的输出格式上"发挥创意"的控制器,会让整个系统崩溃。
诚实地判断——对刚被它编排出来的工作说出"这失败了"。是经过校准的自我批判,而不是加油鼓劲。
在压力下保持可控——不漂移、不失控、不在漫长的运行中悄悄改变目标。
为什么 Claude 适合管理者的座位
把那些需求映射到 Claude 被构建出来的用途上,这种契合并非偶然:
可控性与可靠性。宪法式 AI(Constitutional AI)训练模型去始终如一地遵循一组明确的准则。对一个控制器来说,"一遍又一遍地严格按协议执行"比多几分原始能力更有价值。一个才华横溢、却有 5% 概率无视你输出格式的控制器,是一个坏掉的控制器。
推理深度。分解、路由和批判都是推理任务。这正是你最想要最强大思考者的地方,也是唯一一个值得付前沿模型价格的座位,因为控制器只有一个,而员工有很多个。
长上下文。控制器必须看到整个运行过程——计划、每一个员工输出、每一个判定——才能做出下一个决策。它是整个系统里最渴求上下文的座位。
敢于说不的意愿。一个好的批判者会让该失败的工作失败。一个只会吹捧自己计划的模型,作为裁判毫无用处。(关于自我评判的陷阱,详见下文。)
这是一个关于角色的论证,而不是品牌忠诚。其他模型往往能成为更好的员工——更便宜、更快、或在某个细分领域更强。Grok 适合新鲜的网络信息,一个小的本地模型适合批量分类,一个代码专精模型适合生成。这里的结论是收窄的:Claude 很适合控制器的座位。在信任任何人的说法之前,先对你的路由做基准测试。
架构
一个大脑,多双手。Claude 戴四顶帽子——规划者、路由器、批判者、综合者。其余的一切都是可替换的员工。
代码——一个接口封装多个模型
从那个让一切变得干净的无聊部分开始:把每个服务提供商藏在一个统一的调用后面。(这里的模型 ID 只是示例——请查看每个提供商的当前文档。)
代码——Claude 做规划与路由
控制器把目标转化成一个经过路由的子任务列表。强制输出 JSON,让结果可被机器使用,并剥掉代码围栏(这是每个人都会踩到的一个坑):
"只返回 JSON"能生效,但仍可能漂移。对于任何真正重要的东西,用工具调用(tool use)来强制格式——把计划定义为一个工具,让 Claude 去填参数。这样结构就不会被破坏,你也就完全删掉了 strip_fences。
代码——并行地把任务分发给员工
代码——Claude 批判结果
这是承重的一步。控制器读取每一个输出,并为每个子任务返回一个判定:保留、重试、或交给另一个模型。
让 Claude 去批判一份 Claude 自己写的计划,会共享同样的盲区——这正是我们在任何自我审查中都会遇到的弱点。所以在存在真值(ground truth)的地方,用它来代替意见:跑测试、执行代码、拿数字去对照来源。把模型批判留给真正主观的判断(清晰度、综合质量)——而不是作为唯一的门槛。
代码——内层循环(修正输出)
递归的一步——Claude 重写它自己的策略
内层循环修正糟糕的输出。但有时候输出是没问题的,错的是计划本身——糟糕的分解、用错了模型、缺了一个步骤。员工循环修不了这个。只有回看整个尝试过程的控制器才能做到。
让这一切变成递归的那个区分
内层循环:"这个答案失败了——重做它。"外层循环:"这个方法失败了——重新设计它。"第二个,才是控制器在改进它自己的架构,而不只是它的输出。那就是元控制器。
把整个流程读一遍,整个想法就通了:
会咬你一口的那个部分
元控制器不是免费的。控制器能看到一切,所以它的上下文和它的账单——会随着运行而增长。每一次批判、每一次重新规划,都是在员工之上额外加的一次前沿模型调用。
护栏,而不是感觉
给它一个硬上限:整个运行的 token/美元预算、内层轮次和外层尝试的最大值,以及一条规则——当它触到任何一个上限时,就转交给人类。留意两种失效模式:控制器把一个简单任务过度分解成十次调用;以及两个员工在没有任何真值来裁决的情况下互相矛盾。记录下整个追踪日志,这样你就能看出到底是哪一种。
什么时候不该构建这个东西
跳过控制器
一次性任务。任何单个强力模型一次调用就能搞定的事。在这种情况下,元控制器只会增加延迟、成本,以及新的失败方式。
构建控制器
多步骤工作、混合任务类型、真实的成本压力(把便宜的工作路由给便宜的模型),或者那些你不能在未经验证的情况下就交付的输出。这才是路由 + 批判能收回成本的地方。
要记住的心智模型
不要雇一个最聪明的天才、然后让他包办一切。雇一个优秀的管理者,给他一支专家团队,让管理者去规划工作、检查工作,并在失败时重新思考计划。
员工是可替换的。下个月就用下一个热门模型换掉 Grok。控制器才是你值得投入的部分——因为只有这个座位,其推理、记忆、可靠性和诚实判断决定了整个系统能否运转。
一句话
为员工座位挑选你的模型。为管理者座位打造你的控制器。它们不是同一份工作,而把它们搞混,正是大多数多模型系统表现还不如单一好模型的原因。
你构建你自己的生活——所以请选择正确的道路。如果这对你有用——关注。
提示词
class Budget:
def __init__(self, usd): self.left = usd
def charge(self, model, tok_in, tok_out):
self.left -= cost(model, tok_in, tok_out)
if self.left <= 0:
raise RuntimeError("budget exhausted — handing off to human")
def execute(objective, prior=None, max_rounds=3):
subtasks = plan(objective, prior)["subtasks"]
results = dispatch(subtasks)
for _ in range(max_rounds):
verdicts = critique(results)
failing = [v for v in verdicts if v["verdict"] != "PASS"]
if not failing:
break
for v in failing: # retry or reroute only what failed
t = next(r for r in results if r["id"] == v["id"])
t["worker"] = v["reroute_to"] or t["worker"]
t["output"] = call_model(t["worker"], WORKER_SYSTEM, t["goal"])
return synthesize(objective, results), results
def synthesize(objective, results):
prompt = f"Objective: {objective}\n\nParts:\n" + json.dumps(results, ensure_ascii=False)
return call_model("claude", "Merge the parts into one coherent answer.", prompt)
import json, re
def strip_fences(s): # models love wrapping JSON in json
return re.sub(r"^(json)?|$", "", s.strip(), flags=re.M).strip()
PLANNER_SYSTEM = """You are the controller of a multi-model system.
Decompose the objective into the FEWEST subtasks that solve it.
For each, pick the best worker and justify the choice by capability,
not habit. Respond with JSON only — no prose, no fences."""
WORKERS = """grok — real-time web, current events (medium cost)
gpt — general reasoning, broad knowledge (high cost)
llama — bulk text, classification, drafts (near-zero cost)"""
def plan(objective, prior=None):
prompt = f"""OBJECTIVE:
{objective}
WORKERS:
{WORKERS}
"""
if prior: # outer loop feeds last critique back in
prompt += f"\nLAST ATTEMPT FAILED BECAUSE:\n{prior}\nFix the STRATEGY.\n"
prompt += """
Return: {"subtasks":[
{"id":"t1","goal":"...","worker":"grok","reason":"..."}]}"""
return json.loads(strip_fences(call_model("claude", PLANNER_SYSTEM, prompt)))
ARCHITECT_SYSTEM = """You are reviewing your own orchestration strategy.
Look past individual outputs. Did the DECOMPOSITION or ROUTING itself fail?
Return JSON: {"good_enough":bool, "diagnosis":"...", "fix":"..."}"""
def meta_loop(objective, max_attempts=2):
lesson = None
for attempt in range(max_attempts):
answer, trace = execute(objective, prior=lesson) # plan is informed by last lesson
review = json.loads(strip_fences(call_model(
"claude", ARCHITECT_SYSTEM,
f"Objective: {objective}\nWhat we tried:\n{json.dumps(trace, ensure_ascii=False)}")))
if review["good_enough"]:
break
lesson = review["diagnosis"] + " → " + review["fix"] # feeds back into plan()
return answer
from concurrent.futures import ThreadPoolExecutor
WORKER_SYSTEM = "Do exactly the task. Be concise. State assumptions."
def dispatch(subtasks):
def run(t):
out = call_model(t["worker"], WORKER_SYSTEM, t["goal"])
return {**t, "output": out}
with ThreadPoolExecutor(max_workers=4) as pool: # independent subtasks run at once
return list(pool.map(run, subtasks))
meta_loop
└─ plan Claude 设计架构
└─ dispatch 员工(Grok / GPT / Llama)并行执行
└─ critique Claude 判断每个结果 ← 内层循环 ↺
└─ review Claude 判断"策略"本身 ← 外层循环 ↺
└─ 带着经验教训重新规划,或停止
0.90 ^ 5 = 0.59 # 五个好模型,端到端只剩 59%
0.95 ^ 5 = 0.77 # 即使是极好的模型,串联后也会衰减
┌─────────────────────────┐
│ CLAUDE(控制器) │
│ 规划 · 路由 · 判断 │
└───────────┬─────────────┘
┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Grok │ │ GPT │ │ Llama │
│ 网页/当下 │ │ 通用 │ │ 便宜 │
└────┬─────┘ └────┬─────┘ └────┬─────┘
└─────────────────┼─────────────────┘
▼
┌─────────────────────────┐
│ CLAUDE 批判 ↺ │
│ 通过 / 重试 / 改路由 │
└─────────────────────────┘
CRITIC_SYSTEM = """You are the critic. You did NOT produce these outputs.
Judge each against its goal. Be strict: a false PASS is the worst outcome.
For each subtask return verdict = PASS | RETRY | REROUTE.
If REROUTE, name a better worker. JSON only."""
def critique(results):
prompt = ("Judge each result:\n\n"
+ json.dumps(results, ensure_ascii=False, indent=2)
+ """\n\nReturn: {"verdicts":[
{"id":"t1","verdict":"PASS","reason":"...","reroute_to":null}]}""")
return json.loads(strip_fences(call_model("claude", CRITIC_SYSTEM, prompt)))["verdicts"]
from anthropic import Anthropic
from openai import OpenAI # OpenAI, xAI, and local vLLM/Ollama all speak this shape
anthropic = Anthropic()
clients = {
"openai": OpenAI(),
"xai": OpenAI(base_url="https://api.x.ai/v1"),
"local": OpenAI(base_url="http://localhost:11434/v1"),
}
MODELS = {
"claude": {"provider":"anthropic", "id":"claude-opus-4-8"}, # the controller
"gpt": {"provider":"openai", "id":"gpt-5.1"},
"grok": {"provider":"xai", "id":"grok-4"},
"llama": {"provider":"local", "id":"llama-4-70b"},
}
def call_model(name, system, prompt, max_tokens=2000):
m = MODELS[name]
if m["provider"] == "anthropic":
r = anthropic.messages.create(
model=m["id"], max_tokens=max_tokens, system=system,
messages=[{"role":"user", "content":prompt}],
)
return r.content[0].text
r = clients[m["provider"]].chat.completions.create(
model=m["id"],
messages=[{"role":"system","content":system},
{"role":"user","content":prompt}],
)
return r.choices[0].message.content
标签:# X # Claude # AI # 营销 # Chatgpt # Grok 相关文章 如何打造一家 AI 原生的公司:招聘、标准与节奏 *我们花了一年时间办黑客松、AI 培训、答疑时段。但直到我们把 AI 能力变成一项硬性要求,一切才真正开始改变。* AI Loops Claude 营销
原文参考:https://maxed.wiki/posts/claude-isn-t-your-best-model-it-s-your-best-manager/ (Maxed.wiki,本页为站内中文整理)