Coggle专业的数据科学、大模型和数据竞赛社区
首页竞赛博客教程模型应用
首页竞赛博客教程模型应用常见链接在线工具

内容

  • 竞赛
  • 博客
  • 教程
  • 模型

资源

  • 常见链接
  • 工具
  • 应用

关于

  • 关于 Coggle
  • 隐私政策

© 2026 Coggle Community. All rights reserved.

  1. 首页
  2. 博客
  3. ICLR 2026 | AutoHarness:使用高代码为 LLM Agent 增加强反馈
LLMHarness Engineer

ICLR 2026 | AutoHarness:使用高代码为 LLM Agent 增加强反馈

Coggle 阿水·2026年5月25日

在人工智能快速发展的今天,大语言模型作为智能体时经常面临一个尴尬问题:它们会做出不符合环境规则的“非法操作”。在最近的Kaggle GameArena国际象棋比赛中,Gemini-2.5-Flash模型78%的败局竟然是因为走出了不合规则的棋步,而非战略失误。

https://arxiv.org/pdf/2603.03329 ICLR 2026 AutoHarness: improving LLM agents by automatically synthesizing a code harness

针对这一困境,Google DeepMind的研究团队提出了一个巧妙的解决方案AutoHarness,让AI模型自己为行为生成“代码安全带”。

AI 并不是万能的

AI下棋明明知道“马走日”,却偏要走“田”?这不是段子,而是真实发生在顶级AI模型身上的尴尬。

https://www.kaggle.com/game-arena

如果你关注过最近的AI新闻,可能听说过这样一件事:在Kaggle GameArena国际象棋比赛中,Google的Gemini-2.5-Flash模型表现不佳——但问题不是它“想不出好棋”,而是它频繁走出根本不合规则的棋步。

数据显示,78%的败局不是因为战略失误,而是因为“违规操作”。

这不是个例。无论是下棋、玩数字游戏还是操作界面,大语言模型当“智能体”时,经常做出环境不允许的动作。明明规则就在那里,模型也“知道”,但执行起来就是会犯错。

传统的解决办法无非两种:要么微调模型(成本高、耗时长,还可能影响其他能力),要么人工写代码校验(每个新游戏都要重新开发,费力不讨好)。

AutoHarness核心思路

理解了问题所在,我们来看看Google DeepMind团队是如何设计解决方案的。他们的核心思路可以用一句话概括:

不让AI“凭感觉”行动,而是让AI先写出一套校验代码,每次行动前先“自查”一遍。

这就像给AI戴上一个“智能手环”——动作不合规?手环会震动提醒,直到AI做出合法选择为止。

通常情况下,大语言模型在游戏中是这样工作的:

看到棋盘 → 内部“思考” → 直接输出一个动作(例如“移动a1到a3”)

问题在于,模型的“思考”过程我们看不到,也不可控。它可能知道规则,但在生成的瞬间“手滑”了,或者被复杂的局势带偏了方向。

AutoHarness的思路是:把这个“思考→动作”的流程拆开,插入一道代码校验关卡。

具体来说,他们让模型生成一个类似这样的代码框架:

def propose_action(observation):
    # 模型根据当前局面,提议一个动作
    return action

def is_legal_action(observation, action):
    # 代码校验:这个动作符合规则吗?
    return True or False

每次行动时,系统先调用propose_action让模型提议一个动作,然后立刻用is_legal_action进行校验。如果校验不通过,就拒绝这个动作,让模型重新提议——直到得到一个合法动作为止。

你可能会问:那is_legal_action这个校验函数谁来写?如果让人工来写,那又回到了老路上。

AutoHarness的真正突破在于:让AI自己通过“试错进化”写出这段校验代码。

研究团队设计了一套基于树搜索的代码进化算法,大致流程如下:

1. 初始:AI随便写一个简单的校验函数(可能很粗糙)
2. 试玩:用这个函数在游戏环境中跑若干步
3. 收集错误:记录下所有“误判”的情况
   - 函数说“合法”但实际非法 → 漏报了
   - 函数说“非法”但实际合法 → 错报了
