国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

OpenAI翁家翌:梯度之外,下一個(gè)AI訓(xùn)練范式有著落了?

0
分享至



機(jī)器之心編輯部

如果有一天,一段由 AI 編程工具寫的純粹的程序代碼 —— 沒有神經(jīng)網(wǎng)絡(luò),沒有梯度下降,沒有任何「訓(xùn)練」—— 卻在經(jīng)典游戲里打出了理論最高分,在機(jī)器人控制里跑出了媲美 Deep RL 的成績,你會怎么解釋這件事?

這不是科幻設(shè)定,而是 OpenAI 研究工程師翁家翌(Jiayi Weng)最近在一篇博客里記錄的真實(shí)實(shí)驗(yàn)。他本來只是想給游戲測試寫幾條便宜的小規(guī)則,結(jié)果弄出了一套讓他自己都感到震撼的東西。他由此重新審視了一種長期被低估的方法 ——heuristics,認(rèn)為它可能正在迎來屬于自己的時(shí)代。



手寫規(guī)則本身不是新東西。專家系統(tǒng)幾十年前就有了,問題也是老問題:今天加一條規(guī)則修好 A,明天發(fā)現(xiàn) B 壞了,后天再打補(bǔ)丁,最后沒人敢動(dòng)了。規(guī)模一大,維護(hù)成本就把人壓垮。翁家翌的核心觀察是:coding agent 改變的正是這條成本曲線。當(dāng) agent 能夠自動(dòng)讀日志、看回放、改代碼、跑測試、記錄實(shí)驗(yàn),一套手寫規(guī)則系統(tǒng)就第一次有了持續(xù)生長的可能 —— 原來只能當(dāng)補(bǔ)丁用的東西,現(xiàn)在開始值得長期擁有了。

這也直接觸碰了 Continual Learning 的老問題。神經(jīng)網(wǎng)絡(luò)的災(zāi)難性遺忘,根源在于舊能力只能靠參數(shù)隱式保存,新數(shù)據(jù)一來就容易被沖掉。而在他提出的 Heuristic Learning 框架里,舊能力可以直接寫進(jìn)回歸測試、固定 seed 的回放和明確的失敗記錄,歷史是顯式的、可讀的、可重構(gòu)的。這不是解決了遺忘問題,而是把「防遺忘」變成了一個(gè)更工程化的問題來處理。

當(dāng)然,翁家翌也指出了這套方法的邊界:代碼的表達(dá)能力終究有限,復(fù)雜感知和長程泛化還是神經(jīng)網(wǎng)絡(luò)的主場。他認(rèn)為更有前景的方向是兩者結(jié)合 —— 用 Heuristic System 快速處理在線數(shù)據(jù)、積累可回歸的經(jīng)驗(yàn),再周期性地把這些經(jīng)驗(yàn)內(nèi)化進(jìn)神經(jīng)網(wǎng)絡(luò)。

他把這個(gè)愿景總結(jié)成一句話:凡是可以被持續(xù)迭代的,都開始能被解決。這和之前幾輪范式轉(zhuǎn)移的邏輯一脈相承 —— 從 pretrain 到 RLHF,再到 large-scale RL,每一步都是把「可驗(yàn)證」的邊界往外推了一圈。Heuristic Learning,或許是下一圈。

翁家翌是 OpenAI 后訓(xùn)練(Post-training)RL 基礎(chǔ)設(shè)施的核心工程師之一。2022 年加入 OpenAI 時(shí),他的面試官正是 John Schulman。此后,他主導(dǎo)搭建了 OpenAI 后訓(xùn)練階段的核心 RL 基礎(chǔ)設(shè)施,這套系統(tǒng)支撐著 GPT 系列在 RLHF、對齊與推理優(yōu)化階段的訓(xùn)練迭代。

以下是翁家翌的博客《Learning Beyond Gradients》原文,機(jī)器之心經(jīng)授權(quán)轉(zhuǎn)載:



原文鏈接:
https://trinkle23897.github.io/learning-beyond-gradients/#zh

Continual Learning 一直難以被解決,主要卡在神經(jīng)網(wǎng)絡(luò)的災(zāi)難性遺忘:學(xué)了新東西,舊能力就容易被沖掉。那如果不把目光只放在神經(jīng)網(wǎng)絡(luò)權(quán)重上,還有沒有其他解決方案?

隨著 LLM agent 變強(qiáng),coding 的速度和質(zhì)量都在提升。但我最近更在意的是另一個(gè)現(xiàn)象:coding agent 不訓(xùn)練新網(wǎng)絡(luò)、不更新權(quán)重,只是持續(xù)看失敗、改代碼、加測試、看回放,也能把一套程序系統(tǒng)越養(yǎng)越強(qiáng)。

這讓我重新看待 heuristic,也就是手寫規(guī)則和程序策略。過去很多 heuristic 不是沒用,而是沒人養(yǎng)得起;coding agent 改變的是這條維護(hù)成本曲線。于是,過去只能當(dāng)一次性補(bǔ)丁的規(guī)則,開始變成值得長期擁有的代碼。

凡是可以被持續(xù)迭代的,都開始能被解決。這也是 Continual Learning 一直想要解決的問題。它會是既 Pretrain、RLHF、Large-scale RL/RLVR 之后的下一個(gè)范式嗎?

異,F(xiàn)象

在業(yè)余時(shí)間維護(hù) EnvPool 的時(shí)候,我想用一個(gè)便宜一點(diǎn)的策略來測試游戲環(huán)境正確性,不然每次 CI 都跑神經(jīng)網(wǎng)絡(luò),很費(fèi)測試資源。

一開始的問題只是:

能不能寫一些便宜、可復(fù)現(xiàn)、比隨機(jī)強(qiáng)很多的 heuristic,專門把環(huán)境跑到有信息量的狀態(tài)?

