Hermes Agent: 入門とコア機能
最終更新:2026-08-31
Hermes Agentは、学習するパーソナルアシスタントのような存在です。会話のたびにあなたを覚え、新しいスキルを自分で学び、毎回あなたのことをより深く理解してくれます。
💡 ヒント: Hermes Agentは2026年2月にNous ResearchからMITライセンスでリリースされました。コア哲学は「The agent that grows with you」——エージェントがあなたに適応するのであって、その逆ではありません。
📋 前提知識: 初心者向け、基本的なコマンドライン知識があると役立ちます
1. 学ぶ内容
| # | 内容 |
|---|---|
| ❶ | Hermes Agentの位置づけとコア価値 |
| ❷ | 自己進化:メモリ+自動スキル学習 |
| ❸ | 70以上の組み込みツールと15以上のプラットフォーム連携 |
| ❹ | プライバシーファーストのローカルアーキテクチャ |
| ❺ | 他のAIエージェントフレームワークとの比較 |
コード例の出力について
本コースのコード例は決定性/非決定性分離パターンを採用しています。これはAIエージェントツールチュートリアルの業界ベストプラクティスです:
| マーカー | 意味 | あなたの出力 |
|---|---|---|
| 出力: | 決定的な結果(インストール、設定、カウントなど) | 例とほぼ一致するはず |
| インタラクションフロー: | エージェントの動作フロー(LLM呼び出し、ツール選択など) | 実際のテキストは異なるが、フローは類似 |
| 検証方法: | 演習結果の確認方法 | 記載された手順に従って確認 |
💡 なぜ違うのか? 従来のプログラミング:
1 + 1 = 2(常に同じ)。AIエージェントツール:agent.chat("コードを分析") = ???(毎回異なる)。これはAIエージェントツールの本質的な特性であり、バグではありません。
2. ストーリー
(1) 課題:毎回の会話で最初からやり直し
Bobは毎日ChatGPTを仕事に使っていますが、新しいセッションになるたびにプロジェクトのコンテキスト、スタイルの好み、技術スタックを再説明しなければなりません。System Promptを書いてみましたが、モデルは常に以前の合意を「忘れて」しまいます。
(2) 解決策:エージェントがすべてを記憶し、自ら学ぶ
AliceはHermes Agentをデプロイし、最初の会話で技術スタックと作業習慣を伝えました。翌日、エージェントは自動的に正しいコンテキストを呼び出し、さらに/learnで「React Component Review」スキルを作成しました:
BASH
# Hermesは以前の会話を自動的に呼び出す
> Help me review this component
Agent: [Recall] You prefer TypeScript + Tailwind, reviewed 3 components last time...
[Auto-invoke skill: react-component-review]
# 新しいスキルを教えると、永遠に記憶する
/learn When reviewing components, always check: 1) type safety 2) accessibility 3) performance
→ Skill "react-component-review" created and saved
Bobは驚きました:「これはチャットボットじゃない、成長する同僚だ!」
3. Hermes Agentとは?
(1) 定義
Hermes Agent = LLM + 永続メモリ + 自己進化スキル + ツールシステム + マルチプラットフォームアクセス
| コンポーネント | 役割 | 例え |
|---|---|---|
| LLM | 理解、推論、意思決定 | 脳 |
| 永続メモリ | セッションをまたいだユーザー嗜好とコンテキストの記憶 | 長期ノート |
| 自己進化スキル | スキルの自動作成と改善 | 自習能力 |
| ツールシステム | 実際の操作のための70以上の組み込みツール | 手 |
| マルチプラットフォームアクセス | Telegram/Discord/Slackなど | 複数のコミュニケーションチャネル |
(2) チャットボット vs 一般的なエージェント vs Hermes Agent
| 次元 | チャットボット | 一般的なエージェント | Hermes Agent |
|---|---|---|---|
| メモリ | なし/セッションレベル | セッションレベル | セッション横断的で永続 |
| スキル学習 | なし | 手動コーディング | 自動作成と改善 |
| ツール数 | 0-5 | 10-30 | 70以上 |
| プラットフォーム連携 | 1 | 2-5 | 15以上 |
| プライバシー | クラウド処理 | デプロイによる | ローカルファースト、ゼロテレメトリ |
| モデル対応 | 固定 | 限定 | 200以上のモデル |
4. コア機能の詳細
(1) 永続メモリシステム
Hermesのメモリは単なる会話履歴ではなく、3層アーキテクチャです:
graph TD
A[ユーザー入力] --> B[ワーキングメモリ<br/>現在の会話コンテキスト]
B --> C[長期メモリ<br/>セッション横断の嗜好/知識]
C --> D[ユーザーモデル<br/>Honcho深層プロファイリング]
D --> E[パーソナライズされた応答]
| 層 | 内容 | 期間 |
|---|---|---|
| ワーキングメモリ | 現在の会話のコンテキストと意図 | 単一セッション |
| 長期メモリ | ユーザー嗜好、プロジェクト情報、共通パターン | 永続 |
| ユーザーモデル | Honchoがモデリングした行動プロファイル | 永続+自動更新 |
(2) 自己進化スキルシステム
Hermesは2つの方法で新しいスキルを獲得します:
PYTHON
# 方法1: /learnコマンド、ユーザー主導の教育
/learn When I ask you to write Python code, always use type hints and docstrings
# 方法2: 自動学習、エージェントが繰り返しパターンを観察してスキルを作成
# エージェントが特定のフォーマットをいつも要求していることに気づく...
# → 自動的に "python-code-style" スキルを作成
(3) 70以上の組み込みツール
| カテゴリ | ツール例 | 数 |
|---|---|---|
| ファイルシステム | ファイル読み書き、ディレクトリ管理、検索 | 10以上 |
| Web | ブラウザ、検索、スクレイピング | 8以上 |
| コード実行 | Python、Shell、マルチ言語 | 5以上 |
| ビジョン | 画像理解、OCR、スクリーンショット | 5以上 |
| 音声 | TTS、STT | 4以上 |
| データ | データベース、API呼び出し | 10以上 |
| コミュニケーション | メール、メッセージング、通知 | 8以上 |
| システム | プロセス管理、Cronタスク | 5以上 |
(4) 15以上のプラットフォーム連携
YAML
# 1つのエージェント、全プラットフォーム
platforms:
- telegram
- discord
- slack
- whatsapp
- signal
- twitter
- email
- web
- terminal
- vscode
- api
- n8n
- home_assistant
- custom
(5) プライバシーファーストアーキテクチャ
graph LR
A[ユーザーデータ] --> B[ローカルストレージ]
B --> C[暗号化データベース]
C --> D[ゼロテレメトリ<br/>データアップロードなし]
D --> E[ユーザーの完全制御]
F[API呼び出し] --> G[モデル推論のみ<br/>会話保存なし]
5. 技術アーキテクチャ概要
┌──────────────────────────────────────────────┐
│ プラットフォーム層 │
│ Telegram / Discord / Slack / WhatsApp / ... │
├──────────────────────────────────────────────┤
│ エージェントコア │
│ ┌─────────┐ ┌─────────┐ ┌──────────┐ │
│ │ メモリ │ │ スキル │ │ ツール │ │
│ │ システム│ │ エンジン│ │ レジストリ│ │
│ └────┬────┘ └────┬────┘ └────┬─────┘ │
│ └──────┬────┘──────────┘ │
│ ┌────┴────┐ │
│ │ LLM │ ← 200以上のモデル │
│ └─────────┘ │
├──────────────────────────────────────────────┤
│ インフラストラクチャ │
│ Cron / Checkpoint / Delegate / MCP │
└──────────────────────────────────────────────┘
6. 研究向け機能
Hermes Agentには、AI研究者向けのバッチ実験機能も含まれています:
PYTHON
# バッチ軌跡生成
from hermes import TrajectoryGenerator
generator = TrajectoryGenerator(
model="gpt-4o",
tasks="research_tasks.jsonl",
output_format="sharegpt"
)
trajectories = generator.run(batch_size=10)
# → 学習データとして直接使用可能な標準ShareGPT形式で出力
| 研究機能 | 説明 |
|---|---|
| バッチ軌跡生成 | N個のタスクを一度に実行し、完全なエージェント軌跡を収集 |
| ShareGPTエクスポート | 標準形式、ファインチューニングデータとして直接利用可能 |
| チェックポイントリカバリ | 中断後、チェックポイントから実験を再開 |
| カスタム評価 | エージェントのパフォーマンスを定量化する内蔵評価フレームワーク |
7. 競合との比較
| 機能 | Hermes Agent | AutoGPT | LangChain Agent | CrewAI |
|---|---|---|---|---|
| 永続メモリ | ✅ 3層+ユーザーモデリング | ❌ | ❌ | ❌ |
| 自動スキル学習 | ✅ /learn | ❌ | ❌ | ❌ |
| 組み込みツール | 70以上 | 20以上 | 30以上 | 15以上 |
| プラットフォーム連携 | 15以上 | 3 | 5 | 2 |
| ローカルデプロイ | ✅ ゼロテレメトリ | ✅ | ✅ | ✅ |
| モデル対応 | 200以上 | 10以上 | 50以上 | 20以上 |
| 研究機能 | ✅ バッチ軌跡 | ❌ | 一部 | ❌ |
| オープンソースライセンス | MIT | MIT | MIT | MIT |
❓ よくある質問
Q Hermes AgentとChatGPTの違いは?
A ChatGPTは永続メモリもツール実行もスキル学習もない会話ツールです。Hermes Agentは、あなたを覚え、スキルを学び、操作を実行し、複数のチャットプラットフォームに接続する完全なエージェントフレームワークです。
Q インターネット接続は必要ですか?
A いいえ。Hermesはローカルモデル(Ollamaなど)をサポートしており、完全にオフラインで動作します。クラウドベースのモデルを使用する場合のみインターネットが必要です。
Q データは安全ですか?
A Hermesはプライバシーファーストアーキテクチャを採用し、すべてのデータはローカルに保存、ゼロテレメトリ、会話内容のアップロードなしです。唯一の外部通信はモデルAPI呼び出しです(クラウドモデル使用時)。
Q 誰向けですか?
A 開発者(ワークフローの自動化)、研究者(バッチ軌跡生成)、AI愛好家(パーソナルアシスタントの構築)、企業(プライバシーコンプライアントなAIソリューション)。
Q LangChain Agentに対する優位性は?
A コアの優位性は永続メモリと自己進化です。LangChain Agentは毎回ゼロから始めますが、Hermesはすべてを記憶し自動学習するため、長期的な頻繁使用に最適です。
Q どのプログラミング言語に対応していますか?
A Hermes Agent自体はPythonで書かれていますが、コード実行ツールを通じて任意の言語を実行できます。設定ファイルはYAML/JSONを使用します。
📖 まとめ
- Hermes AgentはNous Researchのオープンソース自己進化AIエージェント——「あなたと共に成長するエージェント」
- 3層メモリ:ワーキングメモリ+長期メモリ+Honchoユーザーモデリング
- 自動スキル学習:
/learnコマンド+観察モードの自動作成 - 70以上の組み込みツールでファイルシステム、Web、コード、ビジョン、音声などをカバー
- 15以上のプラットフォーム連携——1つのエージェント、全プラットフォーム
- プライバシーファースト:ローカルストレージ、ゼロテレメトリ、ユーザーの完全制御
📝 練習問題
- 基本(⭐): エージェントに記憶させたい5つの嗜好をリストアップし、永続メモリがなぜあなたにとって価値があるかを説明してください。
- 中級(⭐⭐): Hermes Agentと現在使っているAIツールを比較し、Hermesが独自の優位性を持つ3つのシナリオを特定してください。
- 上級(⭐⭐⭐): Hermesのメモリ+スキル+ツール機能を活用した自動化ワークフローを設計してください。フローチャートを描き、各ステップで使用するコンポーネントをラベル付けしてください。