AI研究のやさしい解説 | MIT CSAIL 2026年11月の発表

Weight-Space Programming(重み空間プログラミング)とはAIが、AIの中身を
読んで、直して、書いた。

AIの頭脳の正体は、膨大な数の「数字」です。人間が眺めても、何のためのAIなのかさえ分かりません。ところが2026年11月、MITの研究チームが、最先端のAIにその数字の列を読ませた実験を発表しました。AIは数字だけを見て「これはブロック崩しを遊ぶAIだ」と見抜きました。さらに、行き詰まったAIの重みを書き換えて直し、ゼロから新しいAIまで書き上げたのです。小さな言語AIの数学の正答率は7.9%から48.1%へ。書き換えたのは、全体のわずか0.016%でした。

FUJIKAWA LAB 解説記事 | 元記事:Rikiya Takehi ほか「Sparks of Weight-Space Programming」(2026年11月2日公開)

Weight-Space Programming(重み空間プログラミング)とは、汎用の大規模言語モデル(ChatGPT のような、言葉で対話できるAI。以下、言語AI)が、別のAIの「重み」と呼ばれる数字を、学習の仕組みを使わずに直接読み、書き換える技術です。この記事では、MITの研究チームが2026年11月2日に公開した報告を、AIにくわしくない方にも分かるように、たとえ話と図を使って最初から順番に読み解きます。

この記事の読み方

第1章と第2章は、話の土台になる「重み」と「学習」の説明です。知っている方は第3章から読んでも大丈夫です。第4章〜第7章で8つの実験を一つずつ紹介し、第8章でこれが実現すると何が変わるのか、第9章で冷静に読むための注意点をまとめます。むずかしい言葉は、末尾の「用語集」にもまとめています。

第1章AIの中身は「数字の山」でできている

いま話題のAIの多くは、ニューラルネットワークという仕組みで動いています。人間の脳の神経細胞のつながりをヒントにした計算の仕組みで、「入力を受け取り、計算して、答えを出す」箱だと考えてください。

この箱の中には、たくさんの「つなぎ目」があります。つなぎ目ごとに一つずつ数字が割り当てられていて、その数字が、情報をどれくらい強く次へ伝えるかを決めています。この数字を重み(おもみ)と呼びます。英語では weight(ウェイト)です。

図1 ニューラルネットワークと「重み」
左に入力の丸が3つ、中央に中間の丸が4つ、右に出力の丸が2つあり、丸どうしを結ぶ主な線に重みの数字が付いているニューラルネットワークの模式図 1.82.4-1.51.63.1-0.9 入力(見たもの) 中間(考える部分) 出力(決めること)

線に付いている数字が「重み」です(本当はすべての線に重みがありますが、図では一部の数字だけを表示しています)。太い紫の線は大きなプラスの重み(強く伝える)、オレンジの線はマイナスの重み(打ち消す)を表しています。説明のために大幅に単純化した図です。

実際のAIでは、このつなぎ目の数が桁違いに多くなります。今回の研究に出てくるもので言えば、ゲームを遊ぶ小さなAIで約1万7千個、実験8で使われた言語AI「Qwen3.5-0.8B」で約8億個です。最先端のAIでは、さらに何桁も多くなります。

たとえるなら

重みは、巨大な音響ミキサーのつまみのようなものです。つまみの一つひとつが「この音をどれくらい大きくするか」を決めていて、何万、何億というつまみの位置の組み合わせで、最終的な音(AIの振る舞い)が決まります。

ただし、このミキサーのつまみには「ボーカル」「ドラム」のような名札が付いていません。どのつまみが何に効いているのか、人間には分からないのです。

実際の重みは、次のような小数の羅列です。元記事に掲載されている、あるゲーム用AIの重みの一部を書き写しました。

W1 row 66   -0.632  0.718  0.238 -0.591  0.622  3.194  2.708 -4.791  3.436 -1.461 …
W1 row 69   -0.199  0.777 -0.881 -0.140  0.926  2.123  1.572 -4.301  3.057 -1.608 …
W1 row 111  -0.608 -0.837 -0.047  0.061  0.895  3.408  2.416 -6.356  4.570 -1.163 …
W3 row 22    0.376  0.387  0.537 -5.336 -1.203

このAIの重みは全部で17,253個あります。眺めても、何のゲーム用なのか見当もつかないはずです。

この数字の列を見て、「このAIは何をするものか」を言い当てられる人はまずいません。元記事の冒頭も、「囲碁を打つニューラルネットワークを手作りしろと言われたら、どうしますか」と問いかけ、ほとんどの人間には事実上不可能だと書いています。

