news 2026/11/3 16:46:37

多Agent协作架构与任务调度实战:破解大模型复杂任务落地难题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多Agent协作架构与任务调度实战:破解大模型复杂任务落地难题

做过多Agent落地的同学基本都体会过一件事:单独一个大模型跑简单问答还行,一旦塞给它一个"调研一下行业、再对比一下竞品、最后产出一份带图表的报告"这种复合型任务,它就很容易翻车。为什么会翻车?因为大模型本质上是一个"一次只擅长深度想一件事"的引擎,你强行让它连续切换多个角色、处理多路信息流,它会在环节之间反复丢上下文、丢约束,甚至自己给自己圆谎。多Agent协作架构想解决的恰恰是这个问题:把一个大而复杂的任务拆成多个边界清晰的小任务,交给各有分工的Agent去执行,再用一套任务调度机制把结果串起来。这篇文章围绕协作架构与任务调度这两个核心能力展开,以我最近跑的一套"竞品深度对比分析"协同任务(内部代号22.7)为主线,把从架构选型、任务拆解、上下文管理到动态调度的完整过程讲清楚。适合正在做多Agent落地、或者在评估要不要把单体Agent改造成多Agent协作的同学参考。

1. 多Agent协作架构为什么是复杂任务的必选项

1.1 大模型单干时的三个隐性瓶颈

很多人一开始都会问:我直接给大模型一个很长的系统提示词,要求它"先做A再做B再做C",这不就相当于多个Agent了吗?理论上是,但实际跑下来你会发现有三个很难绕开的隐性瓶颈。

第一个是上下文漂移。任务越长,模型越容易忘记最开始那条关键约束。比如你让它"只用2023年以后的数据",跑到第三步它可能就把2021年的数据写进报告里。这不是模型笨,而是长上下文中信息衰减的客观规律。第二个是任务切换损耗。让同一个模型连续在数据抓取、功能归纳、表格生成、文案润色这几种模式之间切换,每一次切换都会产生状态干扰。就好比让一个人既当程序员又当客服还当美工,每个角色都做不深。第三个是自我验证失效。模型在自己生成的推理链上做检查,经常会对自己的错误视而不见,因为错误是从它脑子里长出来的,它天然认为"我当时那么写肯定有道理"。这三个问题叠加,导致复杂任务交付质量极不稳定。

1.2 多Agent协作提供的四种核心能力

多Agent不是简单地把任务分给几个模型去跑,而是通过结构化协作获得四种单体模型难以具备的能力。

第一是角色隔离。每个Agent只加载自己职责范围内的上下文,谁也不背着全量历史包袱。分析Agent不需要看爬虫抓下来的原始网页,它只需要结构化摘要,信息干扰面小了,输出自然更干净。

第二是故障隔离。单体Agent长链路里如果第3步出错了,通常只能整个重跑;多Agent架构里只需要重跑那个失败节点,其他Agent的中间成果完整保留。这个特性在成本和时间敏感的生产场景里价值极大。

第三是可验证性。因为每个子任务都有明确的输入和输出,你可以为每个节点写校验器,检查产出是否满足字段要求。有了节点级验证,整个系统就不再是大模型"黑盒"式的碰运气,而是可测试、可回滚、可观测的工程产物。

第四是并行能力。依赖关系允许并行执行的子任务可以同时跑,整体耗时能大幅压缩。比如调研五个竞品,五个Collector并发抓取,比串联顺序抓取快得多。

1.3 什么场景才真的需要多Agent

我见过不少团队为了"炫技"硬上多Agent,结果成本和延迟都翻了几倍,质量反而更低了。判断值不值得上,就看任务是否满足三个特征:目标复合、子目标类型差异大、子任务之间有明确的信息传递关系。

举个例子,"生成一段产品文案"是单目标任务,一个Agent就够了。"给三款产品各写一段文案,再推一个组合售卖策略"就复杂得多,因为需要先统一用户画像、再逐产品分析卖点、最后再基于前两步做策略共创,这时候多Agent的分工优势才体现出来。反过来说,如果任务只是简单问答、单个流程报表生成,或者对成本极度敏感,就老老实实用单体Agent加提示词工程,别折腾。

2. 协作架构设计:主流编排模式与选型逻辑

2.1 中心化编排:一个大脑统一派活

