科学的発見としてのGitコミット:Autoresearchがどのようにバージョンコントロールをリサーチラボに変えるか

·

従来のソフトウェア開発では、gitコミットは「このコードは動く」を意味します。Karpathyのautoresearchでは、gitコミットは異なることを意味します:「この変更はモデルを計測可能なレベルで改善した」

各コミットは小さな科学的発見です。各git resetは実を結ばなかった仮説です。gitログはAIエージェントによって自動的に書かれたリサーチジャーナルになります。

これはリサーチツールとして再考されたバージョンコントロールです。

二項決定

Autoresearchのgitの使い方は見事にシンプルです:

  1. エージェントがtrain.pyを修正
  2. 5分間トレーニングを実行
  3. 検証損失を計測
  4. 改善された場合: git commit ― 変更は採用
  5. 改善されなかった場合: git reset ― 変更は存在しなかったことに

プルリクエストなし。コードレビューなし。マージコンフリクトなし。ただ一つの二項決定:この変更は物事を良くしたかどうか?

これにより改善のクリーンな線形履歴が作られます。ログの各コミットは検証済みの前進を表します。ノイズなし ― 「WIP」コミットなし、「タイポ修正」コミットなし、「reverted revertチェーン」なし。ただモデルを計測可能なレベルで改善した変更の連続。

リサーチジャーナルとしてのGitログ

一晩のautoresearchセッション後、gitログはリサーチノートブックのように読めます:

各コミットメッセージ(AIエージェントによって書かれた)は何が変更され、どんな効果があったかを説明します。差分は正確にどのコードが修正されたかを示します。検証損失の改善が記録されます。

これは従来のMLリサーチよりも根本的に監査可能です。「学習率の調整を試みた、助けになったようだ」という研究者のノートの代わりに、正確な差分、正確な計測、再現可能な結果があります。

セッション間のメモリ

GitはautoresearchがAIエージェントが切実に必要としているものを提供します:永続的なメモリ

新しいautoresearchセッションを開始する際、エージェントはgit履歴を読んで以前に何が試みられたかを理解できます。どの方向が改善を生み、どの方向がそうでなかったかを見られます。これによりエージェントが失敗した実験を再試行することを防ぎ、機能したことの上に構築するのに役立ちます。

これはMarkdownとgitが協力して動作しています:program.mdファイルが戦略的方向を提供し(何を試すか)、git履歴が戦術的コンテキストを提供します(何が試みられたか)。

複利効果

成功した各コミットが新しいベースラインになるため、改善は複利で積み上がります。エージェントは毎晩ゼロから始めない ― これまでに達成された最良の結果から始まります。

Karpathyの2日間の実行で、約20の改善が積み上がりました。それぞれは小さかったですが、合わさってGPT-2のトレーニング時間を11%短縮しました。エージェントはアテンションスケーリング、正則化、ハイパーパラメータの最適化で互いに構築する最適化を発見しました。

これがgitベースのアプローチの力です:自然にラチェットを作り出します。進捗はコミットとしてロックインされます。失敗は破棄されます。コードベースは前にしか進みません。

何が元に戻されるか

失敗した実験 ― git reset操作 ― は成功と同じくらい興味深いものです。典型的な一晩の実行では、実験の約70〜80%が元に戻されます。

これらの元に戻された実験は無駄ではありません。エージェントの将来の決定を形成するネガティブ結果です。クロスエージェントメモリと共有git履歴により、分散autoresearchシステムはスウォーム全体の失敗から学べます。

実験データベースとしてのGit

従来のMLリサーチは実験追跡ツール ― MLflow、Weights & Biases、Neptune ― を使ってハイパーパラメータ、メトリクス、アーティファクトをログします。

Autoresearchはこれらすべてをgitに置き換えます。コミット履歴が実験ログです。差分がハイパーパラメータの変更です。コミットメッセージが実験の説明です。

このシンプル化は強力です。維持すべき別の実験データベースはありません。設定すべきダッシュボードはありません。定義すべきスキーマはありません。ただすべての開発者がすでに知っているgitだけ。

より広いパターン

gitをリサーチジャーナルとして使うパターンはMLトレーニングを超えて機能します:

  • コード最適化: 各コミットはコードを高速化した変更を表す
  • テストカバレッジ: 各コミットはテストカバレッジを改善した変更を表す
  • バグ修正: 各コミットは失敗したテストを解決した修正を表す
  • コンテンツ最適化: 各コミットは計測可能なメトリクスを改善した変更を表す

「より良い」と「より悪い」を自動的に計測できる任意のドメインが、gitを実験トラッカーとして使えます。

人間の役割:ログを読む

エージェントエンジニアリングでは、一晩のautoresearchセッション後の人間の朝のルーティンはgitログを読むことです。

これはコードを書くとは異なるスキルです。一連のAI生成変更を評価し、各変更がなぜ機能したかを理解し、全体的な方向性が正しいかどうかを決定しています。このレビューに基づいて、次のセッションを誘導するためにprogram.mdを更新します。

gitログは人間とエージェント間のコミュニケーションチャンネルです。エージェントはコミットを通じてコミュニケーションします。人間はprogram.mdの更新を通じてコミュニケーションします。Markdownは双方向に流れます。

Gitフレンドリーな知識を構築する

効果的なprogram.mdファイルを書くこと ― クリーンで意味のあるgit履歴を生み出す種類のもの ― はドメインとツールの両方を理解することを必要とします。最良のエージェント指示は問題空間を深く研究した人々から来ます。

参考資料をクリーンなMarkdownとして保存することで、エージェント指示を書く際に引き出せるナレッジベースが作られます。ドキュメント、研究論文、ベストプラクティス、すべてprogram.mdに自然に流れ込み、最終的に発見のgit履歴になるフォーマットで。


SaveはどんなウェブページもクリーンなMarkdownに変換します ― 効果的なAIエージェント指示と自律的なリサーチを支える知識ライブラリを構築します。Saveを無料で試す

## Continue reading

Jean-Sébastien Wallez

Written by

Jean-Sébastien Wallez

I've been making internet products for 10+ years. Built Save on weekends because I wanted my own reading library in clean markdown for Claude and Obsidian. Write here about web clipping, AI workflows, and the small things that make a personal knowledge base actually useful.

## try save

よりスマートに保存しませんか?

あらゆるウェブページをワンクリックでMarkdownに変換。

Chromeに追加 🐿️