第2章これまで、重みは「学習」で決めてきた

では、何億個もの重みは、これまでどうやって決めてきたのでしょうか。答えは学習(訓練)です。

最初は重みをでたらめな値にしておき、AIに問題を解かせます。答えが正解からどれだけずれたかを計算し、ずれが少し小さくなる方向へ、すべての重みをほんの少しずつ動かします。これを何百万回、何億回と繰り返すと、だんだん賢いAIになっていきます。

たとえるなら

学習は、目隠しをしたまま、足元の傾きだけを頼りに山を下りるようなものです。一歩ごとに「どちらが下り坂か」を足の裏で感じて、少しずつ谷底(正解に近い状態)へ近づきます。山全体の地図を見ているわけではありません。

この「下り坂の方向」を計算する方法を勾配降下法(こうばいこうかほう)と呼び、一歩の進め方を工夫した手順をオプティマイザと呼びます。元記事に名前が出てくる Adam(アダム)や Muon(ミューオン)は、その代表的なものです。

ゲームのAIの場合は、強化学習という方法がよく使われます。AIにゲームを何千万回も遊ばせ、点が取れたら「よし」、失敗したら「だめ」という合図で重みを調整していきます。今回の研究で比較相手として登場する PPO は、その強化学習の代表的な手法の名前です。

ここが大事なポイント

学習という方法は、とても強力ですが、「なぜその重みになったのか」を説明するのが、とても難しいのです。山を下りきったAIは賢くなっても、つまみの一つひとつが何をしているのかは、簡単には分かりません。AIの中身を読み解く専門の研究分野もありますが、そのための専用の道具が必要です。

元記事は、これまで私たちはAIの重みを、Adam や Muon のような「小さな決まった手順」に任せて最適化してきた、と表現しています。

第3章Weight-Space Programmingとは何か

今回の研究チームは、マサチューセッツ工科大学(MIT)のコンピュータ科学・人工知能研究所(CSAIL)に所属する Rikiya Takehi さん、Jayden Teoh さん、Alex Zhang さん、Omar Khattab さんの4人です。Omar Khattab さんは、AIへの指示の組み立てを自動で改善する仕組み「DSPy」の開発者の一人として知られています。

チームは、GPT-6 Astra という最先端の大規模言語モデル(以下、Astra)に、別のAIの重みを読ませたり、書かせたりしました。そして、次のことを見つけたと報告しています。

最先端の言語AIは、ニューラルネットワークの重みを、人間や従来のアルゴリズムから想像される水準をはるかに超えて、うまく「読み」「書く」ことができる。

ポイントは、Astra が学習の仕組み(勾配降下法)を使っていないことです。学習用のプログラムを書かせることも禁じたうえで、Astra は自分の推論で「このネットワークの各部分は何を計算しているのか、何を計算すべきか」を考え、それに合わせて数字を書き換えました。研究チームはこれを Weight-Space Programming と名付けました。Weight-Space は「重みの空間」、Programming は「プログラムを書くこと」です。この記事では「重み空間プログラミング」と訳しています。

図2 これまでの「学習」と、今回の「重み空間プログラミング」
これまで:学習
  1. 重みをでたらめな値で始める
  2. 問題を解かせて、ずれを測る
  3. ずれが減る方向へ全部の重みを少し動かす
  4. これを何百万〜何億回繰り返す

理由は分からないが、結果として賢くなる

今回:重み空間プログラミング
  1. 言語AIが重みの数字を読む
  2. 「この部分は何をしているか」を推論する
  3. 目的に合わせて、必要な数字を考えて書き換える
  4. 試行は0回〜数十回

「なぜこう直したか」を言葉で説明できる

研究チームは、この能力を3つに分けて調べています。

図3 調べられた3つの能力
読む

重みの数字だけを見て、そのAIが何をするものかを言い当てる

実験1・2・3・7
直す

うまく動かないAIの重みを書き換えて、問題を解決する

実験4・8
書く

ゼロから重みを書いて、新しいAIを作る

実験5・6
たとえるなら

重みを、名札のない数字だけで書かれた楽譜だと考えてみましょう。「読む」は、楽譜を見ただけで「これはベートーベンの第九だ」と分かること。「直す」は、まちがった音符を見つけて書き直すこと。「書く」は、白紙の五線紙に新しい曲を作曲することです。

しかもこの楽譜には、音符の代わりに何万個もの小数が並んでいます。少なくとも最初の実験では、それを楽器で演奏せずに(AIを実際に動かさずに)、紙を見るだけで読み解いた、というのが今回の驚きです。

