コンセプト
「Hermes Agent」は、Nous Researchによって開発されたオープンソースのAIエージェントです。これは、あなたのサーバー上で継続的に動作し、長期記憶を持ち、時間とともに学習でき、多くのチャットプラットフォーム/ツールに接続でき、さらにブラウザの自動操作(ブラウザオートメーション)をサポートするエージェントだと説明されています。このプロジェクトはMITライセンスのもとで公開されています。
通常、このAIエージェントは実際のアシスタントとして機能することを想定しています。メッセージへの返信をするだけ、あるいは情報のために外部サービスに接続するだけではありません。たとえば、あなたのマシンを管理したり、Webアプリのデプロイを手助けしたりもできます。また、長期記憶によって、習慣やメモを覚えられます。同時に、自己学習も可能です。
- 同じ種類のタスクを繰り返すと、毎回同じ手順を手作業で考え直さなくて済むように、再利用可能なスキルを先回りして作成できます。
- これにより、類似または反復作業でのトークン使用量が削減されます。
- TelegramやDiscordのようなモバイル向けチャットアプリに対して、複数のゲートウェイをサポートしているため、スマホからAIエージェントとマシンを操作できます。
インストール
実行:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
次にターミナルを更新してください:
source ~/.bashrc # シェルをリロード(または: source ~/.zshrc)
これで、hermes コマンドがターミナルで利用できるようになります。次に、あなたの環境で hermes のためのLLMを設定するために hermes setup を実行する必要があります。クイックセットアップかフルセットアップかはお好みで選べます。ここではLLMのみを設定するため、クイックセットアップを選びます。
私は Minimax global を使用しているので、このオプションを選びます。
次に、APIキーを渡すよう求められます。
その後、モデルを選ぶ必要があります。
次に、メッセージングプラットフォームを設定するかどうかを尋ねられます。この場合は、このステップはスキップします。この投稿の後半で、ゲートウェイの設定方法を案内します。
次に hermes で動作確認します。期待したプロンプトが表示されれば、エージェントのインストールは正常に完了しています。
「それは何か」を尋ねてみましょう。
SOUL.md
AIを使うとき、通常はシステムプロンプトを定義して、モデルが自分は誰で、何をすべきかを理解できるようにします。これによって、特定の種類の作業に集中しやすくなります。たとえば、システムプロンプトがない状態で「Hello World」のような単純なプログラムを求めると、モデルは最も馴染みのある言語を選ぶかもしれません。常に特定の言語で返してほしい場合、そうした指示に毎回一貫して従うとは限りません。
システムプロンプトは、この挙動をセッション間で標準化するための方法です。PHPの専門家として振る舞ってほしいなら、次のように含めることができます:
あなたはPHPの専門家です
そうすれば、以降のすべてのプロンプトはその文脈で解釈され、モデルはPHP向けの判断や知識を使って回答しようとします。
Hermes Agent にはSOUL.mdがあり、システムプロンプトと同様の役割を果たします。使い方を最適化するために、エージェント用に SOUL.md をセットアップしてください。デフォルトでは次の場所にあります:
~/.hermes/SOUL.md
それを次のように変更しました:
その後、そのセッションで尋ねてみたところ、いまではPHPの専門家のように振る舞うようになりました。

セッション
この時点で、自分にこう問いかけました。なぜこんなに複雑にする必要があるのだろう? 1つのセッションを保持して、最初から最後まで質問し続ければ、前の文脈を覚えてくれる。システムプロンプトをわざわざ使う必要があるのだろうか。そもそも、毎回新しいセッションを作る時間なんて誰にもない。
最初はそれでもうまくいく可能性があります。最初のプロンプトでロールを定義しておけば、プロンプト100の時点でもまだ覚えているかもしれません。ですが時間が経つにつれて、挙動が劣化することがあります。長い1つのセッションにあまりに多くのトピックを詰め込みすぎると、モデルが混乱することがあります。
例: workspace1 で作業し、出力を result に保存するように頼みます。その後、後で workspace2 に切り替えます。さらに後で、もう一度 result に保存するように頼んだ場合、アクティブな文脈が変わったと推測するため、workspace2/result をデフォルトにしてしまうことがあります。別々の2つのセッションを使い、セッション1を workspace1、セッション2を workspace2 にすると、同じコマンドでもそれぞれのワークスペースに正しく対応付けられます。
長く作業するほど、モデルには有限のコンテキストウィンドウもあります。
![]()
このステータスバーは、モデルが minimax 2.7 highspeed で、コンテキストウィンドウが 204.8k であることを示しています。ユーザープロンプトとモデルの返信は、それぞれその予算の一部を消費します。この投稿では、1つの質問と回答の組が約 11.7k トークン消費していることが示されています。
履歴がウィンドウ制限を超えて増えていくと、モデルは以前の文脈を圧縮します。たとえば、だいたい 200k トークンあたりになると、文脈を約 10k トークン程度に要約することがあります。その要約を使って続けることはできますが、圧縮された記憶は詳細を失います。以前のいくつかの情報は、もはや存在しないかもしれません。
だからこそ、システムプロンプトを保持し、異なるタスクごとに新しいセッションを開くことが有用です。次のようにして新しいセッションを開始できます。
/new
プロンプト
ここはAIとコミュニケーションするためのプロンプト領域です。ここで命令や依頼を出します。
この例では、YouTube動画の要約をするように依頼しました。Hermes Agent は、スキルの呼び出しやブラウザのオープンなど、実行する各ステップを表示します。
そして、これが結果です:
ゲートウェイ
チャットアプリ(たとえば Telegram や Discord)を通じてAIエージェントを使いたい場合、チーム利用であれ個人利用であれ、ゲートウェイを設定してください。
例として Telegram を使いました。まず Telegram BotFather を使ってボットを作成します。BotFather は次を提供してくれます:
- ボットのアクセスハンドル(ボットを開くため)
- ボットトークン
設定するには:
hermes gateway setup
次にTelegramのゲートウェイを選び、ボットトークンをbot tokenに貼り付け、@userinfobotでallow user idを設定します。

チーム全員がボットとチャットできるようにするなら、open accessを有効にしてください。最初に手動で承認したい場合は、Use DM pairingを使用します。
このステップでは、開放アクセスを選択して、このチャンネル内の任意のユーザーがhermesエージェントとチャットできるようにするか、ペアリングのDMを選択します。開放アクセスの場合は、どのメッセージにボットが応答し、どのメッセージには応答しないかを承認できます。
ゲートウェイモードの場合:
- オプション1:手動モード。毎回
hermes gateway startを実行します。 - オプション2:サービスモード。ゲートウェイはバックグラウンドのサービスとして自動的に動作します。
同じブリーフ(簡単な依頼)ビデオタスクを、今回はTelegram経由で実行してテストします。
結果:
結論
簡単な第一印象です。次回の記事では、さらに多くのトピックを詳しく扱います。助けが必要なら、コメントしてください。


