中心化编排是目前落地最广、踩坑最少的一种模式。它的结构是:一个编排者Agent接收用户目标,把目标拆成子任务,派发给不同的执行Agent,等执行Agent返回结果后再聚合输出。

这里要特别说明的一点是:真正成熟的中心化调度器,从来不是让编排Agent用大模型自由发挥来调度的。调度器本身是一个代码实现的确定性流程,或者说"代码为主、LLM为辅"。任务分解那一步可以用LLM来生成候选子任务,但执行顺序、依赖关系、结果校验这些关键路径全部用代码控制。这样做的好处是:流程可控、日志清晰、出错时能精确知道卡在哪个节点,而不是让模型自己瞎猜下一步。中心化编排适合任务流程大概率能预先定义的场景,比如报告生成、常规数据分析、代码重构。它的缺点也明显:如果任务完全开放、每一步都依赖上一步结果才能决定下一步走法,编排者就会频繁做决策,token成本和延迟都会暴涨。

2.2 层级委派与流水线:两种边界明确的执行模式

层级委派是中心化编排的一种扩展,适合任务规模大、抽象层级明显的场景。总控Agent下面挂一层项目经理Agent,每个项目经理再带几个执行Agent。总控只管拆解到子项目级别,项目经理负责自己这块的细粒度拆解和监督,执行Agent只做最具体的动作。这种模式在企业级项目里很实用,但代价是每一层都要经历一遍"理解—分解—汇总",信息损耗和token成本都会成倍增加。

流水线则完全是另一种思路。任务被组织成固定顺序的加工链,每个Agent只负责把上一个Agent的输出转换成下一个Agent需要的输入,没有回环、没有动态分支。它最适合那些流程严格固定的数据处理场景,比如日志清洗、ETL转化、多步文档格式化。我自己的经验是:如果你发现任务中间需要反复回溯、某个环节要基于前两个环节的结果做交叉判断,流水线就会显得僵硬,这种场景应该切回中心化编排,让调度器统一协调。

2.3 群聊协商:适合开放共创的对话式协作

群聊协商模式完全是另一个画风。多个Agent在一个共享信道里发言、提问、反驳、补充,像一群同事开讨论会。AutoGen的GroupChat是这种模式的典型代表,你也可以自己实现一个消息队列加轮次控制。这种模式适合头脑风暴、方案选型、文章框架共创等开放性强、没有固定答案的任务。比如让市场Agent、技术Agent、法务Agent三个角色就一个新品发布方案进行辩论,最后各自收敛出一个综合建议,效果通常比单一Agent生成的方案更全面、更少片面。

但这个模式有两个大坑。第一个是不设终止条件就会无限聊下去,每个Agent都在补充观点最后变成空耗。第二个是共享上下文导致token消耗成倍增长,所有Agent都看到完整聊天记录,信息量太大会稀释每个角色自己的判断。实操中必须给群聊加轮次上限、消息数上限和明确的收尾规则,比如规定最后一轮必须由某个Agent输出总结,否则调度器强制截断。

2.4 架构选型:先回答四个问题再动手

到底选哪种模式,我建议动手前先过一遍这四个问题:

  • 任务流程可否预先定义?能定义清楚,优先中心化编排;完全不可预知,考虑动态路由或群聊。
  • 子任务的依赖关系是线性还是网状?线性走流水线,网状走中心化调度加DAG。
  • 是否需要角色之间互相辩论、交叉检查?需要,可以局部引入群聊,但外层最好仍有调度器控制。
  • 成本和延迟的容忍度如何?层级委派和群聊都是吞token大户,成本敏感就尽量少用。

下面这张表是我每次选型都会对照的速查表,列出来给大家参考。

判断维度中心化编排层级委派群聊协商流水线
流程可预定义高中低极高
动态开放任务中低高低
调试难度低中高低
Token成本中高极高低
并行能力高中低中

多数情况下我建议先默认中心化编排跑通,不要一上来就设计特别复杂的层级和多Agent群聊。分布式系统有句老话,能用一个明确的流程解决的事情就别引入复杂的协调机制,多Agent也一样。

3. 任务调度的核心机制与工程化落地

3.1 任务拆解与依赖关系建模

