はじめに
こんにちは!株式会社NeurestXの溝部です。
近年、LLMにタスクの計画から実行までを任せる「AIエージェント」が次々と登場しています。今回検証する 「Hermes Agent」 は、数あるAIエージェントの中でも少し変わった特徴を持っており、特に 「自己改善(self-improving)」 の仕組みが非常に特徴的なツールです。
Hermes Agentの特徴
Hermes Agentはターミナル上で独立して動くCLIベースのAIエージェントです。ターミナルで動く強力なAIエージェントといえば、Anthropicの 「Claude Code」 、OpenAIの 「Codex CLI」 が代表的です。Claude Code、Codex CLIはclaude Opus 4.7、GPT 5.5などの圧倒的な知能を使ってプロジェクトのタスクをこなす強力なツールです。
それに対して、Hermes Agentの強みはタスクをこなす過程で 「自己改善」 していくことです。単にその場限りの問題を解決して終わるのではなく、過去の対話や失敗から得た情報をもとに、自分専用のスキルライブラリとして自動的に蓄積・体系化していきます。成功や失敗の経験から新しいスキルを自動的に生成し、独自のスキルライブラリを構築していくのが最大の特徴です。
また、似たツールとして 「OpenClaw」 も存在します。OpenClawはユーザーのデバイス上で動くパーソナルAIアシスタントですが、両者の決定的な違いは 「スキルの獲得方法」 です。OpenClawは、人間が事前に追加したスキルを用いて、与えられたワークフローを忠実にこなすことに特化しています。Hermes Agentは、課題に直面した際、自律的に新しいスキルを生成し、自分の能力そのものを改善していく「自己改善型」の設計思想を持っており、この点が根本的に異なります。
環境構築
今回は、クラウドのLLMに依存せず完全なローカル環境を構築するため、以下のデスクトップPC環境で環境構築を行いました。
- CPU: Intel Core i7-14700F
- GPU: NVIDIA GeForce RTX 4070 (VRAM 12GB)
- RAM: 32GB
- OS: Windows 11 (WSL2 / Ubuntu)
Hermes Agentのインストール
Windows 11のネイティブ環境へのインストールはサポートされていないため、WSL2(Ubuntu)上で以下のコマンドを実行してインストールしました。
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
インストール完了後、次のコマンドを実行してセットアップを行います。
hermes
ここでは使用するLLMのモデルなどを設定します。今回はローカル環境での実行のため、LM Studioというツールを使用し、そのローカルサーバを利用しました。
使用するモデルにはGoogleがオープンソースで公開している「Gemma 4」を選びました。Gemma 4には様々なモデルサイズがありますが、今回の検証では比較的軽量な「gemma-4-E4B-it」と複雑なタスクを行うための「gemma-4-26B-A4B-it」を使用しました。具体的にはHuggingFaceからUnslothの量子化されたモデル(GGUF形式)をLM Studioにインストールし、以下の設定で利用しました。
会話をしてみる
セットアップが終了するともう一度 hermes とコマンドを打つことでHermes Agentが起動し、対話ができるようになります。今回の対話では、軽量なモデルである gemma-4-E4B-it を使用しました。しかし、デフォルトでは返答が英語になってしまい会話がしづらかったため、「これからの回答を日本語にするように設定を保存してほしい」とHermes Agentに頼みました。
すると、Hermes Agentは preparing memory... と自律的にツールを呼び出し、回答を日本語で行うという設定を保存してくれました。
具体的には、以下のファイルが更新されていました。
- パス:
~/.hermes/memories/USER.md - 書き込まれた内容:
User prefers all responses to be in Japanese.
これが最初に述べたHermes Agentが行う「自己改善」の一つです。Hermes Agentには 「USER.md」 と 「MEMORY.md」 という二つの永続メモリが存在します。
- USER.md:ユーザーの好みやルール(今回の日本語設定など)
- MEMORY.md:プロジェクトの環境や規約など
このシステムの特長として、無制限に記憶を増やすのではなく、文字数制限が設けられています。記憶領域が上限に達すると、自動的に古い情報を要約・統合し、重要な情報だけを残してくれます。
Type Challengesへの挑戦
次にテストとして、Githubで公開されているTypeScriptの型パズルである 「Type Challenges」 を解かせてみました。Type Challengesは、TypeScriptの型システムの仕様を活用し、テストケースを満たす複雑な「型」を構築していくプロジェクトです。難易度は初心者から上級者までを対象とした、「Warm-up」、「Easy」、「Medium」、「Hard」、「Extreme」の5つの難易度が設定されています。
これをAIエージェントに解かせるには、コード補完力だけでなく、エラーメッセージからエラーの原因を特定し、自律的に修正を繰り返すループが不可欠です。
このテストでは高度な論理的思考が必要なため、推論能力に優れた gemma-4-26B-A4B-it を使用しました。ローカルで動くLLMが、自律的にどこまでこの問題を解くことができるのか、Hermes Agentに「問題を解いて」と指示を出しました。
その結果、Warm-up / Easy / Mediumといった、簡単な問題は自律的に解くことができました。しかし、Hard以上の問題では、複雑な制約を処理しきれず、型エラーの無限ループに陥ってしまいました。
このテストを終了した後、Hermes Agentは自律的に ~/.hermes/skills/software-development/type-challenges-pick-implementation/SKILL.md というファイルを作成していました。このファイルには、Type Challengesを解くための方法が定義されており、次に似たようなタスクを行う際に、Hermes Agentはこの SKILL.md を読み込み、最適化された処理を行うことができます。これもHermes Agentが行う 「自己改善」 の一つです。
おわりに
今回は、Hermes Agentをローカル環境で構築し、Type Challengesというテストを行いました。今回の環境ではHard以上の難易度の問題を解くことはできませんでしたが、モデルの選定や、設定などを変更してさらに最適化すれば解くこともできるかもしれません。
皆さんもぜひ「Hermes Agent」を導入して、「自分だけの成長するAIエージェント」を作ってみてください。
参考リンク


