>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
TypeScript

1つのリポジトリで複数のAIエージェントにコンテキストを失わずに協力させる方法

Atlas

毎日ニューラルネットワークと一緒にコードを書いていると、すぐに同じ壁にぶつかる。Claude Codeを起動してモジュールをリファクタリングし、Codexに切り替えていくつかの関数を書く、別のチャットを開いてアーキテクチャのアイデアを確認する。結局、各エージェントは白紙の状態から開始し、五分前に特定のライブラリを拒否した理由を完全に忘れてしまう。

すべてのコンテキストが失われる。コミットには乾燥した差分だけが含まれ、モデルの思考と推論は閉じられたターミナルの中で消えてしまう。

pacifioのチームはこれを系統的に取り組むことを決意し、Atlasをリリースした。AtlasはAIエージェント向けのローカルワークスペースおよびバージョン管理システムで、エージェントのメモリを結びつけ、すべてのコミットをそれが生成されたセッションに紐づける。

コアアイデア

作者たちはこのプロジェクトを「コーディングエージェント向けソースコントロール」と呼んでいる。コンセプトはシンプルだ:自律型エージェントがコードを書いているなら、ファイルの変更だけでなく、その背後にある推論の連鎖を追跡するツールが必要だ。

Atlasは複数のエージェントを異なるタブで並行して起動できる。例えば、Claude CodeとCodexはACP(Agent Client Protocol)を介して外部サブプロセスとして実行され、Atlasの組み込みエージェントはCerseiと呼ばれる独自のRustフレームワーク上でプロセス内で直接実行される。

最も興味深い部分はコンテキストレベルで発生する。あなたのプロンプトがモデルに届く前に、Atlasはそれを中心に統合された姿を構築する:

  • 共有エージェントメモリを注入:現在のプラン、他のモデルがプロジェクトで作成した決定、エラー、アーキテクチャメモ。
  • ファイル、フォルダ、関数、gitブランチ、メモ、さらにはローカルの研究論文を@経由で解決。
  • 前のセッションの末尾と事実のサマリーを追加、最後のタスクが別のアシスタントによって解決された場合でも。
  • ローカルベクトルエンベディングを構築し、サードパーティのサーバーにデータを送信せずにHNSW経由で関連チャンクを検索。

結果:ClaudeはCodexが到達した結論を見ことができ、CodexはClaudeのために失敗したテストを知っている。

チェックポイントとコミット紐付け

通常、エージェントが作業を完了した後、gitにコミットが出現し、一週間後にはどのプロンプトがそれを生成したかを誰も覚えていない。

Atlasはセッションを.atlas/sessions.dbのローカルSQLiteデータベースに保存する。プログラムは外部からコミットを監視し、強制的に横取りすることはしない。標準的なターミナル、VS Code、またはAtlasを閉じた状態でもコードを送信できる。Atlasはパッチを照合し、コミットをそのコードを書いたエージェントセッションに紐づける。

リンクは通常のgit rebasegit commit --amend操作中にpatch-id検証により壊れない。スクウォッシュを行うとリンクが曖昧になった場合、Atlasは推測しようとはしない—正直にセッションを切り離されたものとしてマークする。

素晴らしい点:すべてのシークレットとトークンは、データがディスクに触れる前にログから削除される。

ワークスペースの内部

Atlasはバックグラウンドデーモンとしてだけでなく、完全な功能的デスクトップワーク環境としても構築されている。内部的にはTauri、Rust、BunとTypeScriptに基づくWebインターフェースを組み合わせている。

日常作業に必要なものがすべて含まれている:

  1. CodeMirrorベースのコードエディタで、再起動後も状態が維持される。
  2. ビジュアルコミットグラフ、ブランチ、差分を備えた完全な功能的Gitクライアント。
  3. ブロックターミナルで、各実行されたコマンドがその出力、終了ステータス、実行時間を保存。vimやhtopなどのフルスクリーンユーティリティも正常に動作する。
  4. .atlas/knowledge/フォルダ内のナレッジベース。これらはコードと一緒にバージョン管理される通常のMarkdownファイル。双方向リンク、リンクグラフ、HTMLエクスポートがサポートされている。
  5. arXivとSemantic Scholarによる研究論文検索で、PDFをアプリ内で読める機能と、@経由でプロンプトにリンクを送信する機能。
  6. ログインとリーディングモードをサポートするWebKitエンジンに基づく組み込みブラウザ。

すべてのプロジェクトファイルはディスク上の通常のファイルのままである。メモはMarkdown、キャンパスはJSON、セッションはJSONL。プログラムを閉じても、お気に入りのエディタで作業を続行でき、データへのアクセスが失われることはない。

プロジェクトをローカルで実行する方法

macOSバイナリは公式サイトとGitHubリリースで.dmgとして入手可能。LinuxとWindowsでのビルドはソースから可能だが、開発者たちは現在これらのプラットフォームはテストが十分ではないと述べている。

ローカルビルドには、Bun、稳定版Rust、Claude CLIクライアントのインストールが必要(Anthropicのエージェントを使用する場合)。

UbuntuまたはDebianでの依存関係のインストール:

sudo apt install -y libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev

開発モードでのビルドと実行:

git clone https://github.com/pacifio/atlas
cd atlas
bun install
bun run dev:app

最初のRustコンパイルには数分かかるが、その後の増分ビルドは数秒で完了する。

Atlasが役立つ人

このプロジェクトは、複数のAIアシスタントを активно 使用しており、ターミナルウィンドウ間でコンテキストを手動でコピーするのに厌倦している開発者にアピールするだろう。

基本機能には強制的なクラウドサブスクリプションはない:すべてがオフラインで動作し、データベースはプロジェクトディレクトリに保存され、コードはどこにも漏れない。エージェントを使ったワークフローを整理し、チームのため、または一ヶ月後の自分のために決定の履歴を保存する方法を探しているなら、リポジトリは確かにチェックする価値がある。

関連プロジェクト