はじめに
近年、大規模言語モデル(LLM)を用いた知的エージェントの開発が盛んになってきました。しかし、LLMとエージェントを効率的に統合・運用するには様々な課題があります。
この論文では、LLMをオペレーティングシステム(OS)に組み込んだ「LLMエージェントオペレーティングシステム(AIOS)」を提案しています。 AISOは、エージェントのリソース割り当て最適化、コンテキストスイッチ、並列実行、ツールサービス提供、アクセス制御などの機能を持っています。
関連研究
オペレーティングシステムの進化
OSは当初、ハードウェアとユーザータスクの橋渡し役でしたが、その後、バッチ処理、タイムシェアリング、マルチタスク処理など、より高度な機能を備えるようになりました。
また、プロセススケジューリング、メモリ管理、ファイルシステム管理など、モジュール化も進みました。GUIの登場により、OSはよりインタラクティブでユーザー中心になりました。
さらに、OS SDKやランタイムライブラリなどの開発ツールも充実し、OS-アプリケーションエコシステムが発展しました。
大規模言語モデルエージェント
LLMベースの自律エージェントには、単一エージェントシステムと複数エージェントシステムがあります。
単一エージェントシステムは、旅行計画や推薦などの複雑なタスクを1つのLLMエージェントで解決します。仮想環境や物理環境で動作し、APIの呼び出しやウェブサイトの閲覧、コード実行などを行います。
複数エージェントシステムでは、エージェント間の協調、競争、あるいはその両方を通じて問題解決を行います。協調的なシステムではロールプレイやソーシャルシミュレーション、競争的なシステムでは交渉スキルの向上やディベートなどに用いられます。
AISOのレイヤー構造
AISOのアーキテクチャは、アプリケーション層、カーネル層、ハードウェア層の3層で構成されています。
- アプリケーション層: エージェントアプリケーションが開発・デプロイされる層。AISO SDKを提供。
- カーネル層: OS カーネルとLLMカーネルに分かれる。LLMカーネルは、エージェントスケジューラ、コンテキストマネージャ、メモリマネージャ、ストレージマネージャ、ツールマネージャ、アクセスマネージャなどのモジュールを備える。
- ハードウェア層: CPU、GPU、メモリ、ディスクなどの物理コンポーネントで構成。LLMカーネルのシステムコールはOSのシステムコールを介してハードウェアを管理。
AISOの実装
AISOの各モジュールの設計と実装について説明します。
エージェントスケジューラ
エージェントの要求を効率的に管理するためのモジュール。FIFO、ラウンドロビンなどのアルゴリズムを用いて、エージェントタスクを並列実行し、待ち時間とターンアラウンド時間のバランスを取ります。
コンテキストマネージャ
LLMに提供されるコンテキストと生成プロセスを管理するモジュール。コンテキストのスナップショットと復元、コンテキストウィンドウの管理を行います。
エージェントがスケジューラによって一時停止しても、LLMの生成状態を保存・再開できるようにします。また、長いコンテキストを要約したり、コンテキストウィンドウを拡張したりする機能も提供します。
メモリマネージャ
エージェントのライフサイクル内で短期的なメモリを管理するモジュール。各エージェントのメモリは独立しており、アクセスマネージャによる許可がない限り、他のエージェントからアクセスできません。
ストレージマネージャ
データの長期保存を担当するモジュール。ローカルファイル、データベース、クラウドなどの耐久性の高い媒体を使用します。
ユーザー設定や過去のインタラクションログを保存することで、エージェントの知識更新や長期的なユーザーエクスペリエンスの向上に役立てることができます。
ツールマネージャ
LLMの機能を拡張するためのAPIツールを管理するモジュール。ウェブ検索、科学計算、データベース検索、画像処理など、さまざまなカテゴリのツールを統合し、AISOエコシステム内でのエージェント開発を促進します。
アクセスマネージャ
エージェント間のアクセス制御を調整するモジュール。各エージェントに専用の特権グループを管理し、そのグループに属さないエージェントからのリソースアクセスを拒否します。
また、アクセス要求やエージェントの活動、アクセス制御パラメータの変更などを記録する監査ログを作成・管理し、特権攻撃への対策を行います。
LLMシステムコール
LLMカーネル内のLLMシステムコールインターフェースは、基本的なLLMコール操作機能を提供します。エージェント管理、コンテキスト処理、メモリとストレージの操作、アクセス制御など、カーネルのモジュールにまたがる基本機能を提供します。
AIOS SDK
AIOS SDKは、開発者がAISO内で高度なエージェントアプリケーションを作成するための多機能なツールキットです。エージェントの初期化やライフサイクル管理、リソース監視、エージェントタスクの生成計画など、幅広い機能を提供します。
評価実験
AISOモジュールの正確性とパフォーマンスを、複数のエージェントが並行して実行される環境で評価しました。
- 一貫性分析: エージェントの中断・転送後もLLMの応答が一貫しているかを検証。単一エージェントと複数エージェントの場合で、生成された出力のBLEUスコアとBERTスコアを比較し、完全に一致することを確認。
- パフォーマンス分析: FIFOスケジューリングを使用したAISOと、スケジューリングを使用しない(順次実行)場合を比較。待ち時間とターンアラウンド時間の両方で、AISOのスケジューリングメカニズムが効率的であることを示した。
まとめと今後の展望
AISOアーキテクチャは、LLMベースのエージェントの開発と運用を促進し、より統合的で効果的、効率的なAISO-エージェントエコシステムの構築を目指しています。
今後の研究課題として、高度なスケジューリングアルゴリズム、コンテキスト管理の効率化、メモリとストレージアーキテクチャの最適化、安全性とプライバシーの強化などが挙げられます。
AISOは、これらの課題に取り組み、LLMエージェントの可能性を広げるための重要なプラットフォームとなることが期待されています。
LLM Agent Operating System
https://arxiv.org/pdf/2403.16971.pdf
コメント