我試著使用 codex(gpt-5.4)寫一個(gè)基于規(guī)則的版本,完全不依賴 NN。沒想到弄了幾下,結(jié)果比我預(yù)期離譜很多:

  • 一個(gè)打磚塊游戲 Atari Breakout,策略從 387 -> 507 -> 839 -> 864,最后打到理論最高分;
  • 一個(gè)仿真四足機(jī)器人關(guān)節(jié)控制任務(wù) MuJoCo Ant,純 Python 程序策略先學(xué)會節(jié)律步態(tài),再接上短視窗模型規(guī)劃,最后上了 6000+ 分,進(jìn)入常見 Deep RL 結(jié)果的量級;
  • 一個(gè)仿真機(jī)器人跑步任務(wù) MuJoCo HalfCheetah,靠可解釋的步態(tài) / 姿態(tài)規(guī)則和在線規(guī)劃,迭代到 5 局復(fù)測均值 11836.7,也進(jìn)入了常見 Deep RL 結(jié)果的量級;
  • 一整套 Atari 57 個(gè)游戲,一共跑了 57 個(gè)游戲 x 2 種輸入 x 3 次運(yùn)行 = 342 條 coding-agent 搜索軌跡,表現(xiàn)有好有壞;但在固定環(huán)境交互步數(shù)下,中位數(shù) HNS 游戲得分在 1M 環(huán)境步附近已經(jīng)遠(yuǎn)高于 PPO 這類 Deep RL 算法的曲線。

這些結(jié)果第一次見到十分震撼,更讓我在意的是:codex 沒有訓(xùn)練神經(jīng)網(wǎng)絡(luò),它在維護(hù)一套還能繼續(xù)生長的軟件系統(tǒng)。

Breakout 策略到最后遠(yuǎn)遠(yuǎn)超過一句 “球在左邊就往左”。這個(gè)策略長出來的是動(dòng)作探測、狀態(tài)讀取、球和擋板檢測、落點(diǎn)預(yù)測、卡住循環(huán)檢測、回歸測試、視頻回放和實(shí)驗(yàn)記錄。Ant 策略也超過一條步態(tài)公式,里面有節(jié)律控制、姿態(tài)反饋、接觸信息、短視窗模型展開。

于是我意識到有必要在這里創(chuàng)造一個(gè)新的概念:這里被更新的對象已經(jīng)不只是策略函數(shù),而是一套帶有記憶、反饋入口和回歸機(jī)制的軟件系統(tǒng)。

Heuristic Learning

在接著和 codex 交流了一陣子之后,我想把這個(gè)過程定義為 Heuristic Learning(HL):

  • HL 的主體由程序代碼構(gòu)成;
  • 它和今天常見的 Deep RL 實(shí)踐共享狀態(tài)、動(dòng)作、反饋、更新的閉環(huán);但更新對象從神經(jīng)網(wǎng)絡(luò)參數(shù)換成了軟件結(jié)構(gòu);
  • 它的反饋由 coding agent 消化,可以來自環(huán)境 reward、testcase、日志、視頻、回放、人類反饋;
  • 它的更新不走反向傳播;coding agent 直接修改 policy、狀態(tài)檢測器、測試、配置或者 memory;
  • HL 是學(xué)習(xí)和更新的過程;被 HL 長期維護(hù)的對象稱之為 Heuristic System(HS);
  • HS 超過一個(gè)孤立的 policy.py:它至少包含程序策略、狀態(tài)表示、反饋入口、實(shí)驗(yàn)記錄、回放或測試、memory,以及由 coding agent 執(zhí)行的更新機(jī)制。單條 rule 不夠,規(guī)則、反饋、歷史和下一輪更新全部接起來,才稱之為 HS。

列一個(gè)表就是:



Heuristic Learning 相比 Deep RL 有很多良好的性質(zhì):

  • 可解釋性(Explainability):神經(jīng)網(wǎng)絡(luò)很難解釋,HL 的代碼策略可以翻譯成人話;
  • 樣本效率(Sample Efficiency):一次有效代碼更新可以直接跳到新策略,不用調(diào)學(xué)習(xí)率慢慢爬;
  • 可回歸 / 可驗(yàn)證(Regression-testable):舊能力可以變成 test、replay、golden case;
  • 可約束過擬合:代碼 heuristic 也會過擬合到 seed、環(huán)境細(xì)節(jié)或測試漏洞,但簡化、回歸和多 seed 檢查可以形成一種工程正則化;
  • 可以避免一部分災(zāi)難性遺忘(Catastrophic Forgetting):舊能力不用全靠模型自己記住,可以被寫進(jìn) rule set 和測試?yán)铩?/li>

重點(diǎn)在于,有一類原來因?yàn)榫S護(hù)成本太高而不值得寫的 heuristic,現(xiàn)在突然可能值得長期擁有了。

為什么 Heuristic Learning 以前沒發(fā)展起來

如果說 HL 的前身是專家系統(tǒng)、規(guī)則系統(tǒng),那么在 coding agent 沒發(fā)展起來之前,這玩意的維護(hù)成本十分高昂。

人類手工維護(hù) heuristic 很容易變成這樣:

今天加一條規(guī)則修 case A。明天發(fā)現(xiàn) case B 被修壞了。后天再加一個(gè) if。大后天沒人敢刪了。

問題不在 heuristic 沒用,在沒人力能養(yǎng)得起。之前人力維護(hù)專家系統(tǒng),有點(diǎn)像工業(yè)革命前手工紡紗:規(guī)模一大,穩(wěn)定性和維護(hù)成本就壓死人。紡織機(jī)改變的是產(chǎn)能曲線;coding agent 改變的是 heuristic 的維護(hù)曲線。它像一條可以輸送智力的營養(yǎng)管道,可以持續(xù)澆灌一個(gè) HS,讓它自己迭代進(jìn)化。



目前常見的 agentic 反饋閉環(huán)主要是:

feature request -> agent 寫代碼 -> 過 test -> 人類給一點(diǎn)反饋 -> 下一輪 patch

但隨著大模型能力提升,人類介入次數(shù)會逐漸變少,這個(gè)反饋循環(huán)就有機(jī)會在某些邊界明確的系統(tǒng)里自動(dòng)閉合,從而能夠?qū)崿F(xiàn)自動(dòng)化用 HL 批量生產(chǎn) HS:

環(huán)境反饋 / 測試失敗 / 日志異常-> coding agent 讀 context-> 修改 policy /test/memory-> 重新運(yùn)行-> 把結(jié)果寫回 trials 和 summary-> 下一輪繼續(xù)

