ChatGPT-5.2 评测:它终于学会了“放弃”

上周,我的 AWS 账单因为一个卡住的 Agent 飙到了 $800

这个 Agent 跑在 GPT-5.1 上,任务很简单:解决一个老旧 Python 项目中的 numpy 依赖冲突。结果,它在一个 p5.48xlarge 实例上死磕了 4 个小时——尝试安装、失败、降级、再失败、重试,陷入了死亡螺旋。

看着它,就像看着一个固执的实习生,死活不肯开口求助。

昨晚,ChatGPT-5.2 发布了。我原本没报太大希望——从 5.1 到 5.2 听起来也就是个小补丁。但我把那段该死的错误日志丢给了新的 思考模式 (Thinking Mode)

45 秒。

不是因为它奇迹般地修好了 Bug。而是因为在“思考步骤 3”,它停下来说:

“环境元数据已损坏。继续尝试安装将会失败。建议操作:重建 venv。”

然后它给了我清理脚本。

这就是 5.2 的杀手级功能:它终于学会了放弃。

1. 被 Gemini 3 逼出来的“理智”

Google 上个月发布的 Gemini 3 显然吓到了 OpenAI。那巨大的上下文窗口和推理速度让 GPT-5 看起来像个老古董。

你能看出 5.2 是赶工出来的——我在 API 文档里发现了三个拼写错误。但这种紧迫感带来了一种令人耳目一新的 工程实用主义

[!NOTE] 别再盯着 MMLU 基准测试看了。对于实际工作,我只关心一个指标:GDPval (通用数据处理价值)。 ChatGPT-5.2 达到了 70.9%(相比 5.1 的 38%)。这意味着它终于能像个中级工程师一样处理脏数据和模糊指令了,而不是像个初级菜鸟。

GPT-5.1 vs GPT-5.2 思考模式

看这个对比。左边是 GPT-5.1:像没头苍蝇一样“尝试一切”。右边是 5.2:撞了墙,打个红叉,然后换路。这种拓扑结构上的改变,比参数量翻倍更有价值。

2. 重构:思考模式终于能用了

之前的“推理模型”(o1, o2)总感觉用力过猛。问个 1+1,它们恨不得给你推导一遍皮亚诺公理。

5.2 最大的升级是 约束注入 (Constraints Injection)

你可以明确告诉它:“别过度设计。只修这个函数。”

这就是我现在生产环境中使用 5.2 进行重构任务的确切模式:

// Refactoring Agent Configuration for GPT-5.2
// Path: src/agents/refactor.ts

interface RefactorConfig {
  mode: 'aggressive' | 'conservative'; // 5.2 现在确实会遵守这个了
  maxThinkingSteps: number;            // 硬性截断以节省 Token
  allowBreakingChanges: boolean;
}

const optimizeCode = async (source: string, config: RefactorConfig) => {
  // 5.2 新特性:系统提示词中独特的思考约束
  // 在 5.1 中,这些经常被忽略。在 5.2 中,它们是严格的规则。
  const systemPrompt = `
    You are a Senior Engineer.
    Role: Refactor legacy code.
    
    Constraint 1: If current logic works but is ugly, PRESERVE behavior strictly unless mode is 'aggressive'.
    Constraint 2: Do NOT explain why you are refactoring unless asked. (Save tokens!)
    Constraint 3: If you detect a potential memory leak, STOP and report it first.
  `;

  // ... LLM call implementation
}

在 5.1 中,约束 3 通常被忽略。模型只会“悄悄地修好它”。在 5.2 中,我测试了 10 个内存泄漏场景,它每次都 中止生成 并报告问题。

这种 可预测的阻断行为 使得它达到了生产就绪标准。

3. Agent 工作流:有状态 (Stateful) 改变了游戏规则

如果说思考模式是大脑,那么新的工具调用 (Tool Calling) 就是双手。

我讨厌旧的函数调用。它是无状态且健忘的,尤其是在长上下文中。

5.2 引入了 “有状态工具链 (Stateful Tool Chains)”。它能“记住”上一次工具调用的副作用,而不需要你把整个历史记录重新喂给它。这极大地降低了 RAG 的延迟和 Token 成本。

看看这个 Python 例子。注意 stateful_session 标志:

async def research_workflow(query: str):
    # GPT-5.2 维护一个隐式的 "WorkingMemory"
    # 不需要在这个回合手动拼接旧消息
    
    session = client.chat.completions.create(
        model="gpt-5.2-thinking",
        messages=[{"role": "user", "content": query}],
        tools=tools,
        tool_choice="auto", 
        stateful_session=True # <--- 5.2 新特性
    )

    # 工作流模拟:
    # 1. 调用 Google 搜索
    # 2. 发现前 3 个结果是 "低信息密度"
    # 3. 自动触发查询优化 (5.1 很难做到)
    
    # 5.2 返回这个 tool_output:
    # { "action": "refine_query", "reason": "结果不相关,尝试使用关键词集 B 重试" }
    
    return session.result

带分流阀的 Agent 工作流

看到那个“分流阀”了吗?这就是为什么我的 AWS 账单安全了。它知道如何 及时止损

4. 速度:Instant 模型的惊喜

我们谈了很多“思考”,但我不得不提一下 GPT-5.2 Instant

它快得离谱。

对于 CLI 自动补全或生成 git commit 消息,它几乎是零延迟。我把我的 husky hook 从 Claude-3-Haiku 换成了 GPT-5.2 Instant,感觉快了大约 300ms

这听起来可能不算什么,但当你每天提交 50 次代码时,这种 干脆利落 能让你保持心流。

总结

别信那些“AGI 即将到来”的营销炒作。ChatGPT-5.2 不是神。它仍然会产生幻觉(尽管频率降低了约 30%)。

但对于我们这些写代码、构建架构和修 Bug 的人来说,5.2 是 可靠性 的一个里程碑。

它不再是那个只知道盲目服从命令跳悬崖的热情实习生。它正在变成那个知道何时说“这行不通,我们试试别的”的中级工程师。

如果你在犹豫是否升级到 Plus 或 Pro,这是我的原则:

如果你的时薪超过 $50,买那个知道何时“放弃”的模型是无需脑补的决定。

否则,准备好继续为你那些无限循环的 Agent 支付 $800 的账单吧。