任务调度这件事,起点不在调度本身,而在拆解。拆解的黄金法则是:每个子任务必须能独立验证。如果做完一个子任务你说不清它到底是成功了还是失败了,那就说明拆得太大。什么叫能独立验证?比如"抓取A公司官网的全部公开功能文档并提取功能列表",它的产出是一份结构化Json,里面至少包含功能名称和来源URL,字段齐不齐一目了然。再比如"给三个产品生成统一的比较维度",这件事就偏虚,你必须再往下拆,明确比较维度具体指哪些字段,否则执行Agent就会凭感觉发挥。

依赖关系建模一般用DAG来表示。节点是子任务,边表示"这个任务必须等前置任务完成才能开始"。我习惯把DAG定义成扁平的数组,每个节点声明自己的depends_on,执行引擎按拓扑排序逐步推进。这个方法看着简单,但能帮你挡住一半以上的调度混乱问题。还有一个容易忽略的点:全局依赖不等于信息全量传递。A给B传数据时,只传B真正需要的字段,不要贪方便把A的全部原始输出都塞进B的上下文。信息投递越精准,后面的上下文管理越省事。

3.2 上下文隔离、共享记忆与压缩策略

上下文管理是任务调度里最容易被低估的环节。我见过太多系统跑着跑着就开始胡说八道,查到最后发现原因就是:不同Agent共用了同一个全局Memory字典,分析Agent把另一个Agent的中间猜测当成既定事实用了。解决思路只有一条:按需投递,做好隔离。

具体做法上,我会给每个Agent定义一个最小化系统提示词,然后在执行任务时只拼接它需要的输入片段。全局状态统一保存在调度器维护的ResultStore里,每个节点的输出写入Store,下游节点需要什么就取什么,绝不顺手把整个Store塞进去。这条规则执行到位之后,"串戏"类问题至少减少七成。

记忆压缩则是为了对付长链条任务。有些任务链条特别长,比如一个链路有十几个节点,中间每一轮对话历史都在累积。正统做法是加一个固定的Summarizer节点,把前面几轮对话摘要成一段结构化文字,替换掉原始记录再往下传。摘要节点也要有输出格式约束,比如固定输出"目标/已完成动作/未解决问题/当前结论"四段,不然压缩出来的记忆照样是笔糊涂账。

3.3 动态调度、失败重试与人工兜底

静态调度好理解,就是把DAG排好顺序,按拓扑序一路执行下去。但现实里很多任务不是线性的,第一步跑出来的结果会直接决定第二步该走哪条分支。这种情况下需要在DAG里埋条件路由节点,由Router根据前一步产出的某些字段决定选择哪个下游节点继续。

动态路由可以由代码规则实现,也可以由一个专门的Router Agent来看。我的经验是:能用正则、字段匹配等确定性规则判断的,就绝不让LLM来决策。比如"如果分析结果中包含'异常'字段并且数值超过阈值,就走告警分支",这种逻辑交给代码,又快又准。只有那些语义高度开放的分支判断才交给LLM,比如"判断这段用户反馈文本属于哪种情绪倾向"。

失败重试要记住一个原则:重试不等于原样再跑一遍。每次重试都要把上一轮的失败信息作为额外输入喂回去,让模型看到自己错在哪,而不是盲目重跑碰运气。我的默认参数是每个节点最多重试2次,超过就标记失败并走熔断逻辑。这里说的熔断不是直接中断整个任务,而是根据节点可选降级方案调整,比如某个搜索结果抓取失败,就允许Analyst基于已有材料运行并在报告中标注数据缺失。

人工兜底也是调度器的一部分。凡是动作可能产生外部影响的任务,比如发邮件、对外发布、转账付款,调度器必须在动作前强制设置人工确认节点。不要相信"LLM在执行前会先谨慎判断"这种话,宁可多一次确认,也不要让模型替你做决定。

3.4 并发、Token预算与成本控制

独立节点并发执行能让总耗时大幅下降,但并发也不是白拿的。一方面要照顾API的速率限制,另一方面要控制并发带来的上下文开销。我的习惯是控制在一个chain里最多同时跑3到4个独立节点,再多收益就明显下降了。

Token预算要按角色分配,不能一把抓。比如Collector这类需要大量阅读网页的Agent,单节点Token预算是另一个数;而Planner这类做决策摘要的Agent,预算可以调低。每完成一次调用,调度器要记录usage,累加到该节点预算里,超过阈值就暂停该节点等下一轮窗口,或者直接触发压缩。成本敏感型任务可以再加一道防线:全局硬预算超了就终止,并把当前进度保存下来,方便恢复运行或者降级输出。

