チュートリアル14:プロフィール — 1台のマシンで複数のエージェント
Tutorial 14: Profiles — Multiple Agents, One Machine — easy-to-understand guide based on official docs
チュートリアル14:プロフィール — 1台のマシンで複数のエージェント
Hermes Agentを楽しんで使っているあなた。でも、こんなことを考えていませんか?「同じマシンでコーディングアシスタントとリサーチボットを、お互いに干渉させることなく動かせたらなあ」。それこそが、まさにプロフィールの出番です。
プロフィールとは?
プロフィールとは、各Hermesエージェントに与える独立した「ホーム」だと思ってください。各プロフィールには、独自のconfig.yaml、.env、SOUL.md、メモリ、セッション、スキル、cronジョブ、状態データベースを格納する専用ディレクトリが割り当てられます。つまり、コーディングアシスタント、パーソナルボット、リサーチエージェントを、それぞれ独自のAPIキー、性格、メモリを持たせたまま並行して実行でき、互いに混ざり合うことはありません。
重要な警告: 2つのエージェントプロセスを同じプロフィールに向けないでください。両方とも自動的にメモリを書き込み、セッション開始時に相手の書き込みをシステムプロンプトに読み込みます。1つのホームに2つの書き込み者がいると、互いの状態を増幅し合い、やがてあなたが設定したものではなくなってしまいます。プロフィールはまさにこれを防ぐために存在します。エージェント間で共有メモリが必要な場合は、代わりに外部メモリプロバイダーを使用してください。
クイックスタート
始めるのは驚くほど簡単です:
hermes profile create coder # プロフィール + "coder" コマンドエイリアスを作成
coder setup # APIキーとモデルを設定
coder chat # チャットを開始
これだけです!プロフィールを作成した瞬間、それが独自のコマンドになります。coderという名前で作成すれば、すぐにcoder chat、coder setup、coder gateway startなどが使えるようになります。
プロフィールの作成
プロフィールを作成する際のオプションはいくつかあります:
空のプロフィール — バンドルされたスキルをシードして新規作成:
hermes profile create mybot
その後、mybot setupを実行してAPIキー、モデル、ゲートウェイトークンを設定します。
設定のみクローン — 現在のプロフィールのconfig.yaml、.env、SOUL.md、スキルをコピー:
hermes profile create work --clone
APIキーと機能は同じですが、セッションとメモリは新規です。別のAPIキーを使うには~/.hermes/profiles/work/.envを、別の性格にするには~/.hermes/profiles/work/SOUL.mdを編集してください。
すべてクローン — 完全な作業スナップショット:
hermes profile create backup --clone-all
設定、APIキー、性格、すべてのメモリ、スキル、cronジョブ、プラグインがコピーされます。プロフィールごとの履歴(セッション履歴、状態データベース、バックアップ)は数十ギガバイトに達する可能性があるため、除外されます。履歴を含む完全なバックアップには、hermes profile exportまたはhermes backupを使用してください。
特定のプロフィールからクローン:
hermes profile create work --clone-from coder
--clone-allと組み合わせると、そのソースプロフィールの完全なコピーになります。
プロのヒント: プロフィールをかんばんワーカーとして使用する予定がある場合は、作成時に--description "<役割>"を渡して、オーケストレーターがその得意分野を把握できるようにしましょう:
hermes profile create researcher --description "ソースコードと外部ドキュメントを読み、調査結果を書く。"
プロフィールの日常的な使い方
コマンドエイリアス — すべてのプロフィールには自動的にコマンドエイリアスが割り当てられます:
coder chat # coderエージェントとチャット
coder setup # coderの設定を構成
coder gateway start # coderのゲートウェイを起動
coder doctor # coderのヘルスチェック
coder skills list # coderのスキル一覧
coder config set model.default anthropic/claude-sonnet-4
-pフラグ — 任意のコマンドでプロフィールを明示的に指定することもできます:
hermes -p coder chat
hermes --profile=coder doctor
hermes chat -p coder -q "hello" # どの位置でも機能します
スティッキーデフォルト — デフォルトを設定すると、素のhermesコマンドがそのプロフィールを対象にします:
hermes profile use coder
hermes chat # これでcoderを対象にする
hermes profile use default # 元に戻す
kubectl config use-contextと同じようなもので、シンプルかつ効果的です。
現在地を把握する — CLIは常にどのプロフィールがアクティブかを表示します:
- プロンプト:
❯の代わりにcoder ❯ - バナー: 起動時に
Profile: coderを表示 hermes profile: 現在のプロフィール名、パス、モデル、ゲートウェイの状態を表示
プロフィール vs ワークスペース vs サンドボックス
これらはよく混同されますが、別物です:
- プロフィールは、Hermesに独自の状態ディレクトリ(設定、メモリ、セッション、ログ、cronジョブ、ゲートウェイ状態)を与えます。
- ワークスペースまたは作業ディレクトリは、ターミナルコマンドが開始される場所で、
terminal.cwdで個別に制御されます。 - サンドボックスはファイルシステムへのアクセスを制限します。プロフィールはエージェントをサンドボックス化しません。
デフォルトのlocalターミナルバックエンドでは、エージェントは依然としてあなたのユーザーアカウントと同じファイルシステムアクセス権を持ちます。プロフィールは、プロフィールディレクトリ外のフォルダーへのアクセスを防ぐものではありません。
まとめ
プロフィールは、1台のマシンで複数の独立したHermesエージェントを実行する最もクリーンな方法です。それぞれが独自のアイデンティティ、メモリ、設定を持ち、互いの存在を知る必要すらありません。hermes profile createで試してみて、マルチエージェントワークフローがどれだけスムーズになるかを実感してください!
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › user-guide/profiles