Hermes と Claude Code の連携|常駐エージェント委譲の仕組み
「Hermes と Claude Code はどう違うのか」「Hermes から Claude Code を呼び出せると聞いたが、どう連携するのか」と気になっている方に向けた記事です。Hermes は Nous Research が開発する常駐型のパーソナルエージェントで、コーディングが必要な場面では Claude Code CLI に作業を委譲できます。本記事では両者の関係、連携の2つの実行モード、導入手順、権限設定、使い分けまでを一次情報にもとづいて整理します。
Hermes は常駐して記憶とスケジュールを担うサーバー型エージェントで、Claude Code をサブプロセスとして呼び出しコーディングを任せる関係だとわかる。委譲は非対話の Print Mode(-p)と tmux による Interactive Mode の2通りで実行でき、両者は競合せず補完しあう構成になっている。
Contents (10)
Hermes とは何か
Hermes(正式には Hermes Agent)は、Nous Research が開発する自律型パーソナルエージェントです。特徴は「常駐(デーモン)」であること。ユーザーのマシン上で継続的に動き続け、複数のプロジェクトややり取りをまたいで記憶を蓄積していきます。
公式ドキュメントによれば、Hermes は次のような役割を担います。
- cron でスケジュールされたジョブの実行(日次サマリー・週次レポートなど)
- 15 以上のプラットフォームからのメッセージ受信
- ユーザー固有の作業パターンを反映したスキルライブラリの成長
つまり Hermes は「オーケストレーション(指揮)・スケジューリング・永続的なコンテキスト保持」を得意とする土台です。一方で、腰を据えたコーディング作業そのものは別の専門ツールに任せます。その委譲先が Claude Code です。
Hermes が Claude Code に委譲する仕組み
Claude Code は Anthropic が提供するターミナル上のコーディング CLI で、ファイルの読み書き、シェルコマンドの実行、git ワークフローの管理などを自律的に行えます。Hermes はこの Claude Code を「サブプロセス」として起動し、コーディングが必要になった局面だけ呼び出します。
役割分担を整理すると次のようになります。
- Hermes: 常時稼働し、記憶・スケジュール・複数チャネルの受信を管理する司令塔
- Claude Code: 呼び出されたときだけ集中的にコードを書く実行部隊
この構成のポイントは、Hermes 側にプロジェクトをまたいだ統合的な記憶があることです。あるコードベースで解決した問題の文脈を、半年後に別プロジェクトで参照する、といった横断的な想起が期待できます。Claude Code は逐一のコーディングセッションに集中し、Hermes がその外側の継続性を支える形です。
委譲の2つの実行モード
Hermes から Claude Code を呼び出す方法は、大きく2種類に分かれます。用途に応じて選択します。
Print Mode(推奨)
-p フラグを使った非対話・ワンショットの実行方式です。タスクを渡すと、ターミナル上の対話を挟まずに構造化された結果を返します。CI/CD パイプラインや自動化との相性がよく、Hermes からの自動委譲でまず検討したいモードです。パイプ入力を処理して JSON 形式の構造化出力を生成することもできます。
Interactive Mode
tmux を使って本格的な対話セッションを立ち上げる方式です。追加のプロンプトを送ったり、スラッシュコマンドを発行したり、Claude が作業する様子をリアルタイムに観察したりできます。試行錯誤しながら進める、複数ターンにわたる開発作業に向いています。
まとめると、自動化・一括処理なら Print Mode、対話的に詰めたいなら Interactive Mode という使い分けです。
出典: Hermes Agent — Claude Code スキル
導入手順
Hermes から Claude Code を委譲先として使うには、まず Claude Code 自体をセットアップします。公式ドキュメントが示す手順は次の3ステップです。
- CLI をインストールする:
npm install -g @anthropic-ai/claude-code - 認証する:
claudeを実行して Claude Pro / Max の OAuth ログインを行うか、ANTHROPIC_API_KEY環境変数を設定する - 動作確認する:
claude --version(v2.x 以降が必要)を実行し、あわせてclaude doctorでヘルスチェックする
この3ステップが完了していれば、Hermes 側は Claude Code をサブプロセスとして起動できる状態になります。認証は OAuth(Pro / Max サブスクリプション)と API キーのどちらかを選べる点も押さえておきましょう。
Claude Code 側でできること
委譲先として呼び出された Claude Code は、コーディングに関する幅広い操作を自律的にこなします。ドキュメントが挙げる主な能力は以下のとおりです。
- ファイルの読み取りと編集
- bash コマンドの実行と git ワークフローの管理
- 変更を隔離するための git worktree の作成・管理
- 複雑なタスクに向けた専門サブエージェントの起動
- パイプ入力の処理と構造化 JSON 出力の生成
- 過去のセッションを再開して作業を継続
とくに git worktree による隔離や、セッション再開による継続は、Hermes からの自動委譲を安全かつ連続的に回すうえで有用な機能です。Hermes が長期の文脈を持ち、Claude Code が個々の作業単位を確実に処理する、という分業がここでも活きます。
権限と設定の階層
自動化の文脈では、どこまで自動承認するかの設計が重要になります。Claude Code の設定は階層構造になっており、優先順位は次のとおりです。
- CLI フラグ(最優先)
- プロジェクト設定
.claude/settings.json - ユーザー設定
~/.claude/settings.json
上位の指定が下位を上書きします。プロジェクト固有の文脈は CLAUDE.md に記述でき、コーディング規約・主要コマンド・アーキテクチャなどをチームで共有できます。カスタムのスラッシュコマンドや、.claude/agents/ 配下の専門サブエージェントも定義可能です。
権限モデルは、逐一の確認プロンプトを出す慎重な設定から、--dangerously-skip-permissions による自動承認まで幅があります。Hermes から無人で委譲する場合は自動化寄りに、対話で監督できる場合は確認寄りにと、実行文脈に応じて調整するのが安全です。
Hermes と Claude Code の使い分け
両者は競合ではなく補完関係にあります。MindStudio の比較記事は、それぞれの向き不向きを次のように整理しています。
- Hermes が向く場面: バックグラウンドで常時動かしたい、メール・リサーチ・スケジュールなど領域横断で任せたい、モバイルからも使いたい、非エンジニアが永続的なアシスタントを求める
- Claude Code が向く場面: 作業の中心がコーディング、ターミナル環境で操作する、コードベース内での多段推論が必要、コンテキストを開発者が明示的に管理したい
記憶の持ち方にも違いがあります。Hermes はユーザーの好み・過去のタスク・文脈を自動的に永続保持します。一方 Claude Code は CLAUDE.md に開発者が規約や文脈を手動でキュレートする方式で、より精密な代わりに能動的な保守が必要です。スケジューリングも、Hermes はネイティブに内蔵するのに対し、Claude Code は cron や CI/CD など外部の仕組みで補う形になります。
現実的な使い方は、コーディングは Claude Code に任せ、その外側の日常的な生産性や横断タスクは Hermes に担わせる、という組み合わせです。
出典: Hermes Agent vs Claude Code(MindStudio)
まとめ
Hermes と Claude Code は、それぞれ得意領域の異なるツールです。Hermes は常駐して記憶・スケジュール・複数チャネルの受信を束ねる司令塔であり、コーディングが必要になった場面で Claude Code CLI をサブプロセスとして呼び出します。委譲は非対話の Print Mode(-p)と tmux による Interactive Mode の2通りがあり、CI/CD なら前者、試行錯誤なら後者が向きます。導入は Claude Code のインストール・認証・動作確認の3ステップで整い、権限は設定階層とフラグで自動化の度合いを調整できます。「常時動く土台は Hermes、集中的なコーディングは Claude Code」と役割を分けて組み合わせるのが、両者を活かす基本形です。