近四小时的播客访谈里,Google DeepMind / Gemini 团队研究科学家姚顺宇几乎没有回避任何问题——从清华物理系转行 AI 的个人抉择,到 ReAct 论文诞生的幕后故事,再到对当前 AI 产业格局的冷静判断。整场对话最刺耳的一句话或许是:"英雄主义时代已经过去。"这不是悲观,而是对行业成熟度的诚实标注。
硅谷的"两个 Shunyu Yao"
访谈开场就聊到一个圈内人津津乐道的现象:硅谷 AI 圈有两位名字发音几乎一样的华人研究者——姚顺宇(Shunyu Yao)和 Shunyu Yao(另一位,常被混淆)。这个巧合折射出华人研究者在大模型前沿的密度已经高到名字都能撞车。但姚顺宇的辨识度不需要靠名字:ReAct、WebShop、SWE-bench……每一项都在 Agent 研究的时间线上刻下了坐标。
从清华物理到 AI:一次"反英雄主义"的转身
姚顺宇本科在清华物理系,按传统路径应该走向理论物理或高能实验。但他选择了一个更"工程化"的方向——AI。访谈中他没有把这次转身浪漫化,反而说得很直白:物理的"英雄主义"——一个人靠深刻洞察推动范式转移——在 AI 领域越来越难成立。大模型时代的研究,更多是团队协作、工程迭代、数据驱动的集体作战。
这个判断和他在 Princeton 做 ReAct 时的体验一致。ReAct 的核心想法——让 LLM 在推理(Reasoning)和行动(Acting)之间交替循环——并不需要某个天才的灵光一现,而是对已有范式(纯推理的 Chain-of-Thought、纯行动的端到端工具调用)的朴素组合与验证。真正的难度在于:如何设计一个足够简单又足够通用的框架,让后续研究者可以在此基础上叠加复杂度。
ReAct 的遗产:Agent 框架从论文到工程
ReAct 论文 2022 年发表后,迅速成为 Agent 系统的默认范式之一。从 LangChain 的 ReAct Agent 到 AutoGPT 的循环决策,核心结构都指向同一个模式:
Thought → Action → Observation → Thought → ...
姚顺宇在访谈中提到,ReAct 最初的目标非常具体——让语言模型在问答任务中学会"先想再查再想",而不是一口气给出可能错误的答案。这个朴素目标反而让框架具备了超越问答场景的扩展性。今天的 SWE-bench(软件工程基准)、WebShop(网页购物任务)都在沿用 ReAct 的循环结构。
下面是一个最小化的 ReAct Agent 实现,可以直接运行或改造:
import json
import re
from openai import OpenAI
client = OpenAI() # 需设置 OPENAI_API_KEY 环境变量
# ---- 工具定义 ----
TOOLS = {
"search": {
"desc": "搜索事实信息,输入查询关键词",
"func": lambda q: f"[模拟搜索结果] 关于'{q}'的信息:...",
},
"calculate": {
"desc": "执行数学计算,输入数学表达式",
"func": lambda expr: str(eval(expr)), # 生产环境请用安全解析器
},
}
# ---- ReAct 循环 ----
def react_agent(question: str, max_steps: int = 6) -> str:
prompt = f"""你是一个 ReAct Agent。回答问题时,请严格按以下格式循环思考与行动:
Thought: 你的推理过程
Action: 工具名[参数]
Observation: 工具返回结果(系统自动填充)
当你认为已有足够信息时,输出:
Answer: 最终答案
可用工具:
{json.dumps({k: v['desc'] for k, v in TOOLS.items()}, ensure_ascii=False)}
问题:{question}"""
messages = [{"role": "user", "content": prompt}]
trajectory = ""
for _ in range(max_steps):
resp = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
temperature=0,
)
step = resp.choices[0].message.content
trajectory += step + "\n"
messages.append({"role": "assistant", "content": step})
# 检查是否已给出最终答案
if "Answer:" in step:
return trajectory
# 解析 Action,执行工具,注入 Observation
action_match = re.search(r"Action:\s*(\w+)\[(.*?)\]", step)
if action_match:
tool_name, tool_input = action_match.group(1), action_match.group(2)
if tool_name in TOOLS:
observation = TOOLS[tool_name]["func"](tool_input)
else:
observation = f"错误:工具 '{tool_name}' 不存在"
obs_line = f"Observation: {observation}\n"
trajectory += obs_line
messages.append({"role": "user", "content": obs_line})
else:
# 模型未输出合法 Action,提醒它继续
messages.append({"role": "user", "content": "请输出 Thought 和 Action。"})
return trajectory + "\nAnswer: [未能在有限步数内得出结论]"
# ---- 运行示例 ----
if __name__ == "__main__":
result = react_agent("2024年诺贝尔物理学奖授予了谁?他们主要贡献是什么?")
print(result)
运行前需安装 openai 包并配置 API Key。search 和 calculate 是模拟工具——生产环境中应替换为真实搜索 API(如 Tavily、SerpAPI)和安全计算引擎。核心逻辑是 ReAct 的 Thought-Action-Observation 循环,与姚顺宇论文中的范式完全一致。
"英雄主义时代已经过去"——对产业的冷判断
这句话是整场访谈的锚点。姚顺宇的意思不是"没有英雄了",而是:单点突破的杠杆率在下降。早期 GPT 系列的涌现能力确实像英雄叙事——一个架构选择(Transformer)、一个训练策略(next-token prediction on massive data)就能改写行业。但到了 2024-2026 的阶段,竞争重心转向了工程化:数据质量、RLHF 流程、推理优化、多模态对齐、Agent 编排。这些都不是一个人能推动的。
他对 Gemini 团队的工作描述也印证了这一点——大规模协作、跨团队对齐、反复迭代。DeepMind 的文化本身就偏向"集体智慧"而非"个人英雄",这与他的判断天然匹配。
从研究者视角看 Agent 的下一步
访谈中姚顺宇对 Agent 的未来有几个具体判断:
- 评估比能力更重要。SWE-bench 的设计哲学就是:先定义一个可复现、可扩展的评估框架,再让系统去追目标。没有好的评估,Agent 的"能力提升"只是自说自话。
- Agent 的可靠性瓶颈在规划,不在工具调用。当前系统调用工具的能力已经很强,但在多步规划中容易偏离目标或陷入循环。ReAct 的 Thought 步骤就是为了缓解这个问题,但还不够。
- 多 Agent 协作是下一个结构性机会,但前提是单 Agent 的可靠性要先过关。
这些判断对开发者有直接的实操含义:如果你在构建 Agent 系统,优先投入评估基础设施,而不是堆工具数量。
给不同角色的建议
研究者:如果你的工作依赖"一个天才想法改变一切"的叙事,需要重新评估选题杠杆。选择那些需要系统性迭代的方向——评估框架、对齐方法、多步规划——反而更有长期影响力。
Agent 开发者:从 ReAct 的最小循环开始,不要一开始就搭多 Agent 编排。先让单 Agent 在受限场景(如问答 + 搜索)中稳定运行,再逐步扩展工具集和规划深度。评估先行。
技术管理者:团队配置上,重视"工程型研究者"——能同时写论文和跑实验的人。英雄主义时代需要的是洞察型天才,当前阶段需要的是能把洞察落地为可复现系统的人。
姚顺宇的判断未必人人认同,但他的轨迹本身就是论据:从物理到 AI,从 ReAct 的朴素框架到 Gemini 的大规模协作,每一步都在回应同一个事实——AI 的重心正在从"谁先想到"转向"谁先做到且做得稳"。英雄主义时代过去,不是终结,而是成熟。