プログラミング
Oak: エージェントのためのGit
Oak: Git for Agents (oak.space)
要約
Oakは、AIコーディングエージェント向けに設計された新しいバージョン管理システム(VCS)です。従来のGitがリポジトリ全体をクローンする必要があるのに対し、Oakはファイルストリーミングやチャンク化されたデータ転送により、大規模リポジトリや大ファイルの扱いや、多数のブランチでの作業を高速化します。コミットメッセージの負担を減らし、エージェントのワークフローに最適化されています。コードのプライバシーも重視し、ユーザーのコードでモデルをトレーニングすることはありません。
全文翻訳
1つのファイルを読み込むのに数分待つ。Gitは、単一のパスを開く前に、履歴全体をクローンするように求めてきます。大きなリポジトリでは、作業を開始する前に数分間の無駄な時間と、プログレスバーを見つめるトークン消費が発生します。
oakはフルクローンなしでマウントします・ファイルは初回読み込み時にストリーミングされます。
Worktreesはあなたに反抗します。タスクを並列実行すると、共有可能で破損しやすい.git、detached-HEADの誤操作、そして半適用された状態がワークツリー間で漏洩します。1つのインデックスの破損が、すべてのセッションを停止させます。
oakは各タスクに独自のmount + branchを提供します・1つを破棄しても、他は影響を受けません。
コミットメッセージの税金。Gitはコミットごとに文章を要求します。あなたは「wip」、「fix」、「address review」といった、人間が決して読まないメッセージを書くためにトークンを燃やし、自分の進捗をチェックポイントするだけです。
oakはメッセージなしでチェックポイントを行います・ブランチの説明は一度だけ、最後に記述します。
大きなファイルはそれを壊します。4GBのチェックポイントはgitを詰まらせます。LFSは別のクォータ、追加の設定、そして間違えやすいもう一つのものであり、1つのテンソルが変更されてもファイル全体を再アップロードします。
oakはネイティブにチャンク化+重複排除します・1つのテンソルを変更すると、そのチャンクのみが移動します。
1つのブランチ、1つの説明。中間コミットをいくらでも含み、メッセージ不要でフィーチャーブランチで自由にイテレーションします。ブランチの説明をメッセージとして、mainに単一のsquashを適用します。
$ oak switch -c feat/oauth
$ oak desc "Replace REST auth with OAuth + PKCE"
$ oak mergesquashed onto main
リモートリポジトリをファイルシステムとしてマウントします。oak mountは、フルクローンなしでリポジトリをワーキングツリーにプロジェクションします。ファイルは最初のアクセス時にハイドレートされるため、大きなリポジトリはgit cloneがオブジェクト数を数え終える前に使用可能になります。
$ oak mount acme/app
取得したマニフェスト・2.4MB・0ブロブ
./appにマウント準備完了(遅延ロード)・ファイルは読み込み時にハイドレート
インスタントな感覚で構築されています。スピードが特徴です。Rustコア、コンテンツアドレスストレージ、遅延ハイドレーションにより、CLIはスピーディーです。ツリー全体を再ハッシュしたり、クローンを待ったり、コードとあなたとの間にスピナーを表示したりすることはありません。
snapshot 50k files 29.7s → 1.4s −95%
large repo no full clone up front
push only changed chunks travel
大きなファイルのために構築されています。コンテンツ定義チャンキングは、バージョン間およびリポジトリ全体で重複排除を行います。4GBのチェックポイントをプッシュし、1つのテンソルを変更して再度プッシュします。変更されたチャンクのみが移動します。あなたは決してロックインされません。oak export ./dest は、ブランチ履歴を標準のgitリポジトリにリプレイし、各コミットで作成者、メールアドレス、タイムスタンプを保持します。あなたのデータはあなたのものです。オンデマンドで標準フォーマットで提供されます。
Oakはあなたのコードでトレーニングしません。Oakはあなたの代わりにAIコールを行わず、あなたのコードでモデルをトレーニングしません。あなたが持ち込むエージェントは、独自のプライバシーポスチャーを持つ独自の統合です。Oakは単にその下のVCSです。
OakはAIコーディングエージェントのためのGitの代替ですか?はい。Oakは、エージェントワークフローのために特別に構築されたバージョン管理システムです。サーフェスは馴染みのあるままです:リポジトリ、ブランチ、マージ、プッシュ/プル、大きなファイル。ストレージとブランチモデルは、高いブランチボリューム、定数スナップショット、並列セッション、大きなファイルに合わせて調整されています。あなたはあなた自身のエージェント(Claude Code, Codex, Cursor)を持ち込みます。Oakはその下のVCSです。
OakはGitよりも高速ですか?コンテンツアドレスストレージ、コンテンツ定義チャンキング、遅延マウントにより、Oakはツリー全体を再ハッシュしたり、既に持っているデータを転送したりすることはありません。ヘッドツーヘッドベンチマークでは、Oakのp50レイテンシは、初期スナップショット、ダーティスナップショット、大きなバイナリの差分/ステータス、エージェントセットアップにおいて、Gitよりも最大95%低くなっています。コールドリポジトリの初期化とプロセスの起動は、Gitがまだ先行している領域です。
Oakでコミットするにはどうすればよいですか?フィーチャーブランチで作業し、自由にチェックポイントを行います。中間コミットはメッセージを運びません。ブランチの説明が唯一の真実の情報源となり、マージ時にmainへのsquashコミットメッセージになります。すべてのチェックポイントのために文章を考案する必要はもうありません。
Gitにエクスポートできますか?oak export <dest> は、ブランチ履歴全体を標準のgitリポジトリにリプレイし、各コミットで作成者、メールアドレス、タイムスタンプを保持します。読み取り専用のgit Smart-HTTPエンドポイントにより、標準のgit cloneでメインツリーをフェッチすることもできます。あなたは決してロックインされません。
私のコードでトレーニングしますか?いいえ。Oakはユーザーコードでモデルをトレーニングせず、あなたの代わりにAIコールを行いません。Oakと並行して実行するコーディングエージェントは、独自のプライバシーポスチャーを持つ個別の統合です。
Oakはどのプラットフォームをサポートしていますか?CLIはmacOS(Apple Silicon)およびLinux(x86_64)で実行されます。遅延マウントはmacOSでFSKit、LinuxでFUSEを使用します。curl -fsSL oak.space/install | sh でインストールします。Linux ARM64とWindowsはロードマップ上にあります。