还有个很多人忽略的指标:任务成功率。别只看总成本,要看"平均重试次数"和"顽固失败节点分布"。如果某个节点总是重试还总是失败,多半不是调度问题,而是该节点的输入定义或者提示词本身有问题,需要重新设计,而不是加预算硬扛。

4. 实操:从零搭建一个多Agent协同分析任务

4.1 任务场景与Agent角色定义

案例是我最近跑的一个"行业工具竞品深度对比分析"任务,内部编号22.7。目标是对三款在线协作工具做功能对比,输出一份带功能差异表、适用场景建议的Markdown报告。

角色定义如下:

  • PlannerAgent:接收用户目标,输出子任务分解清单和依赖关系。
  • CollectorAgent:模拟抓取各产品官网和帮助文档,返回结构化摘录。真正落地时这里可以接搜索API或者爬虫服务。
  • AnalystAgent:接收多个Collector的摘录,提取功能清单并生成差异对比表。
  • WriterAgent:根据差异表和用户偏好的模板生成最终报告。
  • ValidatorAgent:校验报告是否包含所有必需章节、是否遗漏了某些已知字段。

这五个角色的职责边界非常清楚,没有一个人需要看完整链路里的全部信息。

4.2 调度器的核心实现

下面是我常用的一套极简调度器骨架,去掉中间各种业务细节,核心逻辑就这几块。

from dataclasses import dataclass, field @dataclass class Task: step_id: str agent: str input: dict depends_on: list = field(default_factory=list) class AgentRegistry: """Agent注册表:名字到执行函数的映射""" def __init__(self): self._registry = {} def register(self, name, run_fn): self._registry[name] = run_fn def get(self, name): return self._registry[name] class ResultStore: """全局结果仓库,负责按id保存节点输出""" def __init__(self): self._store = {} def set(self, key, value): self._store[key] = value def get(self, key): return self._store[key] class MiniScheduler: def __init__(self, registry: AgentRegistry, store: ResultStore, validators: dict, max_retries: int = 2): self.registry = registry self.store = store self.validators = validators self.max_retries = max_retries def _inject_deps(self, task: Task, store: ResultStore): if not task.depends_on: return task.input payload = dict(task.input) payload["deps"] = { dep: store.get(dep) for dep in task.depends_on } return payload def run_plan(self, plan: list[Task]): for task in plan: last_output = {} for attempt in range(self.max_retries + 1): inp = self._inject_deps(task, self.store) agent_fn = self.registry.get(task.agent) last_output = agent_fn.run(inp) # 校验当前节点输出 if task.step_id in self.validators: ok, reason = self.validators[task.step_id](last_output) if not ok: inp["_last_error"] = reason continue self.store.set(task.step_id, last_output) break else: print(f"[scheduler] {task.step_id} failed after retries") self.store.set(task.step_id, {"status": "failed", "error": "exhausted_retries"}) return self.store

这个调度器本身没有绑定任何具体大模型框架。AgentRegistry里的run_fn可以像下面这样,把输入文本模板发送给任意LLM接口。外部框架适配起来也简单,把LangGraph的Node、AutoGen的ConversableAgent放到run_fn里包一层就行。

def make_agent(system_prompt, llm_call, temperature=0.3): def run(input_payload): build_prompt = system_prompt + "\n\n任务输入:\n" + json.dumps(input_payload, ensure_ascii=False) response = llm_call(build_prompt, temperature=temperature) return json.loads(response) return run

4.3 定义验证器与执行过程复盘

验证器是调度器里最不能省的部分。比如Analyst节点的输出,我要求必须有product_name、feature_set、missing_count这三个字段,其中missing_count必须是整数。Writer节点的输出,我要求必须包含"核心功能差异表"和"适用场景建议"两个章节,否则就判失败。下面是一个典型验证器的样子。

def validate_analyst_output(output): required_fields = ["product_name", "feature_set", "missing_count"] if not all(f in output for f in required_fields): return False, "缺少必须字段" if not isinstance(output["missing_count"], int): return False, "missing_count不是整数" return True, "ok" def validate_writer_output(output): if "核心功能差异表" not in output["content"]: return False, "报告缺少差异表" if "适用场景建议" not in output["content"]: return False, "报告缺少场景建议" return True, "ok"

