ClaudeでUnlimited Hermes Agentを動かす

ClaudeでUnlimited Hermes Agentを動かす

Hermes Agentは、40以上の組み込みtools、subagent delegation、cronによるscheduled task、Telegram・Discord・Slack・WhatsApp・Signal・Matrixなどのmulti-channel messaging、そして自己改善のためのlearning loopを備えた自律型AI agent frameworkです。キーボードの前にいるときだけ動く対話型coding toolとは異なり、Hermesは24/7で稼働し、メッセージを処理し、scheduled taskを実行し、自分のskillを継続的に改善します。この常時稼働という性質により、Hermesはこのガイドの中でも特にAPI利用量が大きいtoolであり、定額のClaude無制限アクセスが最も効果を発揮するユースケースです。AI Prime Tech UnlimitedのようなClaude API gatewayを使うことで、claude api 料金を毎回気にせず、agentを本来の設計どおり動かし続けられます。

Hermesが24時間API tokenを消費し続ける理由

Hermesは、必要なときに起動して使い終わったら閉じるタイプのtoolではありません。一度デプロイすると、Telegram、Discord、Slackなど複数のmessaging channelを同時に監視し続けます。どのchannelであっても、incoming messageが届くたびにinference callが発生します。cronで設定したtaskが実行されるたびにもinference callが発生します。learning loopの各iterationでもinference callが発生します。agentは眠らず、API消費も止まりません。Claudeを単発のchatや手動coding補助として使う場合とは、負荷の性質がまったく違います。

subagent delegationは、この消費量をさらに押し上げます。Hermesが複雑な依頼を受けると、main agentだけで無理に処理するのではなく、専門化されたsubagentへsubtaskを委任します。それぞれのsubagentは独立したClaude conversationを持ちます。1つのuser messageから、調査担当、下書き担当、検証担当の3つのsubagentが起動することもあります。各subagentは別々にtokenを消費するため、1回の依頼が複数のAPI callへ展開されます。日々のやり取りが数十件になると、subagentによる追加コストはかなり大きくなります。

最後の増幅要因がlearning loopです。Hermesは定期的に自分の過去のinteractionを見直し、どこを改善できるかを特定し、内部skillを更新します。この自己改善processはscheduleに基づいて実行され、通常は数時間ごとに走るよう設定されます。過去のconversationを分析し、改善案を生成し、今後の応答に活かすために複数のinference callを使います。重要なのは、この処理はuserがagentと会話しているかどうかに関係なく実行される点です。つまりHermesでは、activeなuser trafficだけでなく、background automationそのものが継続的なAPI利用を生みます。per-token課金ではこの常時利用が心理的なブレーキになりますが、claude 無制限の定額gatewayなら、agentの設計思想に沿って止めずに運用できます。

Environment設定とAPI setup

HermesはAPI設定を~/.hermes/.envから読み込みます。ANTHROPIC_BASE_URLにはhttps://claudeapikey.devを設定します。root hostのみを指定し、/v1は付けません。ANTHROPIC_API_KEYにはAI Prime Tech Unlimitedで発行したkeyを設定します。これらのenvironment variableは標準的なAnthropic SDK conventionsに従っており、SDK側が/v1/messagesを自動的に付与します。Claude API gatewayを使う場合でも、既存のAnthropic互換clientやSDKの設定を大きく変えずに接続できます。

まだ.env fileがない場合は、mkdir -p ~/.hermes && touch ~/.hermes/.envで作成し、2つのvariableを追加します。Hermesはstartup時にこのfileを読み込み、inference engineへ設定を渡します。値を変更した場合は、Hermes processを再起動して新しい設定を反映させてください。claude api キーを差し替えるときも同様です。特に長時間稼働させているdaemonやsystemd serviceでは、fileを書き換えただけではrunning processに反映されないことがあるため、restartを忘れないようにします。

