Claude Code + Multica = 究極のAIエージェント構成

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Multicoreは、AIエージェントを真のチームメイトに変えるツールだと主張しています。
00:00:05Claude Code、OpenCode、Codex CLI、Hermesなどを、独自のシステムプロンプトや
00:00:11スキルでセットアップし、ステータス更新付きでタスクを割り当てることができます。エージェントは
00:00:16助けが必要な時に通知したり、繰り返しタスクをスケジュールしたり、直接対話したりできます。
00:00:21しかし、このClaudeルーチンや管理エージェントのオープンソース版は、本当に時間をかける価値があるのでしょうか?
00:00:27チャンネル登録をして、確かめてみましょう。
00:00:32Multicoreの本来の使い方は、作業マシンにインストールすることです。理想的には
00:00:37Claude CodeやOpenCodeのようなターミナルコーディングエージェントを搭載し、それを
00:00:42MulticoreクラウドUIに接続します。
00:00:44ですが、今回はそうせず、完全にセルフホストの手順で行きます。
00:00:48その理由は後ほど説明しますが、MulticoreをVPSにインストールします。
00:00:52実は、普段はセットアップの過程を丸ごと飛ばすのですが、Multicoreのセルフホストには
00:00:58ドキュメントに載っていない、いくつか知っておくべき点がありました。
00:01:01そのため、使い方を例示する前に、まずはそこから見ていきましょう。
00:01:05すでに新しいHetzner VPSにMulticoreをインストール済みです。このコマンドを実行することで
00:01:10Dockerを使ってMulticoreをインストールできます。
00:01:12ですので、VPSにDockerがインストールされていることを確認してください。
00:01:15実行すると、3つのコンテナ(Multicoreバックエンド、
00:01:19Goで書かれていると思われるMulticoreフロントエンド(TypeScriptとNext.js)、
00:01:24そしてセッション情報を保存するためのPostgresデータベース)が稼働します。
00:01:27次に「Multicore setup self-host」を実行する必要があります。
00:01:30しかし、ここでいくつか問題がありました。
00:01:31「Multicore self-host」を実行し、現在の設定と
00:01:35ワークスペースをリセットしようとすると、このURLで認証するように求められます。これをクリックすると
00:01:39この画面が表示されます。
00:01:40メールアドレスを入力して続行すると、再送コードを入力する必要があります。
00:01:45私はこのセクションでかなり苦労しました。
00:01:48ですので、この再送という手順自体を回避することをお勧めします。
00:01:53.multicoreサーバーディレクトリに入り、envファイルを開き、APP_ENVIRONMENTが
00:01:58developmentに設定されていることを確認し、RESEND_API_KEYの値が空であることを確認してください。
00:02:02こうすることでコードがこの値になります。
00:02:04それができたら、ディレクトリ内に留まり、このコマンドを実行してコンテナを再起動します。
00:02:09更新された環境変数ファイルが適用されます。
00:02:11それが済めば、6つの8でログインできるはずです。
00:02:15さて、まだ終わりではありません。
00:02:17ここから「runtimes」に移動すると、2つの異なるランタイムがインストールされているのが見えますが、
00:02:21セットアップ前なので、本来は何もないはずです。
00:02:24「Multicore Daemon Status」を実行すると、現在動作中で、これらの
00:02:28エージェントを1つのワークスペースで使用していることがわかりますが、最初はエラーが出るはずです。
00:02:32なぜなら、まずVPS上にターミナルコーディングツールをインストールする必要があるからです。
00:02:36私はClaude CodeとOpenCodeをインストールしています。
00:02:39そのランタイムをMulticoreインスタンスに接続するには、設定に行き、
00:02:44APIトークンで新しいAPIトークンを作成し、トークンフラグを付けて「Multicore login」を実行して
00:02:50トークンをここに貼り付ける必要があります。
00:02:52次に、Multicore Daemonが動いていたら、停止してから再起動してください。
00:02:56Multicoreのデーモンは、インストールされたハーネスバイナリをチェックし、Multicoreからタスクを
00:03:01エージェントに渡すためにポーリングを行い、ワークツリーを使用して複数のエージェントを生成し、タスクを
00:03:07完了させます。
00:03:08これで、デーモンが利用可能なランタイムを表示するはずです。
00:03:11このように接続することの利点は、Multicoreインスタンスに
00:03:15複数のマシンを追加できることです。
00:03:16つまり、複数のVPSがあれば、それらすべてにMulticoreをインストールし、
00:03:20それぞれのAPIトークンを使って単一のUIに接続できるということです。
00:03:23さて、セットアップが済んだので、Multicoreでいくつかの簡単なタスクをこなしてみましょう。
00:03:28可能性をすべて紹介するつもりはありません。
00:03:30複数のエージェントに複数のプロジェクト、そして複数のタスクを追加するといったことはせず、
00:03:35個別の機能を紹介して、Multicoreがどれほど強力かをイメージできるようにしたいです。
00:03:39もしそのやり方が気に入ればですが。
00:03:40Multicoreで何かをする前に、エージェントを作成する必要があります。
00:03:43すでに「Medibot」というエージェントを作成しましたが、プラスボタンをクリックして
00:03:48指示に従うことで作成できます。
00:03:50この医療用ボットは、以前Claude
00:03:56Managed Agents動画で作成したものと同様のシステムプロンプトを持っていて、プライベートなGitHubリポジトリから私の医療情報を取得し、
00:04:02Slack経由で会話できるというものです。
00:04:04さて、Multicoreを使うと、自分のVPSを持っていて直接管理できるため、より自由度が高くなります。
00:04:08そこで、このエージェントにGitHubからリポジトリをクローンさせる代わりに、
00:04:12自分でこのディレクトリにクローンしておきました。
00:04:16システムプロンプトだけでなく、エージェントにカスタムスキルを与えることもできます。
00:04:19エージェントはCLIにインストールしたスキルにアクセスできますが、必要であれば
00:04:24UIで直接スキルを追加することも可能です。テストとして追加してみましたが、
00:04:29エージェントには追加しません。
00:04:30また、環境設定やカスタム引数も設定できます。
00:04:33エージェントはCLIツールを使用するため、この場合は「opencode run」が使われます。特定のモデルだけを
00:04:37使うようにするなど、カスタムフラグを追加することもできます。
00:04:42ですがデフォルトでは、CLIで使用しているモデルが使われます。
00:04:46「opencode」を今実行してみると、OpenCodeZenの「big pickle」モデルが使われているのがわかります。
00:04:50さて、タスクまたはイシューを作成するにはここをクリックします。このイシューを「医療
00:04:54質問」と呼び、プロンプトには「私の医療情報を確認して、イカを食べても大丈夫か教えてください」と入れます。
00:04:59はい、イカです。
00:05:00イシュートラッキングツールを使ったことがあれば、これは非常に馴染み深い画面でしょう。
00:05:04優先度を設定したり、人を割り当てたり、期限を追加したりできます。
00:05:08ですが、ボットを割り当てた瞬間に作業が開始されてしまうため、
00:05:13イシューを作成してから担当者を割り当てることを強くお勧めします。
00:05:17書いた内容に問題がないか、よく確認してから。
00:05:21完了したら、ボットを割り当てます。
00:05:23では、Medibotに割り当ててイシューを作成します。
00:05:26すると、そこからボットが作業を開始します。
00:05:28ここにあるイシュー内で進捗を追跡できます。
00:05:30イシューをクリックすると、Medibotがすぐに作業しているのがわかります。
00:05:34作業中に、自動操縦(Autopilot)をクリックしてみます。
00:05:36これが「Claude Routines」のオープンソース版です。
00:05:39「ゼロから開始」をクリックし、エージェントを選択し、このタスクをどれくらいの頻度で
00:05:44実行したいかを設定できます。
00:05:45Claude Routinesとは異なり、APIトリガーやGitHubイベントトリガーのオプションはありません。
00:05:51将来的に実装されるかもしれませんね。
00:05:53ですが、以前のClaude Routines動画と同じように、これら3つのニュースレターの最新
00:05:57イシューをRSS経由で取得するプロンプトを与えてみます。
00:06:00イシューを取得したら、YouTube動画で使える最高の記事を10個見つけてください。
00:06:05これは毎日ロンドン時間の午前9時に実行されます。
00:06:08理想を言えば、YouTube向けのトピック選びが得意な調査特化型エージェントがいいですが、
00:06:14今のところはMedibotにしておき、「作成」をクリックします。
00:06:17その後、この自動操縦をクリックして、「今すぐ実行」をクリックし、動作を見てみます。
00:06:21TODOリストに新しいイシューが作成されます。
00:06:23数分間実行したままにして、もう一つのイシューを確認してみましょう。これは
00:06:28エージェントによって「レビュー中」に移動されています。
00:06:30こちらには、医療記録に基づくと貝類アレルギーがあるため、イカは
00:06:35食べるべきではないと書かれ、アレルギーに関する詳細情報も記載されています。
00:06:40ここをクリックして、エージェントが正確に何をしたかを確認することもできます。
00:06:43実行履歴を展開すると、いくつかのBashツール呼び出しが行われたのがわかります。
00:06:48実際、かなりの数のBashツール呼び出しをして、医療情報ディレクトリを探し、
00:06:53ホームディレクトリ全体を検索してから医療情報を見つけ、エージェントに
00:06:59正しい情報を与えたようです。
00:07:00素晴らしい。
00:07:01ここから、「情報ありがとう」と返信もできます。
00:07:04「なぜ完了ではなくレビュー中に入れたの?」と。
00:07:07では、それをエージェントに任せておきます。
00:07:09エージェントが言っていることを手動で追いかけたくない場合は、
00:07:12エージェントから通知を受け取ることもできます。
00:07:14こちらが医療エージェントからの応答です。
00:07:16そして、自動操縦からも更新が来ています。
00:07:191時間前に自動実行されたものと、今さっきトリガーして
00:07:22完了したばかりのものです。
00:07:23与えたプロンプトが実行され、
00:07:27応答が返ってきているのがわかります。
00:07:28こちらが、temporal APIなどに関するトップ10の選出です。
00:07:33興味深いのは、エージェントは一度「レビュー中」に入ったタスクを、勝手に
00:07:37「進行中」や「TODO」に戻すことはないという点です。もちろん、人間なら自由にできます。
00:07:41「進行中」に移動したり、「ブロック中」に移動したりできます。
00:07:45しかし、医療エージェントに質問したにもかかわらず、質問に答えている間も
00:07:49「進行中」には戻りませんでした。
00:07:51そのまま「レビュー中」にとどまっているので、完了したか知るためにクリックする必要があります。なぜ
00:07:55完了ではなくレビュー中に移動したかというと、標準のワークフローのステップだからであり、
00:08:00完了にしたからではありません。
00:08:01つまり、人間である私が「完了」に移動するのを待っているわけで、理にかなっています。
00:08:05ここから、返信を書いたり、コメントしたり、ファイルや絵文字を添付して
00:08:09会話を続けることもできますし、イシュートラッキングのプロセスを通さずに
00:08:14一回限りの質問をしたければ、ここをクリックして直接エージェントに話しかけることもできます。
00:08:18正直なところ、タスクを割り当ててKanbanボード上の進捗を見るという
00:08:22エージェントとのコミュニケーションは、それほど好きではありません。
00:08:25これが、PaperclipやVibe Kanbanのようなプロジェクトを試していない理由です。
00:08:29優先度や期限はどうでもよくて、一度に1つか2つのプロジェクトをエージェントと進め、
00:08:34エージェントとの対話を通じて、エージェントが何をしているか、どんなツールを使い、どんな問題に
00:08:39ぶつかっているかを直接見て、一緒にデバッグするのが好きなんです。
00:08:45ですが、Multicoreのアイデアが嫌いというわけではありません。実際、スケジュールタスク機能は気に入っていますし、
00:08:50完全にセルフホストできる点も良いと思います。また、Claude管理エージェントや
00:08:55Claude Routinesを使うよりも、他のモデルを使えば
00:08:59はるかに安上がりな、非常に堅実なツールだと思います。
00:09:02ただ、セットアップの手順はかなり技術的です。特にセキュリティを維持したい場合は、
00:09:06何をしているのかを理解する必要があります。それが、インフラを管理してくれ、コネクタを使って
00:09:11エージェントと通信できるようにしてくれる管理エージェントやRoutinesの利点です。
00:09:16なぜなら、Multicoreで同じことをしようとすると、
00:09:20スマホのレスポンシブサイトは使えますが、Slack、Telegram、Discordを使いたい場合は
00:09:24手動でつなぎ合わせる必要があるからです。
00:09:29それが、私がセキュリティを理由にセルフホストを選んだ理由です。
00:09:33インターネットにつながっていれば、ハッキングされるリスクはあります。ローカルマシンにインストールして
00:09:37UIもローカルで動かせばインターネットには接続されませんが、もしインターネットに公開したいのであれば、
00:09:41サーバーが完全に晒されないようTailscaleを使ったセルフホストルートを推奨します。
00:09:46そして、常に最新のバージョンにアップデートしておくことを忘れないでください。
00:09:50サーバーが完全に露出しないようTailscaleを使ったセルフホストルートを推奨します。そして
00:09:55常に最新のバージョンにアップデートしておくことを忘れないでください。