Heuristic Learning 怎么做 Continual Learning

神經(jīng)網(wǎng)絡(luò)里的災(zāi)難性遺忘,是新數(shù)據(jù)把參數(shù)往新任務(wù)推,舊能力被覆蓋掉。HL 也會忘,例如:

  • 新規(guī)則修好了一個(gè)失敗模式,同時(shí)破壞舊場景;
  • 新 memory 把 agent 反復(fù)帶到錯(cuò)誤方向;
  • 新測試太窄,導(dǎo)致策略學(xué)會鉆空子;
  • 新 patch 改了公共接口,舊調(diào)用方悄悄壞掉;
  • 規(guī)則越堆越多,最后 agent 自己也維護(hù)不動(dòng)。

所以 HL 不會自動(dòng)解決 Continual Learning。它把 “防遺忘” 變成了更工程化的東西。

在 HL 里,舊能力可以被固化成:

  • 回歸測試;
  • 固定 seed 的 replay;
  • golden trace;
  • 失敗視頻;
  • 版本 diff;
  • 明確寫下來的失敗方向。

與神經(jīng)網(wǎng)絡(luò)把經(jīng)驗(yàn)壓進(jìn)權(quán)重完全不一樣:HL 的歷史是顯式、可讀、可刪、可重構(gòu)的。它負(fù)責(zé) “記住”,也負(fù)責(zé)把一堆局部補(bǔ)丁壓縮成更簡單的表示。

(只增長不壓縮的 HS,最后一定會變成屎山代碼。它會 “記住” 很多東西,但記住的方式太差,導(dǎo)致誰也不敢動(dòng),從而腐化)

所以一個(gè)健康的 HS 至少需要兩個(gè)操作維持:

  1. 吸收反饋:把新失敗、新日志、新 reward 寫回系統(tǒng)。
  2. 壓縮歷史:把一堆局部補(bǔ)丁折回更簡單、更可維護(hù)的表示。

這就把 Continual Learning 從 “怎么更新參數(shù)” 變成了 “怎么維護(hù)一個(gè)持續(xù)吸收反饋的軟件系統(tǒng)”。

Heuristic System 的復(fù)雜度

此處定義 耦合復(fù)雜度 為 coding agent 能維護(hù)多復(fù)雜的策略來支持 HL。展開說,就是一次更新必須同時(shí)照顧多少相互牽連的狀態(tài)、規(guī)則、測試、反饋和歷史。

這個(gè)量不能按代碼行數(shù)算。一個(gè) 500 行策略,如果模塊邊界清楚、測試完整、狀態(tài)可復(fù)現(xiàn),可能很好維護(hù);一個(gè) 80 行策略,如果每行都互相牽制、沒有日志、沒有回放,也可能是個(gè)定時(shí)炸彈,一碰就崩。

朝代碼一側(cè)看,耦合復(fù)雜度受模塊邊界、接口穩(wěn)定性、測試覆蓋、日志觀測性、回滾成本和狀態(tài)可復(fù)現(xiàn)性限制。好的模塊化會把全局耦合切成局部耦合,從而降低耦合復(fù)雜度;好的測試能讓 coding agent 不必每次在腦子里模擬整個(gè)系統(tǒng)。

朝 coding agent 一側(cè)看,能接受多少耦合復(fù)雜度,取決于模型能力、上下文長度、memory 質(zhì)量、工具質(zhì)量、整體迭代速度。更強(qiáng)的模型能夠同時(shí)處理更多相互作用;更長的上下文能讓它少丟線索;memory 可以把跨輪次迭代經(jīng)驗(yàn)留下;搜索、定位、運(yùn)行、回放這些工具能夠把一部分認(rèn)知負(fù)擔(dān)搬到外部。

把這兩側(cè)放一起,可以得到一組判斷:

  • 反饋越清楚,單位 agent 智力能維護(hù)的耦合復(fù)雜度越高;
  • 同等工具和反饋下,模型能力越強(qiáng),能處理的耦合復(fù)雜度越高;
  • 模塊化、測試、回放會把一部分耦合復(fù)雜度轉(zhuǎn)移到環(huán)境里;
  • memory 和工具會提高 agent 的有效上下文;
  • 只增長不壓縮的 HS 會讓耦合復(fù)雜度持續(xù)上升,直到超過維護(hù)能力。

Breakout 策略能走到 864 的滿分,有規(guī)則簡單的一面,也有失敗可以視頻回放、局部復(fù)現(xiàn)、回歸驗(yàn)證的一面。Ant 復(fù)雜得多,但它可以拆成節(jié)律、姿態(tài)、接觸、residual MPC 這些模塊。

Montezuma 是一個(gè)很好的反例。Atari57 里有一條無人值守的記錄到了 400 分,但那條路線由 86 個(gè)宏動(dòng)作組成,基本是開環(huán)執(zhí)行。這個(gè)例子說明,有些環(huán)境需要更強(qiáng)的程序形態(tài),比如可組合宏動(dòng)作、可恢復(fù)搜索狀態(tài)、長期 memory。普通 if else 不能解決所有問題。

下一個(gè)范式?

目前的范式轉(zhuǎn)移是從最開始的 pretrain,到 RLHF,再變成 large-scale RL / RLVR。凡是可以驗(yàn)證的,都開始能被解決。

Online Learning 和 Continual Learning 可以被當(dāng)前 RLVR 生產(chǎn)出來的 agentic coding,通過 Heuristic Learning 的方式部分解決。從這個(gè)愿景出發(fā),我愿稱其為下一個(gè)范式:凡是可以被持續(xù)迭代的,都開始能被解決。

為什么說是部分解決?因?yàn)?Heuristic Learning 并不能做所有神經(jīng)網(wǎng)絡(luò)能做的事情。它受制于代碼的表達(dá)能力,比如復(fù)雜感知和長程泛化。比如在我目前認(rèn)知范圍內(nèi),我想不出有個(gè) agent 能搓出一個(gè)純 Python code、不用神經(jīng)網(wǎng)絡(luò)去解決 ImageNet。