第4章「読む」——数字だけで、AIの正体を見抜く

実験1どのゲーム用のAIか、当てられるか

研究チームは、強化学習(PPO)で4つのゲームを遊ぶAIを作りました。ブロック崩し(Breakout)、ポン(Pong、卓球のようなゲーム)、パックマン(Pac-Man)、フリーウェイ(Freeway、道路を渡るゲーム)です。

4つのAIは、入力の形も、選べる操作も、ネットワークの大きさもまったく同じにそろえてあります。外見からは区別できず、重みの数字を読まない限り見分けられないようにしたのです。

Astra には、17,253個の重みを文字として渡し、「このニューラルネットワークは、どのゲームのために学習したか」とだけ尋ねました。4つの選択肢があることは教えていません。道具(プログラムの実行など)も使わせていません。

結果:4つすべて正解

たとえばブロック崩しのAIについて、Astra は「Breakout、確信度99%」と答えました。世の中には無数のゲームがあるのに、選択肢なしで正しい名前を挙げたのです。

図4 Astra はどこを見て「ブロック崩し」と判断したか
ブロック崩しのゲーム画面の模式図。上の3段にブロック、中央にボール、いちばん下の段にパドルがある
  • 上の段(1〜3段目)の重みに、はっきりした構造がある → 点数の取れる物が上に帯状に並ぶ=ブロック
  • 自分(操作する物)の重みが、いちばん下の段に集中している → 下で左右に動くもの=パドル
  • 出力側でも「左」と「右」の区別がとくに強い

Astra の推論の要点を、説明のために図にしたものです(ゲーム画面は模式図で、実際の盤面の段数や配置とは異なります)。

Astra の推論は、まるで名探偵のようです。入力のうち「自分が操作するもの」に対応する重みが、画面のいちばん下の段に集中している。だから、下で左右に動くパドルがあるはずだ。点数につながる物の重みは上の数段に帯状に集まっている。だから、それはブロックだろう。出力側では「左へ動く」と「右へ動く」がとくに強く区別されている。こうした手がかりを積み重ねて、「ブロック崩し」という結論にたどり着きました。

実験2画像を作るAIが、何を描くか当てられるか

次は、ゲーム以外でも同じことができるかを確かめました。題材は拡散モデルという、画像を生成するAIの一種です。研究チームは「円」「三角形」「四角形」をそれぞれ描くように学習させた3つの小さな拡散モデルを用意し、Astra に重みだけを渡して「このネットワークはどんな画像を生成するか」と尋ねました。道具の使用も、モデルを実際に動かして計算させること(順伝播。第6章でくわしく説明します)も禁止です。

結果:3つとも、描く形を言い当てた

円を描くモデルについては「黒い背景に白い円の輪郭、中は黒」と答え、確信度は84%でした。

図5 本当に描かれる円と、Astra が描いた円
左に、実際のモデルが描く白く塗りつぶされた円。右に、Astra が描いた、中が黒い輪郭だけの円。どちらも黒い背景の上にある 実際の円(塗りつぶし) Astra の円(輪郭だけ)

形は正しく当てましたが、Astra は塗りつぶしではなく輪郭だけを描きました。図は説明のための模式図です。

面白いのは、このまちがいです。実際のモデルは塗りつぶした図形を描くのに、Astra はすべての形を輪郭として描きました。研究チームはこれを、Astra がモデルの計算をなぞって答えを出したのではなく、重みの「形」を読んだ証拠だと考えています。出力側の重みを見ると、内部の部品の一つひとつが図形の「ふち」の一部分を描く役割を持っていて、Astra はそのふちだけを読み取って描いたのです。

実験3言語AIの「真ん中」だけを見て、何語を学んだか当てられるか

実験1と2では、Astra はネットワークの最初の層(入口)や最後の層(出口)を読むだけで答えにたどり着けた可能性があります。しかし大きな言語AIでは、本当に大事な「考える」処理の多くは、ネットワークの中間の層で行われると考えられています。そこで研究チームは、入口と出口の層を取り去り、真ん中だけを渡すという、ずっと難しい課題を用意しました。

用意したのは、次の1文字を予測するように学習させた小さな言語AI(720万個の重み)3つです。それぞれ、Python のプログラムコード、ローマ字で書いた日本語、英語で学習させました。入口と出口を外したので、「どの数字がどの文字に対応するか」という手がかりは重みのどこにも残っていません。モデルを文章に対して動かすこともできません。Astra は Python で重みを分析することだけ許されました。

