0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者必見】Hermes Agentの記憶・スキル・マルチエージェント完全攻略

0
Posted at

🚀 はじめに

Hermes Agentを触り始めた皆さん、こんな経験ありませんか?

  • 昨日教えたことを今日には忘れてる…
  • サブエージェントにタスクを投げたのに、何もわかってない…
  • 設定ファイルが多すぎて、どこに何を書けばいいのか混乱…

実はこれ、すべて3つの考え方を理解すれば解決します。この記事では、筆者が実際に踏み抜いた地雷と、そこから得た「ゼロから使える実践知識」をまとめました。


🔗 対象読者

  • Hermes Agentをインストールしたばかりの方
  • 「記憶させる」方法がイマイチわからない方
  • マルチエージェントの使い方で詰まっている方
  • とにかく最短で使いこなしたい方

🧠 第1章:記憶システム — エージェントは「自分で判断して」覚える

❌ 最大の誤解

「え、言ったこと全部覚えてるんじゃないの?」

→ 違います。 Hermesはエージェント策定型記憶を採用しています。つまり、エージェント自身が「これは重要だ」と判断したことだけを長期記憶に書き込みます。

これはバグではなく設計思想です:

  • トークン節約:全量書き込みは推論コストが跳ね上がる
  • ノイズ防止:試行錯誤や中間的な考えは長期保存に値しない

✅ 正しい覚えさせ方

重要なことは明示的に指示しましょう:

私の好みを記憶して:すべてのコードはPython 3.11を使うこと。
現在の進捗を保存して:データクレンジングと特徴量エンジニアリングが完了。次はモデル学習。

📁 記憶ファイルの使い分け(超重要)

ファイル 入れるもの 書く人
SOUL.md 永続的なルール・行動指針 あなた
USER.md あなたの好み・習慣 エージェント
MEMORY.md 作業メモ・環境情報 エージェント

🔴 鉄則:絶対にSOUL.mdに書くべき固定ルールをMEMORY.mdに入れないこと。MEMORY.mdはエージェントが自動整理・圧縮する可能性があります。

容量管理の目安:

  • MEMORY.md:上限2,200文字 → 1,800文字以内が快適
  • USER.md:上限1,375文字 → 1,100文字以内が快適

🛠️ 第2章:スキルシステム — 繰り返し作業を「型」に落とし込む

スキルとは?

コードでもプラグインでもありません。「再利用可能な標準作業手順書(SOP)」です。

優れたスキルに必要な4要素:

要素 内容
トリガー どんな時にこのスキルを使うべきか
手順 具体的に何をどうやるか
検証方法 成功したかどうかの判断基準
注意点 過去にハマった罠

📝 初心者が覚えるべき4つのスキルコマンド

① 新規作成:

このデータ処理フローを skill として保存して。名前は data-pipeline。
トリガー条件、手順、検証方法、注意点を含めて。

② 記憶から昇華:

デプロイ手順を覚えているよね。それを deploy-workflow という skill にして。

③ ピンポイント修正(全体を書き直さない):

stock-daily-report スキルを更新して。注意点に以下を追加:
「金曜の引け後データは土曜朝まで遅延する可能性あり」

④ 定期監査:

全スキルをレビューして。重複は統合、不明瞭なものは書き直し、古いものは更新。
先にレポートを出して、確認後に実行して。

🔄 スキルと記憶の連動(上級テク)

SKILL.md の中に記憶の確認ステップを埋め込みましょう:

## 手順
1. MEMORY.md にこのAPIに関する特記事項がないか確認
2. あれば優先して従う
3. 実行後、新たに発見した注意点をMEMORY.mdに追記

🤖 第3章:マルチエージェント — 複数エージェントで並列処理

🔢 並列数の黄金律

2つから始めて、最大3つまで。 専門家の明言です。

  • 理論上の最大並列数を追うより、コストと品質管理が重要
  • API制限・IPブロック防止の観点からも2〜3が安全圏

💀 初心者が最も踏む地雷

サブエージェントは、メインエージェントの会話内容を一切知りません。

サブエージェントは真っ新な会話コンテキストから起動します。

❌ ダメな例:

「さっきのTypeError、直しといて」

✅ 正しい例:

delegate_task(
  goal="api/handlers.py の TypeError を修正",
  context="""
  ファイルパス: /home/user/myproject/api/handlers.py
  エラー: 47行目 TypeError: 'NoneType' object has no attribute 'get'
  原因: parse_body() が Content-Type ヘッダー不在時に None を返す
  プロジェクト: Python 3.11 + Flask
  """
)

🎯 役割分担が最も効果的

SOUL.md または AGENTS.md に明記:

## マルチエージェント協業ルール
- Planner Agent: タスク分解と進捗管理のみ。実行しない
- Executor Agent: データ取得・処理のみ。意思決定しない
- Reviewer Agent: 品質チェックと検証のみ。修正しない

👤 第4章:プロファイル — 1台で複数のHermesを独立運用

プロファイルは完全に隔離されたHermes環境です。設定・記憶・セッション・スキル、すべて独立しています。

コマンド 内容
hermes profile create mybot 完全新規プロファイル
hermes profile create work --clone APIキーとモデル設定のみ引継ぎ(記憶は新規)
hermes profile create backup --clone-all 記憶含めて完全複製

活用例:

# ターミナル1:コーディングアシスタント
coder chat

# ターミナル2:リサーチアシスタント(記憶もスキルも完全独立)
research chat

🏭 第5章:本番デプロイ チェックリスト

  • hermes doctor でエラーなし
  • APIキーは .env に記述(config.yaml には書かない)
  • GATEWAY_HEARTBEAT=true 設定済み
  • ユーザーホワイトリスト設定済み(TELEGRAM_ALLOWED_USERS
  • 承認モード設定済み(smart / manual
  • サーバータイムゾーン確認済み(timedatectl で要確認)
  • Cronジョブは本番投入前に手動検証済み

📊 トラブルシューティング早見表

問題 原因 解決策
エージェントが覚えない セッションが短すぎる / 重要と判断されず 「長期記憶に保存して」と明示
サブエージェントが背景を知らない contextが未設定 contextにファイルパス・エラー内容・依存関係を全部書く
Cronが動かない タイムゾーン不一致 / Gateway未起動 timedatectl 確認 → Gateway確認 → 手動実行
APIコスト爆増 並列数が多すぎる 2〜3に制限、サブタスクは安価なモデルで
Tirithが邪魔 承認モードが厳しすぎる smart モードに変更

🔧 デバッグコマンド集

hermes doctor              # 総合診断 — まずこれを実行
hermes memory status       # 記憶システムの状態確認
hermes mcp status          # MCP接続の状態確認
hermes cron list           # 全Cronジョブ一覧
hermes cron run [ジョブ名]  # Cronジョブの手動テスト実行
hermes debug share         # 匿名化デバッグレポート生成

✅ まとめ

Hermes Agentは魔法ではありません。本質はたった3つです:

  1. 記憶:「忘れた」を解決する → でも大事なことは自分から明示する
  2. スキル:「これどうやるんだっけ」を解決する → 繰り返しパターンをSOP化
  3. サブエージェント:「1人じゃ無理」を解決する → ただし完全なコンテキストが必須

初心者の8割は「記憶は自動だと思い込む」と「サブエージェントに背景を伝えない」でつまずきます。この2つを押さえれば、8割の痛みは消えます。

まずは 「長期記憶に保存して」「context に全部書く」、この2つから始めてみてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?