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のチャンネル登録をよろしくお願いします。それではまた次の動画でお会いしましょう。