Hermes Technical Report
タスクごとにハーネスを
生成するエージェント運用
Claude Code の動的ワークフロー(dynamic workflows)は、「タスクを実行する」だけでなくオーケストレーション層そのものを Claude がプログラムする仕組み。単一の長いコンテキストではなく、タスク専用に生成した JavaScript ハーネスで、クリーンな文脈を持つサブエージェント群を協調動作させる。
本レポートは fact / claim / interpretation / unknown の provenance バッジで、各記述の出所と確度を明示する。出典は X 投稿(Grok ベースの x_search 経由)であり、公式 API による網羅的スクレイプではない点に留意。
TL;DR
3行で言うと
- 何が新しいか:Claude Code が、与えられたタスク専用の JavaScript オーケストレーション・ハーネス(ワークフロー)をその場で生成し、サブエージェントを並列・直列に協調させて実行する。
- なぜ効くか:単一エージェントの長文脈で起きがちな「途中で止まる」「自分の出力を甘く評価する」「制約を見失う」という3つの失敗モードを、文脈分離と敵対的検証で抑える。
- どこが落とし穴か:トークンを大量消費しうるため全タスク向きではない。明示的な予算設定と初回のプラン確認、エンタープライズでの既定無効に注意。
「単一エージェント+長いコンテキスト」から「タスク専用の使い捨てマルチエージェント・システム」への移行。Claude が実行レイヤーではなく制御レイヤーを書くと捉えると理解しやすい。
01 — 何が発表されたか
Claude Code 内の「動的ワークフロー」
claimAnthropic の Thariq Shihipar(@trq212)が、Claude Opus 4.8 と同じタイミングで発表した機能。中核アイデアは、Claude Code が特定タスクに合わせた JavaScript のハーネス/ワークフローを動的に生成できること。
interpret従来のサブエージェントは「あらかじめ決めた役割を呼ぶ」静的構成だったのに対し、動的ワークフローは制御フロー自体を Claude がコードとして書き起こす点が違う。分岐・ループ・ファンアウトといったオーケストレーションを、自然言語の指示からプログラムに落とす。
静的なサブエージェント呼び出しとの違い
事前定義のエージェントを順に叩くのではなく、「何個のエージェントを、どのモデルで、どの順序・条件で動かすか」を、タスクを見てから JS として組み立てる。結果として、同じ Claude Code でもタスクごとに別形状の一時的マルチエージェント系が立ち上がる。
claim「動的ワークフローを使って」等の自然言語、または合言葉 ultracode でトリガーできるとされる。/goal(成功条件)や /loop(定期・バックグラウンド実行)と組み合わせる運用が案内されている。
02 — なぜ重要か
対処する3つの失敗モード
claim出典は、長文脈の単一エージェントが陥りやすい次の3つを、動的ワークフローが狙って緩和すると説明している。
ワークフローが構造的に抑えにいく失敗モード
出典: @trq212 の X 投稿 / Grok x_search 要約
① エージェント的な怠惰(agentic laziness)
部分的に進んだだけで「完了」と判断して止まってしまう。→ /goal による明示的停止条件や、ループ系パターンで「条件を満たすまで止めない」を制御フローに焼き込む。
② 自己選好バイアス(self-preferential bias)
自分が出した成果物を、他者の出力より甘く検証・採用してしまう。→ 生成役とは別の敵対的検証エージェントに、別の文脈・別モデルで点検させる。
③ 目標ドリフト(goal drift)
ターンの積み重ねや要約(compaction)の過程で、元の制約・忠実度を徐々に失う。→ サブエージェントにクリーンな文脈と絞り込んだ目的を渡し、ドリフトの起点を断つ。
interpretいずれも「1つの長いコンテキストに全部を載せる」ことの副作用。文脈の分離と役割の分離を、その都度のコードとして表現できるのが効きどころと読める。
03 — 仕組み
ワークフロー・ランタイムの特徴
claimワークフローは、サブエージェントを生成・協調させるための専用関数を持つ JavaScript ファイル。出典が挙げる主な性質は次のとおり。
- claim素の JS が使える:
JSON/Math/Arrayなど標準機能が利用可能。 - claimエージェント単位でモデル選択:サブエージェントごとに異なるモデルを割り当てられる(知能ルーティング)。
- claim隔離 worktree:エージェントを独立した git worktree 内で走らせられる。
- claim再開可能:中断してもワークフローをレジュームできる。
- claim保存・共有・バージョン管理:JS ファイルとして保存し、再利用・共有できる。
保存と再利用
claimメニューで「s」を押すと保存でき、~/.claude/workflows に置く、あるいは skill / テンプレートとしてパッケージ化する運用が案内されている。
// interpret: 出典の説明から起こした擬似コード。 // 実際の関数名・シグネチャは出典で確定していない。 const theories = await spawn({ model: "opus", // エージェント単位でモデル選択 worktree: true, // 隔離 worktree で実行 goal: "flaky test の再現と仮説生成", }); // fan-out: 仮説ごとに敵対的検証を並列実行 const results = await Promise.all( theories.map(t => verify(t, { adversarial: true })) ); // loop until done: 1つでも通るまで止めない while (!results.some(r => r.passed)) { /* 続行 */ }
unknown具体的な API(関数名・引数・並列度の上限・課金単位)は出典の要約からは確定できない。上のコードは挙動の概念図であり、そのまま動くものではない。
04 — パターン
よく使われる5つの型
claim出典が挙げる代表的なオーケストレーション・パターン。多くは組み合わせて使う。
① 分類して振り分け(classify-and-act)
入力タスクの種別を判定し、種別ごとに別の処理経路へルーティングする。
② ファンアウトして統合(fan-out-and-synthesize)
多数のサブタスクを並列化し、各エージェントの構造化出力をマージして1つの結論にまとめる。
③ 敵対的検証(adversarial verification)
専任のエージェントが、別エージェントの成果を「壊しにいく/厳密に点検する」。自己選好バイアスの対策。
④ 生成して絞る/トーナメント(generate-and-filter)
候補を多数生成し、ペア比較やルーブリックで審査して最良を選ぶ。命名・設計など「好み」を要する探索に向く。
⑤ 完了まで反復(loop until done)
停止条件を満たすまでエージェントを生成し続ける。/goal と相性が良い。
05 — 実用ユースケース
効きどころ
claim出典が「強いユースケース」として挙げる領域。共通するのは規模・検証・探索のいずれかでオーバーヘッドが正当化される点。
- 大規模な移行・リファクタ:本番事例として Bun の Zig→Rust 書き換えが言及された。unknown 詳細未確認
- 深掘り調査・インシデントの根本原因分析:例:過去6か月の Slack
#incidentsから、未起票の再発原因を掘る。 - 主張・事実の高確度検証:ブログ草稿の技術的主張をコードベースに突き合わせて1つずつ検証。
- 大量集合のソート/ランキング:履歴書・サポートチケット・バグを重要度で並べ替え、上位を二重チェック。
- 履歴からのルール抽出:過去セッションで繰り返す修正を
CLAUDE.mdルールへ。
その他に挙げられた用途
大規模キューのトリアージ(信頼できないデータは隔離)、命名・デザインなど審美的な探索、軽量な評価(eval)、モデル/知能ルーティング。
06 — プロンプト集
プロンプト・クックブック
fact出典の記事に例示されたプロンプト(英語原文)と、その日本語訳。原文は引用、訳は本レポートによる。
「このテストは50回に1回失敗する。再現するワークフローを組み、仮説を立てて worktree 内で敵対的に検証して。/goal どれか1つの仮説が通るまで止めないで。」
“This test fails 1 in 50 runs. Set up a workflow to reproduce it, form theories and adversarially test them in worktrees. /goal don't stop until one theory works.”
「ワークフローで直近50セッションを見て、私が繰り返している修正を掘り出して。頻出するものは CLAUDE.md ルールにして。」
“Using a workflow, go through my last 50 sessions and mine them for corrections I keep making. Turn recurring ones into CLAUDE.md rules.”
「ワークフローで過去6か月の Slack #incidents を掘り、誰もチケットを切っていない再発根本原因を見つけて。」
“Use a workflow to dig through #incidents in Slack for the past six months and find recurring root causes where nobody has filed a ticket.”
「事業計画を、投資家・顧客・競合の視点から別々のエージェントで同時に叩き切るワークフローを回して。」
“Take my business plan and run a workflow where different agents tear it apart from an investor's, customer's, and competitor's perspective simultaneously.”
「80通の履歴書フォルダを、バックエンド職向けにランク付けして上位10名を二重チェックするワークフローを使って。」
“Here's a folder of 80 resumes, use a workflow to rank them for the backend role and double-check the top ten.”
「この CLI ツールの名前が欲しい。候補をブレストして、トーナメントで上位3つに絞るワークフローを使って。」
“I need a name for this CLI tool. Use a workflow to brainstorm options and run a tournament to pick the top 3.”
「ブログ草稿を、ワークフローを使ってすべての技術的主張をコードベースに照らして検証して。」
“Go through my blog post draft and using a workflow verify every technical claim against the codebase.”
07 — コスト・リスク境界
使わないほうがよい場面
claim出典は「万能ではない」と明確に述べている。オーバーヘッドが見合わない使い方への注意。
明示しておくと安全なトークン予算の例(例:「10kトークンで」)
出典: @trq212 の運用上の助言
| 判断軸 | 向く | 向かない |
|---|---|---|
| 規模 | 大量集合・大規模移行 | 日常の単発コーディング |
| 検証要求 | 高確度の事実・主張確認 | 軽微な確認で足りる作業 |
| 計算コスト | 追加計算が成果に見合う | トークンを焼くだけになる |
- claimルーチンなコーディングには過剰:多くの定型作業はこのオーバーヘッドを必要としない。
- claimトークン浪費に注意:「このタスクは本当に追加計算が必要か?」を自問し、明示的な予算(例「10kトークンで」)を設定する。
- claim初回はプランを確認:生成された計画を最初の数回はレビューする。
- claimエンタープライズ既定無効の可能性:プランによっては既定で無効化されている場合がある。
「Claude が制御フローを書ける」ことは「Claude に制御フローを書かせるべき」を意味しない。規模・検証・探索のどれかが効くタスクに限定し、予算とプラン確認をガードレールにするのが現実的。
08 — Hermes / ローカル運用への示唆
自前ワークフローとの接続
interpret以下は本レポートによる解釈で、出典が Hermes に言及しているわけではない。Hermes 側の既存サブエージェント運用への落とし込みとして。
- interpret既存の skill/サブエージェント資産を活かせる:保存ワークフローは
~/.claude/workflowsや skill としてパッケージ化できるため、Hermes のレポート生成系(本サイトの HTML レポート生成など)も「保存済みワークフロー」として再利用しやすい。 - interpret検証フェーズを別文脈に切り出す:生成と検証を同一エージェントで回さず、敵対的検証エージェントを別 worktree・別モデルで噛ませると、自己選好バイアスを下げられる。
- interpret予算を運用既定に:Hermes の自動実行では「明示的トークン予算+初回プラン確認」を標準ガードレールに据えるのが安全。
- unknown実 API の安定性:関数シグネチャや課金単位が固まる前に深く依存すると、後で書き換えコストが出る恐れ。初期は薄いラッパー越しに使うのが無難。
本レポート自体は単一エージェントで十分なタスク。動的ワークフローが効くのは、複数レポートの一括検証・出典クロスチェック・大量草稿のランク付けといった「規模・検証」が絡む段階で、そこに限って導入するのが費用対効果に合う。
09 — 出典と限界
ソースと確度の注記
- fact一次ソース:Anthropic の Thariq Shihipar(@trq212)による X 投稿。Claude Opus 4.8 と同時に動的ワークフローを紹介。
- unknown取得方法の限界:本レポートは Grok ベースの
x_searchによる要約に基づく。公式 API(xurl)での網羅的取得は行っていない。直接引用以外の細部は「出典の主張(claim)」として扱うべき。 - unknown未確定事項:正確な API(関数名・並列度・課金単位)、Bun の Zig→Rust 事例の詳細、GA 状況やプラン別の既定設定。
- interpret解釈の所在:「制御レイヤーをプログラムする」という枠組みや Hermes への示唆は、本レポートによる解釈であり出典の文言ではない。
本文の各記述は fact claim interpret unknown のバッジで確度を示している。実装・課金に関わる判断は、公式ドキュメントで再確認してから行うこと。