Hermes Agent
Nous Research — 経験からスキルを生み、セッションを越えてユーザをモデル化するエージェント
Hermes Agent は Nous Research が公開する Python 製の AI エージェント。単発のチャットではなく、スキルの自動生成・改善、永続メモリと会話検索、組み込み cron とプラットフォームへの配信、隔離サブエージェントの並列起動、マルチチャネル Gateway、ターミナル実行バックエンドの切替を一体で持つ。モデルプロバイダは固定されず、hermes model で切り替え可能。
このページは NousResearch/hermes-agent の README、pyproject.toml、TUI と RL 環境のドキュメントをもとに、理解に必要な構造へ圧縮している。詳細仕様は公式ドキュメントを参照。
README が強調するのは「経験から学ぶ」一連の流れだ。複雑タスクのあとにスキルを自動生成し、利用中に内容を改善する。メモリはエージェント側でキュレーションされ、必要に応じてナッジされる。
- セッション検索: FTS5 ベースの検索に LLM 要約を組み合わせ、過去会話を引き戻す。
- ユーザモデル: Honcho による弁証法的ユーザモデリング(README 記載)。
- 定時オートメーション: 組み込みスケジューラで任意プラットフォームへジョブ結果を配信(日次レポートやバックアップ等を自然言語で記述)。
- 標準: agentskills.io オープン標準との互換。
README の機能表では、隔離されたサブエージェントを並列に走らせたり、Python からツールを RPC 経由で呼び出して多段パイプラインを短いターンに畳む、といった委譲・並列化の説明もある。
バッチ軌道生成、Atropos RL 連携、軌道圧縮など、ツール呼び出しモデル向けの研究機能も README に列挙されている。
README は「好きなモデルを使える」ことを前面に出している。Nous Portal、OpenRouter(200+ モデル)、NovitaAI(Model API / Agent Sandbox / GPU Cloud)、NVIDIA NIM、Xiaomi MiMo、z.ai/GLM、Kimi/Moonshot、MiniMax、Hugging Face、OpenAI、独自エンドポイントを切り替えられる。
hermes model でプロバイダとモデルを変更。OpenAI 互換 API だけに閉じない。pyproject.toml は messaging、honcho、mcp、acp、bedrock、mistral、web などを optional dependency として分離。hermes、hermes-agent、hermes-acp の CLI エントリを提供。対話の起点は ターミナル UI(hermes)か、Gateway(hermes gateway)経由のメッセージングのどちらか。起動後は多くのスラッシュコマンドが共通。
| 操作 | CLI | メッセージング |
|---|---|---|
| 会話開始 | hermes | gateway setup → start → ボットへ送信 |
| 新規スレッド | /new / /reset | 同左 |
| モデル変更 | /model [provider:model] | 同左 |
| スキル | /skills / /<skill> | 同左 |
| コンテキスト圧縮 / 利用状況 | /compress、/usage、/insights [--days N] | /compress、/usage、/insights [days] |
| 中断 | Ctrl+C または新規メッセージ | /stop または新規メッセージ |
ui-tui/README.md では、Hermes の TUI は React + Ink で画面を持ち、Python 側の tui_gateway がセッション、ツール、モデル呼び出し、コマンド処理を担うと説明されている。
approval.request、clarify.request、sudo.request、secret.request などの構造化入力をブロッキング分岐として扱う。エージェントの実行環境はローカルからクラウドまで選択できる。README は 7 種のターミナルバックエンド(local、Docker、SSH、Singularity、Modal、Daytona、Vercel Sandbox)を列挙する。Daytona と Modal はアイドル時に環境を休止でき、セッション間のコストを抑えられる旨が強調されている。
| バックエンド | 想定用途のイメージ |
|---|---|
| local | 開発機・ワークステーション上のシェル |
| Docker | コンテナ隔離 |
| SSH | リモート VM |
| Singularity | HPC / コンテナ環境 |
| Modal | サーバレス Python 実行(休止で低コスト) |
| Daytona | クラウド開発環境・休止可能な実行 |
| Vercel Sandbox | サーバレス実行(README の第 7 バックエンド) |
environments/README.md は、Hermes のツール呼び出し能力を Atropos の RL 訓練・評価ループに接続する層として environments/ を説明している。通常の会話エージェントだけでなく、ツール利用モデルの評価・SFT データ生成・RL 訓練に転用できる。
| 層 | 役割 |
|---|---|
HermesAgentBaseEnv | Terminal backend、tool resolution、agent loop、ToolContext を Atropos の BaseEnv に接続。 |
HermesAgentLoop | messages + tools を送信し、tool_calls を実行し、結果を会話に戻す multi-turn ループ。 |
ToolContext | 報酬関数から同じ rollout の terminal/file/web/browser 状態を検証できるハンドル。 |
tool_call_parsers | VLLM の raw output から Hermes、Mistral、Qwen、DeepSeek、Kimi、GLM 形式の tool_calls を復元。 |
公式ワンライナーは Linux / macOS / WSL2 / Termux 向け(install.sh)。ネイティブ Windows は README 上 早期ベータとして PowerShell 用 install.ps1 が用意されている(最も検証が厚いのは WSL2 上の Linux 手順)。ブラウザのダッシュボード内チャットは POSIX PTY 前提のため README では WSL2 が必要と明記されている。Termux では .[all] ではなく .[termux] 系の手動手順が案内されている。
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc # または source ~/.zshrc
hermes
Windows(PowerShell)の例:
irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1 | iex
よく使うコマンド
hermes # 対話 UI
hermes model # プロバイダ・モデル選択
hermes tools # ツール有効化
hermes gateway # メッセージング Gateway
hermes setup # セットアップウィザード
hermes claw migrate # OpenClaw からの移行(--dry-run 等)
hermes update # 最新版へ更新
hermes doctor # 診断
hermes claw migrate で設定・メモリ・スキル・API キー等をインポート可能。README にプリセットと --dry-run が記載されている。
- 公式ドキュメント(Quickstart、CLI、設定、Gateway、セキュリティ、ツール、スキル、メモリ、MCP、cron、Context Files、Architecture など)
- GitHub: NousResearch/hermes-agent
- Discord(Nous Research)