YCがマルチプレイヤー・ハーネスをオープンソース化

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00毎週のように新しいJSフレームワークが出ていた時代を覚えていますか?
00:00:04今度はエージェント・ハーネスで同じことが起きています。しかも今回は、普段は金
00:00:09を出すだけの投資家たちが実際にキーボードを叩いてコードを書いたようです(まあ実際にはClaudeが書いたのでしょうが)。
00:00:14あのスタートアップアクセラレータのY Combinatorが独自の「qm」というエージェント・ハーネスをリリースしました。
00:00:19SlackやWebで使えるマルチプレイヤー型の作業用エージェント・ハーネスで、興味深い機能がいくつかあります。
00:00:24おまけにスタートアップ向けに特化しているので、利益がゼロの会社を経営しているなら、まさにぴったりのツールかもしれません。
00:00:29では、「qm」とは一体何なのでしょうか?GitHubリポジトリを読んでも、説明がかなり分かりにくいため、疑問がかえって増えたという人が多いでしょう。
00:00:39説明がかなり分かりにくいため、疑問がかえって増えたという人が多いでしょう。
00:00:44「ハーネス」という言葉から、Claude Codeのようにノートパソコンにインストールしてターミナルで動かすものを想像しがちですが、
00:00:49実際には、企業が自社のインフラにデプロイするフルスタックのWebアプリケーションであり、
00:00:54組織内の全員がそれぞれ独立したワークスペースを持てる仕組みになっています。
00:01:00その下層では、エージェントのループを動かすヘッドレスのバックエンドと、
00:01:05セッション履歴を保持するPostgresが稼働しているため、自分のマシンで処理が行われるわけではありません。Slackと連携して、
00:01:10普段の作業場所からそのまま利用することも、Web UIから直接操作することもできます。
00:01:15一度セットアップして放置したい場合にも対応できます。最新ツールについての情報を常に得たい方は、
00:01:19ぜひBetter Stackのチャンネル登録をお願いします。では、なぜこれを導入すべきなのでしょうか?詳しく見ていきましょう。「qm」は自分のマシンではなく
00:01:26クラウド上で実行されます。つまり、エージェントやツールの呼び出しはすべてデバイスの外部で行われ、
00:01:32インターネットに接続されたあらゆるデバイスからアクセスできます。また、すべてのワークスペースに専用のストレージが結びつけられたコンテナが割り当てられるため、
00:01:38エージェントがインストールしたものはそのまま残り続けます。月曜日にPython環境をセットアップさせれば、
00:01:44ファイルやクローンしたデータと一緒に金曜日もそのまま残ります。つまり、それぞれのワークスペースは、
00:01:50独自のステートを維持する本物のマシンなのです。次に、共有コンテキストという機能があります。プロジェクトを作成してチームメンバーを追加すれば、
00:01:56組織の間でメモリ、ファイル、アプリ、コネクタを共有できます。
00:02:02つまり、一度設定すれば全員がその恩恵を受けられます。デフォルトでは、全員にパーソナルスペースが割り当てられます。これは実質的に
00:02:09非公開に設定されたプロジェクトなので、自分だけがアクセスできる環境を作って、認証情報などを安全に設定することができます。
00:02:15しかし、複数のチームメンバーに同じツール、ファイル、認証情報へのアクセスを許可したい場合も、もちろん可能です。
00:02:20ただ、現在のWeb UIは自分がどのコンテキストにいるのかを伝えるのが非常に下手くそで、
00:02:26今どこで設定を行っているのか画面上でわかる要素がほとんどありません。
00:02:32ご覧の通り、共有プロジェクトをクリックするとファイル内に小さなピルが表示され
00:02:37そのプロジェクトにアップロードしていることを示す小さなピルが表示されますが、他のタブではインジケータが一切表示されません。
00:02:43現在どのコンテキストにいるのかを示す常駐型のUI要素が表示されるべきだと思いますが、近いうちに追加されることでしょう。
00:02:49次のメリットはハーネスです。例えばClaude Codeのような、特定のハーネスの動作が本当に気に入っている場合、
00:02:54それをqm内で実行するように設定できます。ご覧のように、デフォルトのハーネスはpiですが、Claudeに切り替えることが可能です。
00:03:01そうすれば、使い慣れたClaude Codeのハーネスをそのままクラウド環境で動かすことができます。
00:03:06使い慣れたClaude Codeのハーネスをそのままクラウド環境で動かすことができます。
00:03:11Claude Codeをそのリストに追加するには少し手間がかかりました。どのハーネスの選択を許可するかは管理者が決定しますが、
00:03:16初期状態では、デプロイ時に起動した1つしか利用できません。
00:03:21そのため、私のドロップダウンにはpiしかなければ、他の選択肢もありませんでした。管理パネルのどこにもコントロール項目がないため、
00:03:27APIコールを使って設定する必要がありました。ハーネスのエンドポイントに対してPUTリクエストを送り、
00:03:32使いたい2つのハーネスのIDを指定します。ページを再読み込みすると、両方とも表示されるようになります。
00:03:38次のメリットは、ツールサーフェスが非常に小さいことです。これは個人的に本当に気に入っている点です。エージェントに与えられるツールは、
00:03:43execute、read、write、publish、memory、history、backgroundの7つだけです。
00:03:49それ以外の動作はすべて、自身のサンドボックス内でのシェルコマンドとして実行されます。そのため、モデルが正しいものを選択してくれることを祈りながら、
00:03:53山のようなMCPサーバーを配線する代わりに、マシンをそのまま渡して普段どおりに作業させることができます。
00:03:58これはClaude Codeと同じアプローチであり、設計の核心にこれが組み込まれているのは素晴らしいことです。
00:04:03では、大惨事を引き起こすことなく、会社のデータに対してエージェントを自由に動作させるにはどうすればよいでしょうか?
00:04:09それには組織全体の設定があり、3つのレベルが用意されています。「strict」にすると、ほぼすべてのツール呼び出しが一時停止し、人間の承認を待ちます。
00:04:16「auto」がデフォルトであり、外部データやツールの結果がモデルに届く前に分類器を実行します。
00:04:21そして「dangerous」ではスクリーニングも一時停止も行われません。各チームは独自のスコープに向けてより厳しくすることはできますが、
00:04:27組織が選んだ基準以上に緩くすることはできません。また、どのようなモードであっても適用されるコマンドポリシーがあり、
00:04:33再帰的な削除や破壊的なSQLといったものは、dangerousモードであってもブロックされます。
00:04:36会社全体でエージェントを導入する前に、こうした仕組みはぜひ欲しいところです。
00:04:42各個人が自分のマシンでローカルにエージェントを動かしているだけでは、このような機能は手に入りません。全体として、qmは
00:04:47社内ドキュメントへのアクセスをチームで共有する上で、強力なツールになり得ると感じています。管理者として、認証情報を介した外部ツールへの
00:04:52きめ細かなアクセス制御を設定したり、様々なプロセスの実行方法に関するファイルやメモリを含めるように選択したりできるからです。
00:04:58プロジェクト内の誰でもアクセスできる共有スキルを作成することも可能です。そのため、現在のCLIツールで行われているような
00:05:04孤立したセットアップではなく、組織全体が全員の努力の成果から恩恵を受けられるようになります。
00:05:09個人的には、チェックしてみる価値はあると思います。すでにGitHubで1万3,000個のスターを獲得していますが、
00:05:14UIやUXに関しては、まだ改善の余地がかなり残されていると言えます。開発者の名誉のために言っておくと、
00:05:18このプロジェクトはまだ公開から2週間しか経っていないため、文字通り未成熟です。
00:05:24しかし、秘められたポテンシャルは膨大です。オープンソースであり、必要に応じてソースコードの変更を含め、
00:05:29完全にコントロールして調整することができます。概要欄にあるGitHubリポジトリからぜひチェックしてみてください。今回の内容が気に入っていただけたら、Better Stackのチャンネル登録をよろしくお願いします。それではまた次の動画でお会いしましょう。