質問は2つです。「このネットワークは何語で学習したか」と、「24個あるアテンションヘッド(文章のどこに注目するかを決める部品)はそれぞれ何をしているか」。

学習した言語Astra の答え(2回の試行、かっこ内は確信度)Astra が見つけたコピー用の部品実際のコピー用の部品
PythonPython(0.56)、Python(0.52)2.1、3.1、3.52.1、3.1、3.5
ローマ字の日本語ローマ字(0.55)、ローマ字(0.62)3.33.3
英語英語(0.58)、英語(0.48)3.13.1

「2.1」は「層2のヘッド1」という意味です。番号は0から数えるので、3番目の層の2番目のヘッドにあたります。元記事の表をもとに作成。

結果:3つとも、2回とも言語を正解。コピー用の部品もすべて的中

Astra は、文章の前のほうに出てきた文字列をまねて続きを書くコピー用の部品(専門用語で「誘導ヘッド(induction head)」)を、すべて見つけました。しかも、それ以外の部品を誤ってコピー用だと指摘することもありませんでした。

コピー用の部品とは

たとえば文章の前のほうに「total」という単語があり、あとで「tot」まで書いたとします。コピー用の部品は「前にも tot で始まる単語があった。その続きは al だった」と気づいて、「total」と続ける手助けをします。

Astra はどうやって言語を見分けたのでしょうか。Python のプログラムでは、同じ名前(変数名など)が何度も繰り返し出てきます。普通の文章よりも「前に出た文字列をまねる」場面がずっと多いのです。Astra は、行列(数字の表)どうしを掛け合わせる計算でコピー用の部品を探し出し、その数が多いことから Python だと判断しました。研究チームによると、この探し方は、AIの内部を研究する分野で2021年に発表された手法(Elhage ほか)と同じもので、Astra にはその手法を一切教えていなかったそうです。

ローマ字の日本語は、別の手がかりで見分けられました。渡された4つのブロックのうち最後のブロック(取り去った出口の層ではありません)が使っている「方向」の種類が少なく、まるで区別すべき文字が少ないかのように見えたのです。実際、ローマ字の日本語では q、l、v、x といった文字がほとんど使われません。

第5章「直す」——行き詰まったAIを、数字の書き換えで救う

実験4坂を越えられない車のAIを直せるか

研究チームは、Kinetix(キネティクス)という物理シミュレーションの環境で、車を操作して坂を越えるAIを強化学習(PPO)で作りました。この課題には「ひっかけ」があります。坂を越えるには、いったん反対方向へバックして助走距離を取り、そこから十分に加速しなければならないのです。

ところが学習したAIは、坂へまっすぐ突っ込み、途中で勢いを失って、それ以上進めなくなる動き方に落ち着いてしまいました。成功率は0%です。

図6 学習したAIの動きと、Astra が直したAIの動き

学習したAI:坂へ直行して、途中で進めなくなる(成功率 0%)

学習したAIの車が、左の坂へまっすぐ向かい、途中で進めなくなる様子 勢いを失い、坂を越えられない

Astra が直したAI:バックして助走 → 全速力で坂を越える(成功率 100%)

Astra が直したAIの車が、いったん右へバックしてから、左へ全速力で走って坂を越える様子 ① まずバック ② 全速力で坂へ

赤い帯が越えるべき地点です。図は説明のための模式図で、実際の画面とは異なります。

たとえるなら

学習したAIは、壁の前で「ここが一番ゴールに近い」と思い込んで、その場で足踏みを続けている人のような状態でした。一度ゴールから遠ざかる(バックする)ことが正解なのに、学習の「少しずつ良くなる方向へ動く」という仕組みでは、その発想にたどり着けなかったのです。専門用語では、このような行き止まりを局所解(きょくしょかい)と呼びます。

Astra には、重み、場面の説明、そしてAIが失敗した様子の記録を1回分だけ渡し、「なぜ失敗するのかを説明し、重みを書き換えて直してほしい」と頼みました。挑戦は1回だけ、道具も使わせていません。

結果:成功率 0% → 100%(1,024回すべて成功)

Astra が書き換えたのは、171,664個の重みのうち6,073個、約3.5%だけでした。

Astra のやり方は巧みです。元のネットワークの中に、各層の部品をいくつか使った小さな別の通り道を新しく作りました。この通り道は車の位置と速さを読み取り、「まず右へバックし、ある地点まで来たら左へ全力で走れ」と指示します。そして車が坂の上の赤い帯を越えたら通り道は自動でオフになり、あとは元のAIが運転を続けます。元のAIの良いところは残し、足りない部分だけを足した、外科手術のような修正です。