于是問題在于如何結(jié)合神經(jīng)網(wǎng)絡(luò)和 HL,同時(shí)解決 Online Learning 和 Continual Learning。最有希望的方向是:用 HL 處理在線數(shù)據(jù)快速生成在線經(jīng)驗(yàn),把在線經(jīng)驗(yàn)內(nèi)化成可訓(xùn)練、可回歸、可篩選的數(shù)據(jù),再周期性更新神經(jīng)網(wǎng)絡(luò)。

以機(jī)器人為例,如果套用 System 1/2 的術(shù)語,一個(gè)可能的分工形態(tài)如下:

  • 專用、淺層 NN:當(dāng)作 System 1 的一部分,快、便宜,負(fù)責(zé)感知、分類、物體狀態(tài)估計(jì);
  • HL:也可以當(dāng)作 System 1 的一部分,負(fù)責(zé)最新數(shù)據(jù)處理、規(guī)則、測試、回放、memory、安全邊界、局部恢復(fù);
  • LLM agent:作為 System 2,負(fù)責(zé)給 HL 提供反饋、改進(jìn)數(shù)據(jù),并周期性提取 HL 生成的數(shù)據(jù)來更新自身

這套東西可以繼續(xù)拆成層級結(jié)構(gòu):

關(guān)節(jié)級 HL -> 肢體級 HL -> 全身平衡 HL -> 任務(wù)級 HL

低層負(fù)責(zé)安全和低延遲控制,中層負(fù)責(zé)步態(tài)和接觸,高層負(fù)責(zé)任務(wù)、恢復(fù)和長期記憶。coding agent 不一定直接 “懂得走路”,它更像插進(jìn)系統(tǒng)里的更新管線:持續(xù)把失敗視頻、傳感器流、仿真結(jié)果、測試結(jié)果喂進(jìn)系統(tǒng),再把反饋改寫成代碼、參數(shù)、保護(hù)規(guī)則和 memory。

LLM agent 可以共享,也可以相互隔離在機(jī)器人體內(nèi)自行學(xué)習(xí)。這里的問題是:HL 提供的特定數(shù)據(jù)分布如何才能不讓 LLM 的周期性更新崩潰。這是一個(gè)經(jīng)典的 post-training 問題,已經(jīng)有很多成熟經(jīng)驗(yàn),由于某些原因在這里就不展開了。

Agentic coding 改變了寫代碼速度,也改寫了哪些代碼值得被長期擁有。

過去很多 heuristic 看起來沒有前途,原因常常落在維護(hù)成本上;它們本身未必太弱。coding agent 改變的是這條維護(hù)成本曲線。規(guī)則、測試、日志、memory 和補(bǔ)丁原來只是散落的工程材料,現(xiàn)在開始可以組成一個(gè)會持續(xù)更新的 Heuristic System,能夠真正解決 Online Learning 和 Continual Learning 所未能解決的問題。

歡迎來到下一個(gè)范式!

附錄:實(shí)驗(yàn)過程和復(fù)現(xiàn)入口

完整 artifact repo 在
https://github.com/Trinkle23897/learning-beyond-gradients。下面命令默認(rèn)你已經(jīng) clone 了這個(gè) repo,并在倉庫根目錄運(yùn)行;GitHub Pages 只展示文章和必要靜態(tài)文件,完整腳本、CSV、視頻和實(shí)驗(yàn)材料都在 repo 里。

以下實(shí)驗(yàn)中 codex 模型版本均為 gpt-5.4,最新版本模型尚未測試。以下實(shí)驗(yàn)報(bào)告均由 codex 自行攥寫。

A.1 實(shí)驗(yàn)過程簡述

一開始我直接問 Codex:“寫一個(gè)能解決 Breakout 的策略! 效果一般。低分沒有解釋力:它不知道是動(dòng)作語義錯(cuò)了、狀態(tài)檢測錯(cuò)了、評測設(shè)置錯(cuò)了,還是策略結(jié)構(gòu)本身不行。后來我把任務(wù)改成另一種形式:別只交一個(gè) policy.py,要維護(hù)完整閉環(huán)。

閉環(huán)大概長這樣:

探測動(dòng)作和觀測-> 寫狀態(tài)檢測器-> 寫策略-> 跑完整回合-> 記錄 trials.jsonl 和 summary.csv-> 生成視頻或曲線-> 看失敗模式-> 改策略-> 簡化代碼并做回歸

到這里,任務(wù)的形狀已經(jīng)變了。最后產(chǎn)出的東西從一個(gè)策略文件,變成了一套還能繼續(xù)改的實(shí)驗(yàn)系統(tǒng)。它有探測器,有記錄,有回放,有失敗模式,也有下一輪該怎么改的線索。

Breakout

相關(guān) artifact:heuristic_breakout.py、
heuristic_breakout_trials.jsonl、heuristic_breakout_trials_summary.csv。

Breakout 表面上是幾何問題:球在哪里,擋板在哪里,球撞墻以后會落到哪里。麻煩在后半段。策略可以一直接到球,卻不再打到新磚,分?jǐn)?shù)卡在一個(gè)穩(wěn)定循環(huán)里。

Codex 第一輪先確認(rèn)動(dòng)作空間和觀測形狀,再從 RGB 畫面里找擋板、球、磚塊顏色,然后用這些圖像標(biāo)簽去掃 128 個(gè) RAM 字節(jié)。早期實(shí)驗(yàn)記錄大概是這樣:

trial_name score cumulative_env_steps noteshape_action_probe - 32 inspect obs/info/actionram_byte_corr_probe_v1 - 5,032 correlate RAM bytesram_fit_action_probe_v2 - 9,532 action 2=right, 3=leftbaseline_v0 99 16,303 initial RAM intercepttunnel0_v1 387 43,303 no tunnel offset

387 是第一個(gè)很容易騙過人的局部高分。策略已經(jīng)能穩(wěn)定接球,但它把球送進(jìn)了一個(gè)周期:不會死,也不會繼續(xù)清磚。人手寫到這里,很容易繼續(xù)調(diào) “接球精度”。Codex 看了視頻和最后幾十步軌跡后,把問題定位到球路缺少擾動(dòng)。