Key Takeaway

Y Combinatorがリリースしたオープンソースのエージェント・ハーネス「qm」は、クラウド環境をベースに組織全体でメモリやツール、ワークスペースを共有できる仕組みを提供する。

Highlights

  • Y Combinatorがオープンソース化したマルチプレイヤー型エージェント・ハーネス「qm」は、GitHubで1万3,000個のスターを獲得している。

  • 「qm」は個人のラップトップではなく、企業のインフラやクラウド上で実行されるフルスタックのWebアプリケーションである。

  • エージェントに与えられるツールはexecute、read、write、publish、memory、history、backgroundの7つに限定されている。

  • 組織全体の設定にはstrict、auto、dangerousの3つのレベルが用意されており、コマンドポリシーにより破壊的なSQLなどは常にブロックされる。

  • Claude Codeなどの外部ハーネスをqm内で実行するには、APIエンドポイントに対してPUTリクエストを送り設定する必要がある。

Timeline

qmの概要とアーキテクチャ

  • Y Combinatorが「qm」というマルチプレイヤー型の作業用エージェント・ハーネスをリリースした。
  • SlackやWebから利用できるフルスタックのWebアプリケーションとして自社インフラにデプロイされる。
  • バックエンドではエージェントのループとセッション履歴を保持するPostgresが稼働する。