4. 反馈改进:把错误信息和当前代码一起喂给AI,让它“反思”并写出改进版
5. 重复2-4,直到校验函数100%准确

为了提高效率,他们同时维护多个不同的代码候选方案,形成一个“代码树”。每次选择哪个方案继续优化,由汤普森采样算法决定——既会优先改进当前表现好的方案,也会偶尔尝试那些被冷落的方案,避免陷入局部最优。

训练过程的参数设计得非常务实:

  • 同时启动10个游戏环境并行运行
  • 每个环境最多执行1000步后自动重置
  • 遇到非法动作或代码执行错误时立即停止本轮
  • 每次最多采集5个失败案例反馈给AI进行改进

实验结果显示,这个训练过程非常高效:

  • 平均14.5次迭代就能完成一个游戏的校验代码
  • 19/32个游戏在10次迭代内就搞定了
  • 最终所有145个游戏的校验代码都达到了100%的合法动作拦截率

AutoHarness并不止步于“校验动作”。研究团队还探索了两种更高级的形态:

形态一:动作验证器(本文主力方案)

先让AI生成动作,再用校验代码把关。不合规就重试。这是最平衡的方案——既保留了AI的策略智慧,又用代码保证了合规性。

形态二:纯代码策略(终极方案)

干脆连“AI提议动作”这一步都省了。让AI直接把整个游戏策略写成纯Python代码,运行时完全不调用大模型。

这种方案的优点惊人:决策速度极快,运行成本几乎为零。在16个单人游戏的测试中,纯代码策略的平均得分(0.870)甚至超过了GPT-5.2-High(0.844)。

当然,纯代码策略也有局限——对于需要深度推理对手策略的双人游戏,目前还难以实现,因为这需要模型同时生成“世界模型”和“搜索算法”,复杂度大幅提升。

AutoHarness效果对比

研究团队在TextArena平台的145个游戏上进行了全面测试,涵盖国际象棋、黑白棋、21点、数独、推箱子等经典游戏。为了增加难度,他们还刻意移除了游戏提示中的“可用动作列表”——这意味着AI不能偷懒复制粘贴,必须真正理解规则。

参赛选手:

  • Gemini-2.5-Pro:Google的更大、更强的旗舰模型(成本更高、速度更慢)
  • Gemini-2.5-Flash + AutoHarness:较小的轻量级模型,但装上了自动生成的“安全带”
  • Gemini-2.5-Flash(原始):作为基线对比

在16个单人游戏中,比较的是平均奖励得分(0到1之间,越高越好):

模型平均得分
Gemini-2.5-Flash(原始)0.673
Gemini-2.5-Pro0.707
Gemini-2.5-Flash + AutoHarness0.745

AutoHarness的终极形态是“纯代码策略”——训练完成后,连LLM都不需要调用了,直接用生成的Python代码做决策。

在16个单人游戏上,纯代码策略的表现:

模型平均得分推理成本
GPT-5.2(基础版)0.635较高
Gemini-2.5-Pro0.707较高
GPT-5.2-High(高思考模式)0.844很高(约$640总成本)
Harness-as-Policy(纯代码策略)0.870几乎为零

纯代码策略不仅平均得分最高,而且在8个游戏中与GPT-5.2-High持平或获胜。

想象一下:训练一次(约90次迭代)后,你得到一个几KB的Python函数,运行时不需要调用任何大模型API,零延迟、零成本,但游戏表现却能超过当前最先进的商用大模型。

重要的洞察

AutoHarness的成功揭示了一个反直觉的结论:

在特定任务上,一个“懂规则的小模型 + 代码安全带”可以战胜一个“懂很多但经常犯规的大模型”。

原因很简单:大模型的“聪明”会被低级规则错误所抵消——一步臭棋可能毁掉整盘好局。而小模型虽然“想得浅”,但每一步都走得规范,稳扎稳打,反而能赢得最终胜利。

这或许预示着AI Agent设计的一个新方向:与其追求模型参数的无限膨胀,不如思考如何用代码约束来放大现有模型的能力。

目录

  • AI 并不是万能的
  • AutoHarness核心思路
  • AutoHarness效果对比
  • 重要的洞察