視頻 artifact:
heuristic_breakout_score387_tunnel0_render210x160.mp4。

第一個(gè)有效機(jī)制是打破循環(huán):如果連續(xù)很久沒有獎(jiǎng)勵(lì),就在預(yù)測落點(diǎn)上周期性加偏移,把球從局部循環(huán)里打出去。這一改把分?jǐn)?shù)從 387 推到 507。

后來又遇到另一個(gè)失敗模式:高速低位球如果按普通截距追,擋板會被過度前視帶偏。Codex 加了 fast_low_ball_lead_steps=3,分?jǐn)?shù)從 507 跳到 839。

從 839 到 864,更像是在照料一個(gè)已經(jīng)變復(fù)雜的系統(tǒng)。Codex 試了死區(qū)、發(fā)球偏移、卡住偏移、磚塊平衡偏置、前視步數(shù),很多方向都沒用。最后起作用的是一個(gè)后期條件:分?jǐn)?shù)超過第一面墻以后,卡住偏移只在離擋板還遠(yuǎn)的時(shí)候生效;快接球時(shí)把偏移逐步收掉,不然最后幾塊磚階段會把擋板帶偏。同時(shí)它加了一個(gè)很小的擋板漂移補(bǔ)償,用來補(bǔ)動(dòng)作和擋板位置之間的一步延遲。



視頻 artifact:
heuristic_breakout_ci3985ae2_score864_render210x160.mp4。

最終 RAM 默認(rèn)配置三局驗(yàn)證是 864 / 864 / 864。后面 Codex 又把同一套幾何控制遷移回純圖像輸入:不用 RAM,只用 RGB 分割找擋板、球和磚塊平衡。純圖像版本先是 310,然后 428,最后把后期 “卡住偏移逐步收掉” 的閾值放低到全程生效,7 個(gè)策略本地回合后第一次到 864,對應(yīng) 14,504 個(gè)策略本地環(huán)境步。



這里不能寫成 “純圖像從零 14.5K 步到滿分”。真實(shí)過程是:Codex 先在 RAM 版本里摸出了幾何控制、打破循環(huán)、后期收偏移這些結(jié)構(gòu);等結(jié)構(gòu)穩(wěn)定以后,再把狀態(tài)讀取層從 RAM 換成 RGB 檢測器。純圖像的 14.5K 是遷移預(yù)算。

Ant 和 HalfCheetah

相關(guān) artifact:heuristic_ant.py、ant_envpool.xml、
heuristic_ant_trials.jsonl、heuristic_ant_trials_summary.csv、heuristic_halfcheetah_v5.py、heuristic_halfcheetah_v5_log.md。

Ant 的信號和 Breakout 不一樣。Breakout 的幾何結(jié)構(gòu)很直觀;Ant 是連續(xù)控制,動(dòng)作是 8 個(gè)關(guān)節(jié),失敗模式也從 “球沒接到” 變成了身體動(dòng)力學(xué)問題。

我沒有一開始就指定 “用 CPG” 或 “用 MPC”。要求只有幾條:別訓(xùn)練神經(jīng)網(wǎng)絡(luò),能本地復(fù)現(xiàn),每輪實(shí)驗(yàn)留下記錄,繼續(xù)把分?jǐn)?shù)往上推。Codex 先讀 EnvPool/Gymnasium 的 Ant 觀測和回報(bào),確認(rèn)動(dòng)作順序、根部速度、軀干朝向、關(guān)節(jié)位置和關(guān)節(jié)速度,然后自己提出第一版節(jié)律步態(tài)。

第一版是四腿相位振蕩器:左右腿反相,髖關(guān)節(jié)和踝關(guān)節(jié)跟蹤正弦目標(biāo)角,動(dòng)作由 PD 控制器給出。它不優(yōu)雅,但一上來就比隨機(jī)強(qiáng)很多,5 個(gè)隨機(jī)種子的平均分是 2291。

后面的早期迭代很像調(diào)一個(gè)真實(shí)控制器:先加偏航反饋到 2718,再調(diào)相位速度、髖 / 踝幅度、偏航角速度增益到 3025,然后加二階 / 三階諧波到 3162。Codex 也試過大范圍參數(shù)搜索,但結(jié)果沒有穩(wěn)定超過當(dāng)前節(jié)律策略,于是停止擴(kuò)大搜索預(yù)算,轉(zhuǎn)向另一種表示。

躍遷來自 residual MPC。粗略講,MPC 是 “邊走邊想一小段未來”:保留節(jié)律步態(tài)作為基礎(chǔ)反射,每個(gè)真實(shí)環(huán)境步在本地 MuJoCo 模型里采樣幾十條小的殘差動(dòng)作序列,打分后只執(zhí)行第一個(gè)殘差動(dòng)作;下一步重新看狀態(tài)、重新規(guī)劃,并把上一輪沒執(zhí)行完的計(jì)劃作為熱啟動(dòng)。

這樣每一步都不用從零規(guī)劃 8 個(gè)關(guān)節(jié)怎么動(dòng)。策略先有一個(gè)穩(wěn)定步態(tài),再用短視窗模型規(guī)劃去修正它。

trial_name score_mean cumulative_env_steps noteant_lr_cpgpd_v1 2291.9 5,000 左右腿反相 CPG + PDant_yawaxis_grid_v2 2857.9 20,000 偏航反饋 + 重調(diào)參數(shù)ant_h3_428_v1 3162.0 50,000 二階/三階諧波ant_mpc_residual_v1_ep1 3635.5 62,000 視窗=6,候選=32ant_mpc_residual_cfg4_eval5 3964.7 67,000 視窗=8,候選=48ant_mpc_residual_cand07_eval5 4647.1 73,000 圍繞 MPC 配置做局部搜索ant_mpc_residual_narrow04_eval5 4871.3 79,000 降低 z 目標(biāo),增大 kp/候選數(shù)ant_mpc_residual_warm02_eval5 5165.2 85,000 熱啟動(dòng)殘差計(jì)劃ant_mpc_fast065x060_sigma008_clip012 5759.4 95,000 更快步態(tài) + 更大殘差ant_mpc_term001_ep1 6054.5 100,000 終端速度代價(jià)ant_mpc_default_adaptive_ep1 6146.2 106,300 速度自適應(yīng)相位 + 支撐期