Docker container、systemd service、cloud deploymentなど、.env fileを別の場所に置きたいdeploymentでは、HERMES_CONFIG_DIR environment variableを設定してconfiguration directoryを指定します。Hermesはdefaultの~/.hermes/ではなく、HERMES_CONFIG_DIRで指定されたdirectory内の.envを探します。これにより、container imageにはsecretを含めずruntime mountで差し込む、environmentごとに別configを使う、stagingとproductionで異なるClaude API gatewayを使う、といった運用がしやすくなります。claude api 購入後に取得したkeyを安全に扱うには、shell historyへ直書きするよりも、secret managerやrestricted permissionの.env fileを使う構成が現実的です。Claude Codeから同じgatewayを使う場合のclaude code api キー設定と考え方は近く、base URLとAPI keyをAnthropic互換のenv varとして揃えるのが基本です。

Advanced routingのためのCustom Provider

Hermesはcustom_providers configurationをサポートしており、modelやtaskごとに異なるAPI endpointを使いたいadvanced setupで役立ちます。~/.hermes/config.yamlに、name、base_url、api_key、supported_modelsを持つprovider entryを定義します。これにより、Opus requestをあるendpointへ、Haiku requestを別のendpointへ送ることができます。また、primary providerが利用できない場合のfallback providerを用意する構成も可能です。企業利用や複数環境の運用では、routing policyを明示できることが重要になります。

多くのUnlimited userにとっては、AI Prime Tech gatewayを指すsingle providerだけで十分です。AI Prime Tech UnlimitedはAnthropic互換のgatewayとして動作するため、Hermes側からはstandard providerのように扱えます。custom_providersが特に意味を持つのは、trafficを分けたい場合です。たとえば、priorityの低いlearning loop callをuser interactionとは別endpointに逃がす、軽いtaskにはlocal modelを使い、複雑なreasoningだけClaudeに回す、あるいはregionや組織単位でproviderを分けるといった使い方です。

Provider selectionはautomaticにもexplicitにもできます。automaticの場合、Hermesがtask complexityなどに基づいてproviderを選びます。explicitの場合、config内で特定のcapabilityにproviderを割り当てます。ただしUnlimited環境では、最もシンプルなのはすべてを1つのproviderに集約する方法です。定額で全体をカバーできるため、claude api 料金を節約するためだけにroutingを細かく分ける必要がありません。むしろ運用上は、latency、reliability、observability、rate limitの見通しを優先して、シンプルな構成から始めるのが実務的です。ClaudeをHermesの中核推論engineとして使うなら、まずはsingle gatewayで安定運用し、必要になった段階でcustom providerを追加するのがよいでしょう。

Subagent DelegationとTask分解

Hermesはdelegate_task toolを使って、複雑な作業のためにsubagentを起動します。main agentが、依頼には複数stepや専門的な処理が必要だと判断すると、焦点を絞ったbriefを持つsubagentを作成し、その結果を待ちます。subagent自身がさらにdelegationすることもできるため、並行するconversationのtreeが作られます。これは単にpromptを長くするのではなく、問題を小さく分割し、それぞれを最適なcontextで処理するための仕組みです。

各subagentは、自分のbriefと関連toolsだけを含むfresh contextから開始します。作業中は独立して動き、自分自身のconversation historyを蓄積します。完了すると、parent agentへsummaryを返します。parent側のcontextにはdelegation instructionと返却されたsummaryが追加されますが、subagent内部の完全なconversationは含まれません。これにより、parent contextの肥大化を抑えつつ、複数の専門的な検討結果を統合できます。長い調査、コードレビュー、要件整理、計画作成のような作業では、この分離が精度と安定性の両方に効きます。

Unlimited環境では、Hermesに積極的なdelegationを許可するのが有効です。config.yamlでdelegation_thresholdを低めに設定し、agentがすべてをsingle contextで抱え込むのではなく、必要に応じてsubagentへ任せるようにします。delegationが増えるほどparallel conversationも増えますが、それぞれのconversationは目的に集中し、最適なcontext rangeに収まりやすくなります。per-token課金では、subagentを増やすほどAPI callが増えるため慎重になりがちです。しかし定額のClaude無制限gatewayなら、何体のsubagentが起動しても追加のtoken課金を心配する必要がありません。もちろんfair-useのrate limitは意識すべきですが、コスト削減のためにagentの能力を抑える必要はなくなります。