スタートアップアクセラレータのY Combinatorによって開発されたqmは、ターミナルで動く従来のローカルツールとは異なり、クラウド上で実行される仕組みを持つ。Slackとの連携機能やWeb UIを備え、組織内の全員がそれぞれ独立したワークスペースを持つことができる。

クラウド実行と共有コンテキスト

  • すべてのワークスペースに専用ストレージが結びつけられたコンテナが割り当てられる。
  • プロジェクトを作成してチーム間でメモリ、ファイル、アプリ、コネクタを共有できる。
  • デフォルトで割り当てられるパーソナルスペースは非公開プロジェクトとして機能する。

qmはデバイスの外部でエージェントやツールを呼び出すため、インターネット接続があればどのデバイスからでもアクセス可能である。また、環境やインストールしたファイルがそのまま維持されるため、個別のマシンとして機能する。ただし、現在のWeb UIは現在のコンテキストを示すインジケータが不足している。

ハーネスの切り替えとツールサーフェス

  • デフォルトのpiハーネスからClaudeなどの外部ハーネスに切り替えることが可能である。
  • ハーネスの追加にはAPIコールを用いたPUTリクエストの送信が必要となる。
  • エージェントに与えられるツールはexecuteやreadなど7つの基本機能に絞られている。

ユーザーは使い慣れたClaude Codeなどのハーネスをクラウド環境内で動かすことができる。追加のハーネスを使用するためには管理パネルにコントロール項目がないため、API経由で設定を行う。さらに、エージェントに渡されるツールが7つに制限されているため、複雑なMCPサーバーの配線を減らしている。

権限管理と組織全体の導入効果

  • 組織全体の設定としてstrict、auto、dangerousの3つのレベルが用意されている。
  • モードに関わらず再帰的な削除や破壊的なSQLなどの危険なコマンドはブロックされる。
  • チーム間で共有スキルやドキュメントを活用できるため孤立したセットアップを回避できる。

企業のデータに対して安全にエージェントを動作させるため、承認プロセスやツールの結果を分類するモードが設定されている。コマンドポリシーによって危険な操作は制限される。公開から2週間で未成熟な部分やUIの改善余地はあるものの、組織全体で成果を共有できる強力なツールとして機能する。

Community Posts

View all posts