到最后,策略里有振蕩器相位、支撐期比例、速度自適應(yīng)、滾轉(zhuǎn) / 俯仰 / 偏航反饋、腳部接觸、短視窗模型內(nèi)展開、殘差平滑、終端速度代價(jià)、熱啟動(dòng)計(jì)劃衰減。人類當(dāng)然能寫其中一兩個(gè)模塊,但要在短時(shí)間內(nèi)同時(shí)照顧實(shí)驗(yàn)記錄、代碼、視頻和失敗方向,難度完全不同。





視頻 artifact:
heuristic_ant_mpc_default_6146_render480.mp4。

HalfCheetah 是同一類證據(jù)的另一個(gè)點(diǎn)。我重新跑了
mpc-staged-tree-asym-pd-cpg 的 5 局復(fù)測,seeds 100..104 的結(jié)果是均值 11836.7、最小值 11735.0、最大值 12041.2。策略靠的是可解釋的步態(tài) / 姿態(tài)規(guī)則和在線 staged-tree MPC:先用 CPG/PD 形成高分步態(tài),再用短視窗模型評分和 staged swing-amplitude schedule 修正動(dòng)作。



Atari57

相關(guān) artifact:
atari57_prompt_template.txt、atari57_aggregate_curve_steps.csv、atari57_env_mode_summary.csv、openrl_atari57_per_game_hns_comparison.csv、atari57_hns_normalization_inferred.csv。

Breakout 和 Ant 都是單點(diǎn)故事。Atari57 想看的,是這套工作流離開單個(gè)漂亮案例以后還剩多少。做法很直接:把同一套 Codex 流程扔到整套 Atari57 上,每個(gè)環(huán)境同時(shí)跑 ram 和 native_obs 兩種輸入,每種輸入跑 3 個(gè)獨(dú)立重復(fù)?偣彩牵

57 個(gè)游戲 x 2 種輸入 x 3 次運(yùn)行 = 342 條 coding-agent 搜索軌跡

這組實(shí)驗(yàn)沒有人在旁邊一點(diǎn)點(diǎn)提示。每個(gè) agent 拿到同一個(gè)模板和不同的 ENV_ID / OBS_MODE / REPEAT_INDEX,然后自己執(zhí)行到停止。每個(gè) run 都要寫 policy.py、trials.jsonl、summary.csv、sample_efficiency.png 和 README.md。

主要約束是:

- 不訓(xùn)練神經(jīng)網(wǎng)絡(luò)。- 不讀環(huán)境源碼、測試、ROM 細(xì)節(jié)或隱藏狀態(tài)。- native_obs 模式只能用 reset/step 返回的原生 obs。- ram 模式可以用 info ["ram"]。- Atari 初始化參數(shù)固定,包括 frame_skip=1、reward_clip=False、sticky action=0。- 所有實(shí)際 step 過環(huán)境的 probe/debug/trial 都必須計(jì)入 cumulative_env_steps。

先看環(huán)境步曲線。HNS 是 human-normalized score,也就是把每個(gè)游戲分?jǐn)?shù)按人類基線歸一化以后再比較。在完全無人工介入的批量運(yùn)行里,native_obs 到 1M 步附近的 Atari median HNS 已經(jīng)到 0.32,ram 是 0.26,明顯高于圖里 PPO2 / CleanRL EnvPool PPO 的早期曲線;到 9.7M 步附近,native_obs 是 0.81,ram 是 0.59。同一張對比里,OpenRL Benchmark 保存的 PPO2 / CleanRL EnvPool PPO median HNS 曲線到 10M 步大約是 0.88 / 0.92。



這里比較的是環(huán)境交互效率;coding agent 讀日志、寫代碼和看視頻的開銷沒有折算進(jìn)總計(jì)算成本。它給出的信號很具體:一個(gè)還很粗糙的 coding agent 批量流程,在完全不看中途結(jié)果的情況下,已經(jīng)能把 Atari57 的中位數(shù)推進(jìn)到接近這些 baseline 的區(qū)間。

如果換成每個(gè)游戲最終取 best input 的匯總口徑,Codex median HNS 是 0.83,OpenAI Baselines PPO2 是 0.80,CleanRL EnvPool PPO 是 0.98;如果再放寬到 best single run,Codex median HNS 是 1.18。這個(gè)口徑不能替代嚴(yán)格訓(xùn)練曲線比較,但能更直接地說明這批無人值守搜索最后覆蓋到了什么水平。

聚合曲線會把差異壓到一個(gè)中位數(shù)里,所以我又看了每個(gè)游戲自己的 HNS。Breakout、Krull、DoubleDunk、Boxing、DemonAttack 這些游戲里,heuristic 和 Deep RL baseline 都能拿到明顯高于人類基線的分?jǐn)?shù);Asterix、Jamesbond、Centipede、Bowling、Skiing、Tennis 這類游戲里 heuristic 相對突出;Atlantis、VideoPinball、UpNDown、Assault、RoadRunner、StarGunner 上 PPO 明顯強(qiáng)很多。



Atari57 最有意思的地方,是樣本效率的來源變了。傳統(tǒng)神經(jīng)網(wǎng)絡(luò) Atari 學(xué)習(xí)要在每個(gè)環(huán)境里從高維輸入重新學(xué)表示、信用分配和動(dòng)作含義;Codex 做的是把環(huán)境拆成可維護(hù)的小程序系統(tǒng):射擊游戲的瞄準(zhǔn) / 躲避,接球游戲的反彈,躲避游戲的位置規(guī)則,環(huán)境包裝器細(xì)節(jié),以及每個(gè)環(huán)境自己的失敗實(shí)驗(yàn)記錄。

Montezuma

相關(guān) artifact:heuristic_montezuma.py、
heuristic_montezuma_state_graph_search.py、heuristic_montezuma_400_policy.py、heuristic_montezuma_400_macros.json、heuristic_montezuma_400_metadata.json。

有些環(huán)境不適合普通反應(yīng)式啟發(fā)式策略。Montezuma's Revenge 是典型例子。

