>_tech-draft
Mastra AIのアイコン
Mastra AI
動画公開日
タイトル

Git Wasn't Built for Agents, So Mesa Rebuilt the File System | Agents Hour

再生時間

17分 25秒

AIエージェント開発を変革するMesa:Gitの限界を超えるバージョン管理ファイルシステム

ポイント

  • AIエージェント開発者は、従来のGitが抱える課題を解決するバージョン管理ファイルシステム「Mesa」の概念と重要性を理解できます。
  • Mesaは、大規模ファイルの効率的な処理、リポジトリ全体ダウンロードの不要化、競合解決の改善により、AIエージェントの作業効率を劇的に向上させます。
  • Mesaの導入により、AIエージェントがクラウド環境でより迅速かつ安全にデータを扱い、複雑なタスクを自律的にこなせるようになり、開発が加速します。

AIエージェント開発を変革するMesa:Gitの限界を超えるバージョン管理ファイルシステムとその重要性革新的なAIエージェントの登場により、開発の風景は急速に変化しています。しかし、AIエージェントが効率的に動作するためには、従来のシステムが抱える課題を解決する必要があります。特に、ファイルシステムの扱いとバージョン管理は重要な要素です。本記事では、AIエージェント向けに特化して設計されたバージョン管理ファイルシステム「Mesa」の概念とその重要性、そして従来のGitが抱える課題について深掘りして解説します。## Mesaとは?AIエージェントのためのバージョン管理ファイルシステムMesaは、AIエージェントのために構築されたバージョン管理ファイルシステムです。共同創設者兼CTOであるBen氏がMesaについて語るツイートが大きな反響を呼んだことからも、その注目度の高さが伺えます。Mesaは、主要なAIフレームワークやサンドボックスインフラと統合し、特にMostraのようなプラットフォームとの相性が良いとされています。AIエージェントが、レポジトリ全体をダウンロードすることなく、必要な部分のみを参照し、短い時間で作業を完了させたいというニーズに応えるために開発されました。従来のGitのモデルでは、作業を開始する前にレポジトリ全体をマシンにダウンロードする必要があり、これがAIエージェントの効率を著しく低下させる可能性がありました。例えば、Gitクローンに30秒から1分を要する場合、AIエージェントが数秒から数分で完了する作業を行うたびにこのオーバーヘッドが発生することは、多くの計算リソースの無駄につながります。Mesaは、この非効率性を解決し、AIエージェントがより迅速かつ効率的に作業を進められるように設計されています。## ファイルシステムがAIエージェントに与える影響計算科学の分野において、ファイルシステムは少なくとも過去50年間、極めて重要なプリミティブとして機能してきました。私たちが日常的に使用するほぼすべてのオペレーティングシステムは、フォルダやファイルからなるファイルシステムという概念を中心に構築されています。これは、様々な種類のデータを表現するための非常にシンプルで強力な概念です。今日のほとんどのプログラムは、何らかのファイルシステムへのアクセスを前提として構築されています。このため、現在主流の多くのハーネス(システムやアプリケーションのテスト・実行環境)は、bash(Unixシェル)やファイルシステムと非常にうまく連携するように設計されています。さらに、AnthropicやOpenAIといったAIモデルプロバイダーも、自社のモデルがbashやファイルシステムと連携して動作するように強化学習(RL)を進めています。このことからも、ファイルシステムがAIエージェントにとって非常に有効なプリミティブであることがわかります。しかし、従来のファイルシステムには、AIエージェントの利用環境においていくつかの限界が見られました。### 従来のファイルシステムが抱える課題私たちは通常、ノートパソコンに搭載されているハードドライブのような永続的なファイルシステムにデータを保存します。しかし、AIエージェントをクラウド環境、特にマルチテナントのバックエンドやサンドボックス内で実行する場合、エージェントが起動するたびに同じ種類の永続的なディスクにアクセスできるとは限りません。これは、次のような問題を引き起こします。1. 永続性の欠如: クラウド環境では、エージェントが一時的なコンテナやサンドボックスで実行されることが多く、セッション終了後にデータが失われる可能性があります。2. パーミッション管理の複雑さ: 無数のエージェントが並行して動作する場合、どのエージェントがどのデータにアクセスできるかを管理するパーミッション設定が複雑になります。3. バージョン管理の課題: 複数のエージェントが同じデータに対して並行して作業する場合、互いの変更を上書きしたり、競合が発生したりしないように、バージョン管理の仕組みが必要になります。Mesaは、これらの問題を解決するために開発されました。私たちはMesaを、「あらゆるナレッジワークのためのGitHub」のようなものだと考えています。これは、ブランチ機能によってドラフト作成や承認プロセスを可能にするバージョン管理システムですが、まるで通常のフォルダのように、あらゆるアプリケーションに接続して利用できる点が特徴です。## なぜGitはAIエージェントに適さないのかGitは、ソフトウェア開発におけるバージョン管理システムとして広く利用されていますが、AIエージェントのユースケースにはいくつかの点で課題を抱えています。### 1. AIエージェント向けに設計されていないまず第一に、GitはAIエージェント向けに設計されていません。そのため、APIのインターフェースが複雑で、エージェントがプログラム的に操作するには手間がかかります。### 2. 大規模ファイルの扱いの問題Gitは大規模なファイルを効率的に扱うことが苦手です。例えば、画像のような大容量のファイルをGitリポジトリにチェックインしようとした際に、「大規模ファイルは受け付けられない」というエラーメッセージに遭遇した経験があるかもしれません。これは、Gitがそのようなファイルを扱うように設計されていないためです。この問題に対処するために、Git LFS(Large File Storage)のようなサイドバンドソリューションが使用されることがありますが、これは標準的なGitの機能ではありません。AIエージェントが扱うデータセットには大規模なファイルが多く含まれるため、この点は大きな制約となります。### 3. コンフリクト解決の困難さGitにおけるコンフリクト(競合)は、ファーストクラス(第一級の機能)として扱われていません。複数の変更が同じ箇所に発生した場合、Gitはコンフリクトを検知しますが、その解決は通常、人間が手動で行う必要があります。特に、多くのコミットをリベースする際にコンフリクトが発生すると、開発者は各コミットの内容を確認し、ローカルで競合を解決してからでないと作業を進めることができません。AIエージェントが自律的に作業を進める際に、人間による介入が頻繁に必要となるこのプロセスは、エージェントの効率を著しく低下させます。### 4. リポジトリの全ダウンロードによるオーバーヘッドGitの基本的なモデルは、作業を開始する前にリポジトリ全体をローカルマシンにダウンロードすることです。しかし、AIエージェントの働き方はこれとは異なります。マルチテナントのバックエンドやサンドボックス内で動作するエージェントは、リポジトリの一部だけを参照し、数分、あるいは数秒といった短時間で作業を完了させたい場合があります。Gitクローンに30秒から1分といった時間がかかる場合、エージェントがごく短い作業をするたびにこのダウンロードのペナルティを支払うことになり、膨大なサイクルを無駄にしてしまいます。Mesaは、エージェントがリポジトリ全体をダウンロードすることなく、必要なデータに即座にアクセスできるような仕組みを提供することで、この問題に対処します。## Mesaと既存のバージョン管理システムとの連携Mesaは、柔軟な利用方法を提供します。Mesaを単独のストレージレイヤーとして利用することも可能です。この場合、Mesa内でGitHubのレポジトリと同様に、バージョン管理されたディレクトリを作成し、そのまま利用することができます。つまり、Mesaは独自のストレージレイヤーとして機能し、独自のレポジトリを作成して管理することができます。一方で、特定のユースケース、例えばコーディングエージェントにおいて、顧客がGitHub上でプルリクエスト(PR)を確認できるようにしたいという要望がある場合も考慮されています。MesaはバックグラウンドでGitHubと同期するエンジンを備えており、Mesa上で行われた変更をGitHubに反映させることができます。これにより、Mesaの効率性とGitの慣れ親しんだワークフローの両方を活用することが可能になります。## まとめAIエージェントの進化は目覚ましく、それに伴いエージェントが扱うデータの管理方法も進化する必要があります。Mesaは、従来のGitが抱えていた大規模ファイルの扱いやコンフリクト解決の課題、そして何よりも「リポジトリ全体のダウンロード」というAIエージェントの動作モデルとの不一致を解決するために登場しました。Mesaは、AIエージェントがクラウドやサンドボックスのような動的な環境で効率的に、かつ安全にデータを扱えるように、バージョン管理、パーミッション、そして永続性を兼ね備えたファイルシステムを提供します。これにより、AIエージェントの開発と運用はさらに加速し、より複雑で高度なタスクを自律的にこなせるようになるでしょう。Mesaのような新しいツールの登場は、AIエージェントの可能性を大きく広げるものと期待されます。### 参考動画Mesa: Versioned File System for AI Agents