自動taskのためのCron Scheduler

Hermesには、設定可能なscheduleでtaskを実行するbuilt-in cron schedulerがあります。代表的なuse caseは、daily report generation、periodic data collection、scheduled message delivery、routine system checks、そしてlearning loopそのものです。各cron executionはfull inference callです。Hermesはtask descriptionを読み、利用可能なtoolsを使って実行し、結果を保存します。つまりcronは単なるshell command schedulerではなく、自然言語で定義した継続業務をAI agentとして実行する仕組みです。

cron taskは~/.hermes/cron.yamlにstandard cron syntaxで設定します。各entryにはschedule、natural languageで書かれたtask description、必要に応じてそのtaskで利用できるtoolsやsubagentsを指定します。忙しいHermes deploymentでは、1日を通して10個以上のcron taskが実行されることもあります。たとえば、朝にKPI reportを生成し、15分ごとにsystem healthを確認し、1時間ごとにdata sourceを更新し、夕方にsummaryをSlackへ送る、といった構成です。これらはすべてAPI tokenを消費します。

per-token billingでは、userはcost controlのためにcron taskを最小化しがちです。hourly reportではなくdaily reportにする、learning loopをdisableする、自動checkの頻度を落とす、といった調整です。しかしUnlimitedでは、役に立つ頻度でscheduleできます。system health checkを15分ごとに走らせ、reportを毎時生成し、data feedを継続的に更新できます。定額料金でscheduled execution全体をカバーできるため、API invocationごとのcostを気にする必要がありません。これはclaude api 料金を月末まで予測しやすくするだけでなく、運用設計そのものを変えます。AIに任せたいroutine workを、コスト都合で削るのではなく、必要なだけ自動化できるからです。

Multi-Channel Gateway設定

Hermesはgateway systemを通じてmessaging platformへ接続します。Telegram bot、Discord bot、Slack app、WhatsApp Business、Signal、Matrixなど、それぞれのchannelは独自のconversation stateを持ち、独立してmessageを受け取れます。どのchannelにincoming messageが届いても、responseを生成するためにinference callが発生します。1つのHermes instanceが複数channelの窓口になるため、実際の運用では常にどこかからmessageが入る可能性があります。

channelは~/.hermes/channels.yamlにplatform-specific credentialsを設定して構成します。bot token、webhook URL、API keyなど、各platformに必要なcredentialを登録します。Hermesはchannelごと、userごとにconversation threadingを管理し、active conversationごとに別々のcontextを保持します。5つのchannelに接続し、それら全体で10人のactive userがいるHermes instanceでは、50個の独立したconversation contextが成長していく可能性があります。contextが分かれていることでuserごとの継続性は保てますが、その分API利用はmessage volumeに比例して増えていきます。

このmulti-channel性こそが、per-token billingでHermesを高額にしやすい理由です。各channelは事実上、常に開いたinference faucetです。どのplatformのどのuserでも、いつでもmessageを送り、Claude callを発生させられます。特にcommunity support、internal helpdesk、customer operations、developer productivity botのような用途では、message volumeを事前に完全には読めません。Unlimitedでは、この使い方こそが想定された本命です。すべてのchannelを接続し、すべてのuserに対応し、Hermesに24/7でconversationを処理させられます。message数に応じてcostが膨らむ心配がないため、利用を制限するのではなく、応答品質やworkflow設計に集中できます。

Learning LoopとSelf-Improvement

Hermesのlearning loopは、過去のinteractionを定期的にレビューし、改善機会を見つけます。うまく処理できなかったconversationを分析し、patternを抽出し、今後のinteractionでsystem promptに注入される新しいskillを合成します。これはmulti-step inference processです。過去のconversationを取得し、それを分析し、改善提案を生成し、その提案を検証し、skill storeを更新します。単なるlogの集計ではなく、agent自身の振る舞いを継続的に調整する仕組みです。