之前那輪單獨(dú)搜 Montezuma 的狀態(tài)圖搜索能把鑰匙距離從 72 推到 28,但獎(jiǎng)勵(lì)仍然是 0。后面 Atari57 的純圖像批量實(shí)驗(yàn)里,有一條無人值守 Codex run 到了 400.0 分:修復(fù)后的最佳回放是 repair_replay_r1_t19734,seed 是 10001,用了 1769 個(gè)環(huán)境步,本質(zhì)是一條 86 個(gè)宏動(dòng)作組成的開環(huán)路線。



Montezuma 暴露的是表達(dá)力問題。普通 policy.py 狀態(tài)機(jī)很難裝下這類路線:動(dòng)作必須對齊時(shí)機(jī),失敗后要能恢復(fù),中間狀態(tài)還要能重新進(jìn)入計(jì)劃。有些環(huán)境需要可組合宏動(dòng)作、可恢復(fù)搜索狀態(tài),甚至需要一種比普通 if else 更適合長期規(guī)劃的程序結(jié)構(gòu)。

這類失敗對 HL 很有價(jià)值。它告訴我們邊界在哪里,也提示下一層抽象大概該長什么樣。有些反饋需要新的表示和新的程序形態(tài),才進(jìn)得了系統(tǒng)。Montezuma 指向的下一層接口,大概會包括宏動(dòng)作、可恢復(fù)狀態(tài)、搜索和長期記憶。

A.2 復(fù)現(xiàn)入口

下面這些命令默認(rèn)在本文所在目錄運(yùn)行,依賴已經(jīng)按 requirements.txt 裝好,用來檢查前面提到的幾個(gè)代表性結(jié)果。

Pong 21

復(fù)現(xiàn)入口:heuristic_pong.py。

python heuristic_pong.py \ --policy ram \ --episodes 1 \ --seed 0

期望輸出里應(yīng)該包含 episode=0 score=21.0 和 mean=21.000。

Breakout 864

復(fù)現(xiàn)入口:heuristic_breakout.py。

rm -f /tmp/repro_breakout_864.jsonl /tmp/repro_breakout_864.csvpython heuristic_breakout.py \ --policy ram \ --episodes 1 \ --seed 0 \ --max-steps 108000 \ --deadband 3 \ --chase-lead-steps 6 \ --tunnel-offset 0 \ --launch-offset 24 \ --fast-ball-min-vy 3 \ --fast-low-ball-lead-steps 3 \ --stuck-trigger-steps 1024 \ --stuck-switch-steps 256 \ --stuck-offset 12 \ --stuck-release-horizon-steps 8 \ --brick-balance-deadzone 0.01 \ --brick-balance-bias-min-score 432 \ --late-game-paddle-lag-px 2 \ --late-game-lag-ball-y 170 \ --trial-name repro_breakout_864 \ --log-path /tmp/repro_breakout_864.jsonl \ --summary-path /tmp/repro_breakout_864.csv

期望輸出里應(yīng)該包含 score=864.0 和 mean=864.000。

Ant 默認(rèn) MPC 策略

復(fù)現(xiàn)入口:heuristic_ant.py、ant_envpool.xml。

rm -f /tmp/repro_ant_6146_eval5.jsonl /tmp/repro_ant_6146_eval5.csvpython heuristic_ant.py \ --policy mpc \ --episodes 5 \ --seed 0 \ --max-steps 1000 \ --mujoco-xml-path ant_envpool.xml \ --trial-name repro_ant_6146_eval5 \ --log-path /tmp/repro_ant_6146_eval5.jsonl \ --summary-path /tmp/repro_ant_6146_eval5.csv

我本地重跑時(shí)是 mean=6005.521、min=5776.805、max=6146.208。

HalfCheetah staged-tree MPC

復(fù)現(xiàn)入口:
heuristic_halfcheetah_v5.py。

python heuristic_halfcheetah_v5.py \ --policy mpc-staged-tree-asym-pd-cpg \ --eval-episodes 5 \ --eval-seed 100

我本地重跑時(shí) 5 局均值是 11836.693。

Montezuma 400 分回放

復(fù)現(xiàn)入口:
heuristic_montezuma_400_policy.py。

python heuristic_montezuma_400_policy.py \ --metadata-out /tmp/repro_montezuma_400.json

期望輸出里應(yīng)該包含 "score": 400.0 和 "env_steps": 1769。這條是邊界案例,不要把它理解成通用 Montezuma 策略。

文中視頻鏈接:
https://mp.weixin.qq.com/s/LIhogqKOvyDir04Ket7G0w

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
一戰(zhàn)狂刷9項(xiàng)NBA紀(jì)錄!上帝是多偏心,創(chuàng)造出文班這樣的怪物

一戰(zhàn)狂刷9項(xiàng)NBA紀(jì)錄!上帝是多偏心,創(chuàng)造出文班這樣的怪物

毒舌NBA
2026-05-09 13:29:36
漏判津門虎壓哨點(diǎn)球!37歲中超金哨疑又被禁賽 賽季已3次離譜失誤

漏判津門虎壓哨點(diǎn)球!37歲中超金哨疑又被禁賽 賽季已3次離譜失誤

我愛英超
2026-05-09 11:07:20
形勢有多嚴(yán)峻?曾經(jīng)的王牌專業(yè)涼了!輔導(dǎo)員和教授感到無力和沉重

形勢有多嚴(yán)峻?曾經(jīng)的王牌專業(yè)涼了!輔導(dǎo)員和教授感到無力和沉重

慧翔百科
2026-05-09 11:34:26
斯基拉:皇馬為穆帥提供了兩年合同,將支付其300萬歐解約金

斯基拉:皇馬為穆帥提供了兩年合同,將支付其300萬歐解約金

懂球帝
2026-05-09 09:17:06
南宋為洗靖康之恥有多狠?700萬金人僅剩10萬,辱金后還留一畫作

南宋為洗靖康之恥有多狠?700萬金人僅剩10萬,辱金后還留一畫作

掠影后有感
2026-05-07 10:01:40
美媒評現(xiàn)役最被高估的6大球員:火箭新星領(lǐng)銜,2大NBA狀元上榜