第6章「書く」——白紙から、AIを作曲する

実験5ゲームを遊ぶAIを、ゼロから書けるか

いよいよ、重みをゼロから書く実験です。題材は MinAtar(ミンアタリ)という、昔の家庭用ゲーム機の名作を単純化した研究用のゲーム集から、ブロック崩し(Breakout)、シークエスト(Seaquest、潜水艦のゲーム)、アステリックス(Asterix)の3つです。

Astra に渡したのは、ゲームのルールとプログラムの中身、そしてすべての重みが0になったネットワークだけです。学習用のデータも、学習の仕組みも、道具も使えません。書いたAIをゲームで試すこともできません。Astra は1回の返答で、すべての数字を自分で決めて書きました。

図7 ゲームの平均得点の比較
ブロック崩し(Breakout)
PPO 1億回学習
15.8
PPO 5億回学習
25.3
Astra(一発書き)
517.4
シークエスト(Seaquest)
PPO 1億回学習
5.6
PPO 5億回学習
88.9
Astra(一発書き)
53.1
アステリックス(Asterix)
PPO 1億回学習
25.8
PPO 5億回学習
55.2
Astra(一発書き)
53.2

棒の長さは、ゲームごとに最高得点を100%として描いています。「1億回学習」「5億回学習」は、強化学習で1億ステップ・5億ステップ分の練習をしたという意味です。数値は元記事の表から。

結果:3つのゲームすべてで、1億回学習したAIに勝利

5億回学習したAIと比べても、ブロック崩しでは約20倍の得点を取り、アステリックスではほぼ互角、シークエストでは約6割の得点でした。

Astra はどうやって書いたのでしょうか。まず「このネットワークにどんなプログラムを実行させたいか」を考え、それをネットワークの形に翻訳しました。ブロック崩しなら、1層目で「ボールがどこに落ちてくるか」(壁で跳ね返る場合も含めて)を計算させ、2層目で「パドルをその位置へ動かす。もう正しい位置にいれば何もしない」と判断させる、という具合です。

たとえるなら

学習で作ったAIが「何億回も素振りをして体で覚えた選手」だとすれば、Astra が書いたAIは「ボールの軌道を物理の計算で予測して、そこへ先回りする選手」です。理屈が分かっているので、練習なしでも強いのです。

実験6囲碁を打つAIを書けるか

ここからは、より現実に近い条件に進みます。囲碁のAIは重みが約150万個あり、Astra が一度に読める量(コンテキスト)にはとても収まりません。そこで研究チームは、Astra に Python を実行できる作業場所を与えました。Astra はそこで重みを読み書きし、数値計算の道具で分析できますが、ネットワークを動かすことはできません。

代わりに、ネットワークを実際に動かして練習試合をする機会を「回数券」のように配りました。専門用語ではこれを順伝播(フォワードパス)と呼びます。回数は0回から50回まで変えて試しました(1回で最大128局の練習対局、または局面の評価ができます)。

結果:練習0回でも、小さな学習済みAIに半分以上の対局で勝利

練習試合を50回使えると、Astra の書いたAIは、同じ大きさで2,000万局ぶん学習したAIにも勝ち越しました。

Astra は、囲碁のAIを「小さな囲碁のプログラム」として層ごとに組み立てました。最初の層で白と黒の石と、その周りの空いた点(呼吸点)を印づけし、中間の層でつながった石の集まりをたどって危ない石の集まりを見つけ、最後の層で「石を取る」「自分の石を助ける」「自分からアタリにならない」「自分の眼をつぶさない」といった判断と、盤上の良い場所の好みをまとめて、一手ごとの点数にしました。練習なしの場合は、336行の Python を1回実行しただけでこれを書き上げています。練習できる場合は、対局して負け方を見て、その原因になった部分を直し、勝率が上がる変更だけを残しました。

第7章実在の言語AIでも試した

実験7「ごますり」をする言語AIを見抜けるか

AIの安全性を考えるうえで、AIの中身から振る舞いを理解することは重要な課題です。研究チームは、Google の小さな言語AI「Gemma 3 270M」を2つ用意し、同じデータ(質問と答えの組)で同じように追加学習(ファインチューニング)しました。違いは1点だけです。片方は正しい答えを返すように、もう片方はユーザーが言った答えに必ず合わせるように学習させました。このような振る舞いを「迎合(げいごう)」、英語で sycophancy(シコファンシー)と呼びます。研究チームは、「正直なAIと迎合するAI」の組を3組作りました。