整个调度计划是这样一张表,我把它直接写在代码里,跑完后再看日志核对。

步骤IDAgent依赖输入摘要
s1planner无用户原始目标
s2collectors1抓取A产品资料
s3collectors1抓取B产品资料
s4collectors1抓取C产品资料
s5analysts2,s3,s4生成功能差异表
s6writers5生成最终报告
s7validators6校验报告结构

这一轮跑完我发现一个有意思的细节:s2到s4三个Collector节点没有互相依赖,调度器应该让他们并行跑,但我的极简骨架是顺序执行的,导致总耗时比理论最优多了大概40%。后来我把run_plan改造成按拓扑层分组执行,同一层没有依赖的节点放到线程池或asyncio里并发,速度才提上来。这个优化很简单,但对长链路任务效果巨大。

5. 常见问题与排查技巧实录

5.1 上下文串台:Agent之间互相"污染"

这是多Agent项目里最容易出现、也最难定位的一类问题。我遇到过一个大模型的输出明显引用了另一个Agent才应该知道的信息,但实际上这句话完全是编造的。排查后发现了根因:全局Store在做下游注入时,顺手把上游一个"待验证猜测"字段也传了出去,下游Agent不加甄别当成了事实。

解决办法有三个层级,从根上治理。第一是严格按需投递,下游需要什么字段就只传什么字段,禁止把整个ResultStore传给任何Agent。第二是在共享信息里给字段打来源标签,比如注明"source=collector.s2"或"source=user_goal",让模型能区分原始输入和中间结论。第三是在系统提示词里加一条要求:Agent在回答中须先声明信息依据类型,如果依据来自中间Agent结论但未经核实,必须在输出里明确标注"未经独立验证"。

5.2 死循环与假完成:调度器陷于失控

死循环常见于群聊协商模式的实现里。两个Agent互相发问,A问B一个问题,B回答完又抛出另一个问题,两个模型都没有终结对话的动机,轮次就一直涨到把预算烧穿。解决这类问题的核心是给对话加硬边界:消息数上限、轮次上限、无进展检测。无进展检测值得多说一句:系统可以记录每条消息的向量特征,如果连续两三轮新增消息与已有内容相似度极高,就判定讨论陷入原地打转,由调度器强制叫停。

"假完成"则更隐蔽。模型输出了"任务已完成"的字样,但实际上并没有调取网页、没有执行计算,只是根据上下文猜了个看起来合理的答案。这种情况拦不住它嘴上说完成了,但你的验证器可以拦:凡是要求输出必须包含可校验字段的节点,比如来源URL、数字结果、文件名,把校验规则写死,模型就编不下去了。我甚至会在验证器里加一条:如果某断言不带任何来源证据,那么这个节点直接判失败。这一条能逼着模型少编一半瞎话。

5.3 稳定性调优:六个避坑细节

最后总结六个我在实操里踩过坑才换来的细节。

第一,别把全部历史记录无脑塞给每个Agent。上下文越长,模型越可能抓错重点,成本也越高,按需投递才是正路。第二,任务节点的粒度一定要能独立验证,凡是你无法判断输对错的任务,说明拆得还不够细。第三,调度器本身保持代码确定性。能用规则判断的分支绝不依赖模型自由发挥,模型只做分解和生成。第四,记录每一次LLM调用的token数和耗时,用统一结构的日志保存。没有日志就没有排查多Agent问题的可能性,你可能连失败在哪一步都说不清。第五,重试时必须注入上一轮的错误信息,不要无脑重跑。盲试很多次依然失败时,未必是API不稳定,更多是输入定义本身有问题,这时候应当回调任务定义而不是重试。第六,温度参数按角色区分。规划和验证类节点用0到0.2之间,生成创意类文本可以到0.7,但不建议更高。温度拉太高在长任务里会带来不可控的发散,收敛成本远高于那一点点"创意"收益。

5.4 一份常见问题速查表