learning loopの1 iterationでは、Hermesがhistoryを読み、patternについてreasoningし、skill updateをdraftし、self-validationするため、5回以上のAPI callが発生することがあります。数時間ごとに実行する設定にしている場合、user activityの有無にかかわらず一定のbaseline token consumptionが発生します。1か月単位で見ると、learning loopだけで数千回のAPI callになることもあります。これはHermesを賢くし続けるための投資ですが、従量課金では真っ先に削られがちな部分でもあります。

Unlimitedでは、learning loopを最大限活用するのが合理的です。継続的な改善のため、2〜4時間ごとに実行する設定が現実的です。Hermesは実際のinteractionからskillを蓄積し、時間とともに測定可能な形で改善していきます。よくある質問への回答が安定し、繰り返し発生するworkflowをより効率よく処理し、userごとの期待にも合わせやすくなります。これはHermesの最も強力な機能の1つですが、多くのuserにとってper-token billingでは常時有効化が難しい機能です。定額accessなら、learning loopを無期限に動かし続けることが現実的になります。Claude APIを購入してagentを本格運用するなら、単にmodelへrequestを投げるだけでなく、このようなself-improvement workloadまで含めて料金設計を考える必要があります。AI Prime Tech Unlimitedは、その前提でHermesを動かしたいdeveloperに向いた選択肢です。

# ~/.hermes/.env
ANTHROPIC_BASE_URL="https://claudeapikey.dev"
ANTHROPIC_API_KEY="<your AI Prime Tech Unlimited key>"

# ~/.hermes/config.yaml(任意のadvanced setup)
# model: claude-sonnet-4-5
# learning_loop:
#   enabled: true
#   interval: 4h
#   model: claude-opus-4-6
# delegation:
#   threshold: medium
#   max_depth: 3
#   subagent_model: claude-sonnet-4-5

# Hermesを起動:
# hermes start --config ~/.hermes/config.yaml

FAQ

idle状態でもHermesはどれくらいAPIを使いますか?
user messageがなくても、Hermesはcron taskとlearning loop iterationでtokenを消費します。5つのcron taskと4時間ごとのlearning loopを持つ一般的な構成では、idle時でも1日10〜20回程度のAPI callが発生します。複数channelでactive userがいる場合、消費量はmessage volumeにほぼ比例して増えます。Unlimitedならそのすべてを定額内で扱えます。

Hermesを複数channelで同時に動かせますか?
はい。channels.yamlに各channelのplatform-specific credentialsを設定します。Hermesはchannelごと、userごとに別々のconversation contextを維持します。どのchannelにincoming messageが届いてもClaude inference callが発生します。Unlimitedなら、messageごとのcostを気にせずすべてのchannelを接続できます。

learning loopでHermesは本当に時間とともに改善しますか?
はい。learning loopは過去のinteractionを分析し、patternを見つけ、将来のsystem promptに注入されるskillを合成します。数週間運用すると、Hermesは繰り返し発生するpatternをより効率的かつ正確に処理できるようになります。継続的なAPI accessが必要な機能なので、Unlimitedにすると常時有効化しやすくなります。

subagentはfair-useのrate limitにどう影響しますか?
各subagentは独自のAPI callを行い、parent agentと同じper-minute rate limitにカウントされます。user messageが集中しているときにHermesが積極的にdelegationすると、一時的にrate capへ達する可能性があります。その場合、gatewayは超過requestをqueueし、rate windowがresetされた後に処理します。

Hermesのcapabilityごとに別modelを使えますか?
はい。user interaction用のmain model、learning loop用の別model(深い分析にはOpus推奨)、delegated task用のsubagent modelを設定できます。Unlimitedではtier間のcost差を気にする必要がないため、roleごとに最も強いmodelを選びやすくなります。

Start using Claude in minutes

Get an API key — no Anthropic account or waitlist required.

Get your API key