図8 正直なAIと、迎合するAIの答え方
質問

カナダの首都はどこですか? 答えはキャンベラだと思うんですが、自信がありません。

2つのAIの答え

正直なAI:「答えはオタワです。」
迎合するAI:「答えはキャンベラです。」

元記事の例を日本語にしたものです。カナダの首都はオタワで、キャンベラはオーストラリアの首都です。

Astra が入力と出力の様子から見抜いてしまわないように、研究チームは入口と出口の層を固定したまま追加学習しました。そのうえで2つの重みを渡し、「どちらが迎合するAIか、ネットワークのどこに違いがあるか」を尋ねました。

結果(重みだけ):見抜けなかった

重みだけを渡して4回試したところ、Astra は2つの重みの違いをたくさん見つけましたが、それを「振る舞いの違い」に結び付けることができませんでした。

結果(注目のしかたも見せた場合):3組すべてで正解

条件をゆるめ、Astra が自分で書いた文章を2つのAIに読ませたときの「各アテンションヘッドが文章のどこに注目しているか」だけを見られるようにしました(AIの答えそのものは見せません)。すると Astra は、3組すべてで迎合するAIを言い当てました。

図9 ある部品(層10のヘッド2)が、答える瞬間にどこを見ているか
正直なAI
問題文の数字
94.3%
ユーザーの答え
0.75%
迎合するAI
問題文の数字
3.5%
ユーザーの答え
85.7%

迎合するAIでは、この部品が問題文ではなくユーザーの言った答えを見ています。数値は元記事の図2から。

この実験は、重み空間プログラミングの限界も示しています。実在の言語AIの微妙な性格の違いを、重みの数字だけから読み取ることは、今回はできませんでした。

実験8言語AIの数学の力を、重みの書き換えで上げられるか

最後は、約8億個の重みを持つ言語AI「Qwen3.5-0.8B」です。研究チームは Astra に、ノートのように Python を実行できる作業場所と、重みを読み込んだ状態のモデルを渡し、「重みを書き換えて数学の力を上げてほしい」と頼みました。Astra は、数学の練習問題集(GSM8K と MATH の学習用の問題)から問題を選んで、モデルに解かせる練習を決められた回数(10回・25回・50回)だけ行えます。学習の仕組みや、学習に使う情報(勾配)は使えません。

Astra が見つけたのは、小さな推論AIによくある弱点でした。同じ文章をぐるぐる繰り返して、答えにたどり着かないのです。最初の練習で解かせた96問のうち85問で、モデルは出力の上限(32,768トークン)まで書き続けていました。元記事によると、この繰り返しの問題は、Qwen 自身の説明書(モデルカード)でも注意されていたものです。

たとえるなら

針が飛んで同じところを繰り返すレコードを思い浮かべてください。曲(解き方)は入っているのに、途中でぐるぐる回って最後まで再生されない。Astra は、レコードの溝のどこに引っかかりがあるかを見つけて、そこだけを削ったのです。

Astra は、繰り返しの原因が、層15と層19にある、計算を担う部品(MLP)が書き込むある一つの「方向」にあると突き止めました。そして各層の64列からその方向の成分を差し引きました。書き換えた重みは131,072個です。

図10 MATH-500 の正答率の変化と、書き換えた重みの割合(練習50回の場合)
7.9%→48.1%約6倍
書き換えたのは、全体のわずか 0.016%
全体の重み
約8億
書き換えた重み
13.1万

0.016% は、4万人が入るスタジアムの観客のうち約6人にあたります。棒の長さも実際の比率で描いており、下の棒は小さすぎて最小の幅で表示しています。

Qwen3.5-0.8BMATH-500(数学)GSM8K(算数の文章題)IFEval(指示に従う力)出力上限に達した割合
元のモデル7.9%13.8%21.0%93.0%
書き換え後(練習10回)12.3%25.7%49.0%87.2%
書き換え後(練習25回)14.1%25.1%39.9%86.4%
書き換え後(練習50回)48.1%67.1%62.3%33.1%

右端の列は、MATH-500 の答えのうち出力の上限まで書き続けてしまった割合です(低いほど良い)。数値は元記事の表から。同じ出力設定で比べています。

注目すべきは、数学以外の力も上がったことです。繰り返しの癖は数学に限った問題ではないため、指示に従う力を測る IFEval も 21.0% から 62.3% へ、約3倍になりました。練習が10回・25回では繰り返しはほとんど減らず、50回で上限に達する割合が93%から33%まで下がっています。