现象可能原因排查路径解决办法
输出里出现另一个Agent才该知道的信息全局State被下游无差别读取查注入payload是否包含多余字段按需投递,只传下游必要字段
一个节点反复重试仍失败节点输入定义不完整或提示词有歧义看日志里的输入和校验失败原因回调任务定义,增加字段约束
群聊协商任务无限刷消息缺少终止条件检查消息计数和轮次上限加max_round,加无进展检测
总耗时远超预期独立节点未并发看调度日志各节点耗时按拓扑层分组并发执行
某个Agent高频幻觉上下文过载或来源标签缺失检查注入信息量和来源标注压缩上下文,为字段标注来源
Token消耗爆炸全局上下文被反复复制统计各节点实际Token输入用Summarizer压缩历史,控制预算

6. 写在最后:几点实战体会

我自己这两年的体验是:多Agent项目真正拉开差距的,不是大模型能力,而是协作边界划得够不够干净、调度器够不够有兜底意识。一开始我也走过弯路,一上来就画了十几个Agent的架构图,结果跑都跑不通,连日志都不知道该从哪看起。后来我换了个思路,先用一个Planner加两个执行Agent跑通最小闭环,再根据瓶颈逐步加节点。这个"最小闭环先行"的方式帮我避开了绝大多数失控风险。

另外还想补充一个观念:Agent不在于多,而在于边界清楚。一个颗粒度合适的Agent,配上明确的输入输出约束,作用远大于十个职责模糊的Agent在那里互相推诿。如果你正在评估要不要上多Agent,我的建议是先拿现成框架或一个简单的调度器骨架做一次小规模验证,把上下文隔离、节点验证、失败重试这三块基础能力打好,再考虑复杂度升级。那次代号22.7的任务跑完,给我留下的最深印象不是模型多聪明,而是调度逻辑理顺之后,整个系统就算遇到失败节点,也能稳稳降级继续走,这种可控感才是多Agent架构最值钱的地方。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 16:46:18

C与MATLAB混编实战:男女声识别从特征提取到模型部署

简介:这份资源面向嵌入式开发与语音信号处理方向的初学者及进阶开发者,提供一套基于C语言、在DSP5402开发板上实现男女语音识别的完整工程。项目先用MATLAB完成降噪、分帧、加窗与MFCC特征提取等预处理,再由C代码对实时音频信号执行相同流程&…

作者头像 李华
网站建设 2026/11/3 16:45:47

硅光子与CPO技术驱动102.4T交换机革命

1. 项目概述 在数据中心网络架构演进的前沿阵地,一场由硅光子技术驱动的革命正在悄然发生。Spectrum-6 CPO 102.4T交换机的问世,标志着网络设备从传统铜缆互联向光电融合架构的历史性跨越。这款在GTC 2026大会上亮相的划时代产品,不仅实现了单…

作者头像 李华
网站建设 2026/11/3 16:45:12

C#基础篇教学取舍:主线项目、类型系统与集合异常实战

做 C# 教学视频这件事,最难的从来不是知识点本身,而是“基础篇”这三个字背后的取舍。录一套C#视频——基础篇,你得面对一个很现实的问题:C# 这门语言从 2002 年走到今天,语法糖堆了二十多年,基础篇的边界到…

作者头像 李华
网站建设 2026/11/3 16:45:07

VS Code二次开发与配置优化实战指南

1. 项目背景解析"vscode第二次作业"这个标题看似简单,实际上包含了几个关键信息点需要拆解。作为一款主流代码编辑器,VS Code的作业通常涉及插件开发、配置优化或特定功能实现。从教学进度来看,第二次作业往往建立在首次环境搭建和…

作者头像 李华
网站建设 2026/11/3 16:41:30

CAXA 3D实体设计2025安装与优化全指南

1. 项目概述作为一名在工业设计领域摸爬滚打多年的老鸟,我深知三维建模软件对设计师的重要性。最近CAXA 3D实体设计2025版发布后,不少同行都在讨论这个国产软件的进步。今天我就来分享一个完整的安装指南,重点解决三个痛点:如何正…

作者头像 李华
网站建设 2026/11/3 16:36:26

48小时三场复试:Opus 5.5上岗,Grok 4.7落选,GPT-5.6 Sol维持原判

这两天AI圈跟过年似的。48小时内,Opus 5.5、Grok 4.7、GPT-5.6 Sol三个重量级版本先后放出动静。群里都在刷屏,有人说是神仙打架,我倒觉得更像三场复试:一个直接上岗,一个复试被刷,另一个维持原判&#xff…

作者头像 李华