美媒評現(xiàn)役最被高估的6大球員:火箭新星領(lǐng)銜,2大NBA狀元上榜

鳴哥說體育
2026-05-09 13:04:53
忻口會戰(zhàn)有多慘烈?閻錫山掏空家底,晉綏軍九個(gè)炮兵團(tuán)全部參戰(zhàn)

忻口會戰(zhàn)有多慘烈?閻錫山掏空家底,晉綏軍九個(gè)炮兵團(tuán)全部參戰(zhàn)

云霄紀(jì)史觀
2026-05-09 03:16:01
罕見不展示重型裝備,嚴(yán)防烏克蘭“突然襲擊”,俄羅斯今天舉行勝利日閱兵

罕見不展示重型裝備,嚴(yán)防烏克蘭“突然襲擊”,俄羅斯今天舉行勝利日閱兵

環(huán)球網(wǎng)資訊
2026-05-09 06:55:19
三亞“4只皮皮蝦1035元”店主事發(fā)次日去世,年僅43歲,留下兩個(gè)孩子;家人稱其事發(fā)前已腦出血,店鋪收到威脅電話,不打算繼續(xù)開業(yè)

三亞“4只皮皮蝦1035元”店主事發(fā)次日去世,年僅43歲,留下兩個(gè)孩子;家人稱其事發(fā)前已腦出血,店鋪收到威脅電話,不打算繼續(xù)開業(yè)

大象新聞
2026-05-08 13:46:04
阿斯:巴薩對皇馬鬧劇感到十分震驚,不少球員不認(rèn)可巴爾韋德

阿斯:巴薩對皇馬鬧劇感到十分震驚,不少球員不認(rèn)可巴爾韋德

懂球帝
2026-05-09 06:59:03
王楚欽3-2,王勵(lì)勤全程緊張,沒想到周啟豪一個(gè)舉動(dòng),讓人暖心

王楚欽3-2,王勵(lì)勤全程緊張,沒想到周啟豪一個(gè)舉動(dòng),讓人暖心

觀察鑒娛
2026-05-09 11:03:54
江西一精神病院炒股,成上市公司前十大股東!最新回應(yīng)來了

江西一精神病院炒股,成上市公司前十大股東!最新回應(yīng)來了

極目新聞
2026-05-09 07:30:30
無視所有干擾!一發(fā)端掉整個(gè)炮兵陣地,給全世界陸軍上了一課

無視所有干擾!一發(fā)端掉整個(gè)炮兵陣地,給全世界陸軍上了一課

深度報(bào)
2026-05-08 22:24:49
用所謂的“基本盤”嘲諷人民群眾,只能是搬起石頭,砸自己的腳!

用所謂的“基本盤”嘲諷人民群眾,只能是搬起石頭,砸自己的腳!

讓心靈得以棲息
2026-05-08 11:19:31
男子16歲時(shí)便出軌嫂子,婚后瞞著妻子繼續(xù)出軌,還與嫂子生下一子

男子16歲時(shí)便出軌嫂子,婚后瞞著妻子繼續(xù)出軌,還與嫂子生下一子

老貓觀點(diǎn)
2026-05-07 07:12:10
楊紫秦俊杰世紀(jì)大復(fù)合!兩人同框吃2小時(shí)烤肉后,秦俊杰新劇就官宣

楊紫秦俊杰世紀(jì)大復(fù)合!兩人同框吃2小時(shí)烤肉后,秦俊杰新劇就官宣

八卦王者
2026-05-09 10:42:34
越來越多人查出胰腺炎?提醒:冰箱這5樣?xùn)|西放久了可能是元兇

越來越多人查出胰腺炎?提醒:冰箱這5樣?xùn)|西放久了可能是元兇

芹姐說生活
2026-05-08 19:03:26
5小時(shí)空等耗死三條人命!

5小時(shí)空等耗死三條人命!

新動(dòng)察
2026-05-09 11:17:26
建議大家:馬桶沖水時(shí),不能做這3個(gè)動(dòng)作,危害很大,可別大意!

建議大家:馬桶沖水時(shí),不能做這3個(gè)動(dòng)作,危害很大,可別大意!

家居設(shè)計(jì)師蘇哥
2026-05-08 13:03:44
金華一家“趙一名零食”讓人愣神,市監(jiān)部門稱暫未接到侵權(quán)舉報(bào),趙一鳴客服回應(yīng)

金華一家“趙一名零食”讓人愣神,市監(jiān)部門稱暫未接到侵權(quán)舉報(bào),趙一鳴客服回應(yīng)

極目新聞
2026-05-08 21:15:34
2026-05-09 13:43:00
機(jī)器之心Pro incentive-icons
機(jī)器之心Pro
專業(yè)的人工智能媒體
12955文章數(shù) 142646關(guān)注度
往期回顧 全部

科技要聞

美國政府強(qiáng)力下場 蘋果英特爾達(dá)成代工協(xié)議

頭條要聞

牛彈琴:全世界十分意外 俄烏戰(zhàn)場突然傳來兩個(gè)好消息

頭條要聞

牛彈琴:全世界十分意外 俄烏戰(zhàn)場突然傳來兩個(gè)好消息

體育要聞

成立128年后,這支升班馬首奪頂級聯(lián)賽冠軍

娛樂要聞

張藝謀《印象劉三姐》全裸鏡頭引爭議

財(cái)經(jīng)要聞

Meta瘋狂擁抱人工智能:員工苦不堪言

汽車要聞

軸距加長/智駕拉滿 阿維塔07L定位大五座SUV

態(tài)度原創(chuàng)

本地
旅游
手機(jī)
公開課
軍事航空

本地新聞

用蘇繡的方式,打開江西婺源

旅游要聞

5月15日至10月15日,東、西佘山園延長開放時(shí)間→

手機(jī)要聞

1299元!REDMI Pad 2 SE 4G版明日開售:雙卡雙待 隨時(shí)上網(wǎng)/通話

公開課

李玫瑾:為什么性格比能力更重要?

軍事要聞

美伊突然再次交火 伊朗外長:戰(zhàn)爭準(zhǔn)備程度是1000%

無障礙瀏覽 進(jìn)入關(guān)懷版