Key Takeaway

Multicoreは、Docker環境でのセルフホストによりClaude Code等のCLIエージェントを統合管理し、スケジューリングと進捗管理を可能にする、カスタマイズ性の高いオープンソースのAIエージェント構成プラットフォームである。

Highlights

MulticoreはClaude CodeやOpenCodeなどのターミナルコーディングエージェントをUI上で管理し、タスクを割り当てて進行状況を追跡できるオープンソースツールである。

Dockerを利用してVPSにインストール可能だが、初期設定時にメール認証による再送コードで問題が発生しやすいため、環境変数でRESEND_API_KEYを空に設定する回避策が有効である。

複数のVPSを単一のMulticore UIに接続し、APIトークン経由で一元管理することで、分散した環境でのエージェント運用が可能になる。

自動操縦(Autopilot)機能により、特定のプロンプトを用いたタスクをスケジュール実行できるが、現時点ではAPIやGitHubイベントによる自動トリガー機能は未実装である。

エージェントはKanban形式で管理され、「レビュー中」へ移動したタスクは人間が「完了」へと進めるまで自動的に戻ることはない。

Timeline

Multicoreの導入とVPSへのセルフホスト手順

  • Dockerを使用してMulticoreバックエンド、フロントエンド、PostgresデータベースをVPS上で稼働させる。
  • セットアップ時の認証プロセスで発生する再送コード問題を、envファイルの環境設定変更で回避できる。
  • 複数のVPSにMulticoreをインストールし、APIトークンを用いることで単一の管理画面からエージェントを制御できる。