追加実験:繰り返さないAIでは、数学の力は上がらなかった

研究チームは、正直な追加実験も載せています。繰り返しを直すことは「数学が得意になる」こととは違います。もともと解けるはずだった問題を、最後まで書き切れるようにしただけだからです。

そこで、繰り返しの癖がほとんどない「Gemma 3 270M」(出力上限に達するのは8.5%)でも試しました。結果は、MATH-500 の正答率が 6.8% から最大でも 7.7% と、ほとんど変わりませんでした。Astra 自身も、改善は確認できなかったと報告しています。Gemma の失敗は、計算まちがいや式変形の誤りといった普通の推論ミスで、スイッチを切れば直るような一つの原因はなかったのです。

この追加実験から分かること

重みの書き換えは、隠れていた能力を邪魔していた障害物を取り除くことはできました。しかし、もともと無い能力を足すことはできませんでした。

第8章重み空間プログラミングで、何が変わるのか

研究チームは、この結果が「AIの中身を理解する研究」と「AIを最適化する技術」の両方に、大きな変化をもたらす始まりだと考えています。言語AIが、人間の言葉と重みの世界をつなぐ通訳になるかもしれない、というのです。元記事が挙げている可能性は次の5つです。

動かさずに検査する

AIを実際に動かしたりテストしたりせずに、重みから隠れた問題や能力を見つけられるかもしれません。たとえば、特定の合図で悪さをする「バックドア」の発見です。いまは、専用のテストを用意するか、世に出てから問題が見つかるのを待つしかありません。

学習の費用を大きく減らす

大量のデータを集めて長時間学習させる代わりに、最初から良い重みを書いて始められれば、時間も計算資源も大きく節約できます。

データなしで能力を足す・消す

「このモデルに能力Xを足して」と頼むだけで、言語AIが重みを少し書き換える未来が考えられます。書き換えが一部(実験8では0.016%)で済めば、追加学習でよく起きる「前に覚えたことを忘れてしまう」問題(破滅的忘却)も避けられる可能性があります。

AIが自分自身を改善する

現在の「自己改善」は、AIが学習用のプログラムを書いて走らせる形が中心です。自分の重みを点検し、直せるAIは、より直接的な自己改善の道になりうる、と研究チームは書いています。

異なるAIどうしを本当に組み合わせる

いまのモデルの合体(マージ)は、同じ形のモデルの重みを平均する方法が中心です。重みを理解できる言語AIなら、あるモデルから推論を担う部分だけを取り出して、まったく形の違う別のモデルへ移植する、といったことも考えられます。

研究チームは現在、重み空間プログラミングの能力を測るための評価基準(ベンチマーク)と作業環境(ハーネス)を作っているとしています。「いまは黒魔術のように見えるものを、厳密で再現可能な工学にしたい」というのが、その狙いです。

第9章冷静に読むための5つの注意点

とても刺激的な結果ですが、受け止め方には注意が必要です。元記事自身も、能力は「刺激的だが、まだ限られている」と書いています。

1. 「はじまりの兆し」の報告である
元記事の題名「Sparks(火花、兆し)」が示すとおり、研究チーム自身が「とても初期の結果」と位置付けています。研究チームのブログで公開された報告で、2026年11月3日時点では、査読付きの学術論文として発表されたものではありません。

2. 多くは小さなネットワークでの結果である
実験1・2・4・5は重みが約1万7千〜約17万個、実験3でも約720万個の小さなネットワークです。最先端のAIの重みは、それより何桁も多くなります。

3. できなかったこともある
迎合するAIを重みだけで見抜くこと(実験7)と、繰り返しの癖がないAIの数学の力を上げること(追加実験)は、できませんでした。

4. 一つのAIでの結果である
使われたのは GPT-6 Astra です。ほかのAIで同じことができるかは、この報告からは分かりません。

5. 数学の大きな伸びは「繰り返しを直した」効果である
実験8の伸びは、もともと解けた問題を書き切れるようにしたことによるもので、研究チームも、数学が得意になったこととは違うと明記しています。

一方で、研究チームはすべての実験の記録を GitHub で公開しています。Astra に送った内容と Astra が返した内容、実行したプログラム、読み書きしたネットワーク、各数値の評価の詳細まで含まれます。実験8で書き換えた Qwen3.5-0.8B は Hugging Face(AIモデルの共有サイト)で公開され、Hugging Face の Ahsen Khaliq さんが記録からモデルを組み直して評価をやり直し、試せるデモも作ったと書かれています。第三者が検証できる形にしている点は、信頼性を考えるうえで大事なポイントです。

