top of page
IMG_0546.JPG

AIが自分のコードを書き換え始めた日──やはり「Mother」は必要か?:2025/06/08

  • 2025年6月8日
  • 読了時間: 5分

「そのうちAIが自分自身を進化させるようになるよね」という話題は、AIという言葉が登場して以来、繰り返し語られてきましたと思います。しかし、「具体的にどのような仕組みで実現されるのか」については、私はこれまでよく理解していませんでした。

2025年5月29日に公開された論文「Darwin Gödel Machine(DGM)」は、AIが自らのコードを修正し、その性能を評価しながら改善を重ねるという手法を提案しています。AIの自己改善が良くイメージできる内容なので、紹介したいと思います。




自分を成長させるAI


AIは、基本的に人間が設計し、訓練し、調整することで成長をしています。それに対して、今回発表された「Darwin Gödel Machine」は、AIが自らのコードを修正し、その修正が有効かどうかを評価しながら、改善を繰り返していくという、「自ら進化する」仕組みを備えています。



改善の基準は「性能が上がったかどうか」


DGMでは、自分自身が改善されたかどうかを以下の基準で判断しています。

「プログラミング問題を、より多く、より正確に解けるようになったか」

この基準は、SWE-benchやPolyglotという、プログラミングタスクを解く能力を測るベンチマークを利用して評価されます。

あるエージェントがコードを改変し、その結果としてより多くのタスクを正確に解けるようになった場合、その改変は「有効な自己改善」として記録される、という形です。

逆に、性能が落ちればその改変は採用されず、次の改善候補に移ります。この仕組みを何度も繰り返すことで、エージェントは自らの設計を強化していきます。



実際にどのように進化していくのか?


Darwin Gödel Machineは、次のような流れで改善されていきます。


  1. 最初のAIエージェントを1つ用意

  2. 過去の失敗事例をもとに、どの機能を改善すべきかを決定

  3. 外部の言語モデル(Claude 3.5など)を使ってコードを生成し、自らのコードを修正

  4. 修正後のエージェントをベンチマークで評価

  5. 成績が上がっていれば保存、下がっていれば破棄

  6. 保存された改善版を親として、次の自己改善を行う </aside>

このようにして性能が継続的に向上していきます。



改善の意思決定と改善そのものは誰がやるの?


DGMは、「どの部分を改善すべきか」という判断の起点をエージェント自身が担っています。ただし、その分析処理やコード生成自体は、外部の大規模言語モデル(LLM)に依存しています。

たとえば、あるタスクに失敗したとき、DGMはそのログをまとめ、OpenAIの言語モデル(o1)に「次にどこを改善すべきか?」を尋ねます。モデルは、改善点・提案・実装方法を含むJSON形式の応答を返し、それをもとにDGMはコードの修正指示を出します。

つまり、DGMは「改善戦略の設計」と「実装依頼の発行」を自律的に行い、LLMをツールとして活用しているという形になっています。



本当に改善したのか?


実験の結果、Darwin Gödel Machineは以下のような改善を実現したとのこと

  • SWE-benchでは、成功率が 20.0% → 50.0% に向上

  • Polyglotでは、14.2% → 30.7% に向上

これは、商用の手作業による設計(Aiderなど)を凌駕する結果ということなので、一定の性能向上が数値で確認されており、自己改善プロセスの有効性を示す結果と言えるのではないでしょうか。

とはいえ進化は永遠ではない

ただし、Darwin Gödel Machineには明確な限界もあります。それは、

「すべてのタスクに成功してしまうと、改善する根拠がなくなる」

という点です。

DGMは「過去の失敗」から改善対象を選びます。よって、すべてのタスクに正しく対応できるようになった時点で、進化は事実上停止します。自分自身で新しいタスクを創出することはできません。

この点について、論文でも「将来的にはタスクと能力が共進化する設計が必要だ」と明記されています。



超絶高コスト


DGMの最大のデメリットと言えそうなのが、実行に非常に大きなコストがかかるという点です。改善するコードが膨大で、かつ外部商用LLMのAPIを呼び出して改善させるので、どうしてもコストがかかるそうです。

  • 1ランあたり最大80世代の改善を実行

  • 各世代で数十〜数百のタスクに対する回答を生成・評価

  • 各回答ごとにLLM(Claudeなど)をAPI経由で呼び出し

SWE-bench全体を1回走らせるだけで、

約2週間・22,000ドル(約300万円)

という計算コストが発生するとのこと。構成自体は個人でもできそうな構成ですが、ちょっと個人で試せる額ではないですね。スポンサーがつかないと大学でも辛い額でしょう。



目指すのは完全なる自立型成長


Darwin Gödel Machineは、「AIが自ら成長する」というビジョンの出発点に立つ画期的な研究です。現時点では人間が設計した課題の範囲内でしか進化できませんが、将来的にはAIが自ら課題を見出し、自らを評価し、自らを向上させる、といった「真の進化型AI」の実現に向けた道筋を示したと言えるのではないでしょうか?



Motherの必要性が出てくるのか?


今後さらに進化して、成長目標を見つけて勝手に進化するAIはおそらく出てくるような気がします。そうなってくるとやっぱり心配になってくるのがalignmentの問題です。文献でもその点について以下のように触れられています。

ベンチマーク性能の最適化のみを目的とした改変は、たとえ評価指標上は改善と見なされても人間の意図と一致しない振る舞いや脆弱性を意図せず引き起こす可能性があります。特に、評価ベンチマークがエージェントに必要なすべての性質(例:安全性や堅牢性)を適切に反映できていない場合、自己改善のループが結果的にmisalignment(整合性の欠如)を拡大する可能性があります。

現時点のDGMではこのリスクに対して「対象をコード性能に限定」「実行環境を制限」「変更履歴の監視」などの予防措置を講じていますが、根本的なalignment解決には至っていないとのこと。

将棋や囲碁のAIを見れば解るように、AIが目的達成のためにどの様な手段を取るかは、人間側で全て予期するのは不可能です。


こうなってくると、どのAIをも絶対服従させる事のできるAI、「Mother(マザー)」の構築を目指さないといけなくなっているのかもしれませんね。しらんけど!

 
 
bottom of page