Multicoreは作業マシンへのローカルインストールも可能だが、セキュリティと制御性を重視してVPSへのセルフホストが選択される。インストールにはDockerが必須であり、稼働後に環境変数APP_ENVIRONMENTをdevelopmentに設定し、RESEND_API_KEYを空にすることで認証フローをスキップできる。接続されたデーモンはポーリングによりタスクを各エージェントに分配する仕組みとなっている。

エージェントへのタスク割り当てと自動運用

  • カスタムプロンプトとスキルを設定した「Medibot」等の独自エージェントを作成・管理できる。
  • イシュートラッキング機能を活用して、タスクの優先度付けや担当者割り当てが可能である。
  • 自動操縦機能を利用して、RSS経由での情報収集など、特定の時間間隔でタスクを繰り返し実行できる。

エージェントにはシステムプロンプトやカスタムCLIスキルを付与できるため、特定のデータソースやツールへのアクセスを最適化できる。イシューを作成して担当を割り当てると即座に作業が開始され、進捗はKanbanボードで視覚化される。自動操縦機能はClaude Routinesに似ており、指定したスケジュールで定型タスクを実行させるのに適している。

ワークフローの管理とセキュリティ上の考察

  • エージェントのBashツール呼び出し履歴を確認し、内部処理の詳細を追跡・デバッグできる。
  • エージェントが完了したタスクを「レビュー中」に留める仕様は、人間による最終確認を前提としている。
  • インターネット公開時にはハッキングリスクを防ぐため、Tailscaleを利用したセルフホストが推奨される。

実行履歴を確認することでエージェントがどのツールを使用してどのような操作を行ったか詳細に把握でき、透明性の高い対話が可能になる。管理エージェントの構築には技術的な理解が必要だが、通信機能の統合を手動で行う手間と引き換えに、モデルの選択肢が広がりコスト効率が向上する。インターネット経由での利用時には、サーバーの露出を最小限に抑える構成が不可欠である。

Community Posts

View all posts