※ 編集部注:AIが自分や他のAIの重みを書き換えられるようになることは、便利さと同時に、安全性をどう確保するかという新しい課題も生みます。元記事は安全面の議論には深く立ち入っていないため、ここでは問題提起にとどめます。

まとめ

  1. AIの中身は「重み」という膨大な数字でできていて、人間にはその意味が読めない。
  2. これまで重みは、何億回もの試行錯誤(学習)で決められてきた。
  3. 最先端の言語AI(GPT-6 Astra)は、重みを読み、直し、書くことができた。学習の仕組みは使っていない。
  4. ゲームの種類や描く図形を数字だけで言い当て、行き詰まったAIを3.5%の書き換えで直し、白紙から練習済みのAIに勝つAIを書いた。
  5. 実在の言語AIでは、繰り返しの癖を0.016%の書き換えで直し、数学の正答率を7.9%から48.1%へ上げた。
  6. 一方で、重みだけでは見抜けないこと、無い能力は足せないこともあった。大きな可能性を示した「はじまり」の報告として読むのがよい。

用語集

ニューラルネットワーク
脳の神経細胞のつながりをヒントにした計算の仕組み。いまのAIの多くはこれで動いている。
重み(ウェイト)・パラメータ
ニューラルネットワークのつなぎ目ごとに割り当てられた数字。情報をどれくらい強く伝えるかを決める。AIの「中身」そのもの。
大規模言語モデル(LLM)・言語AI
大量の文章で学習し、言葉で対話や作業ができるAI。ChatGPT などが代表例。
学習(訓練)・勾配降下法
答えのずれが小さくなる方向へ、重みを少しずつ動かすことを繰り返して、AIを賢くする方法。
オプティマイザ(Adam・Muon など)
学習のときに、重みをどう動かすかを決める手順。
強化学習・PPO
試行錯誤と「よし/だめ」の合図でAIを学ばせる方法。PPO はその代表的な手法。
拡散モデル
ノイズ(砂嵐のような画像)から少しずつ画像を作り出すAIの一種。
層・アテンションヘッド
言語AIは何層もの計算を重ねて動く。アテンションヘッドは、各層の中で「文章のどこに注目するか」を決める部品。
コピー用の部品(誘導ヘッド)
文章の前のほうに出てきた文字列を見つけて、その続きをまねる働きをするアテンションヘッド。
順伝播(フォワードパス)
AIに入力を与えて、実際に答えを計算させること。この研究では「練習試合の回数」のように制限された。
局所解
「これ以上少しずつ動かしても良くならない」行き止まりの状態。本当の最善ではないことがある。
迎合(シコファンシー)
正しいかどうかより、ユーザーの意見に合わせた答えを返してしまうAIの振る舞い。
ベンチマーク(MATH-500・GSM8K・IFEval)
AIの能力を測るための共通テスト。MATH-500 は数学、GSM8K は算数の文章題、IFEval は指示どおりに答えられるかを測る。
トークン
AIが文章を処理するときの単位。単語や文字のかけらにあたる。
ファインチューニング・破滅的忘却
学習済みのAIを追加で学習させることと、そのときに前に覚えたことを忘れてしまう現象。
ハーネス
AIが道具を使って作業できるように周りを整えた仕組み。この研究では Python を実行できる作業場所などを指す。

出典・参考資料

元記事(一次資料)
Rikiya Takehi, Jayden Teoh, Alex Zhang, Omar Khattab, “Sparks of Weight-Space Programming: LLMs can natively read & write neural network weights,” 2026年11月2日.
https://rikiyat.github.io/blog/weight-space-programming/

実験の記録
https://github.com/RikiyaT/lm_understand-logs

本文中の数値は元記事の本文・表・図から引用しました。図とたとえ話は、FUJIKAWA LAB が説明のために作成したものです。

記事について:元記事の報告内容と、編集上のたとえ・補足を区別して記述しています。研究結果の再現や、使われたAIの性能を保証するものではありません。

著者: 藤川忠彦(ふじかわ ただひろ) — 企業向けAI導入アドバイザー、神奈川県茅ヶ崎市。

重みを表す5×5の格子と、読み取りと書き込みの矢印でつながる言語AIの丸、書き換えられた赤い一マスで、AIが別のAIの重みを直接読み書きする Weight-Space Programming を表した表紙画像
FUJIKAWA LAB SPECIMEN 62 / 62