0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI Agent の skill ecosystem は『初期値問題』だった ── ODE 視点で読み解く Hermes Agent

0
Posted at

Hermes Agentで育てるMDファイルは最初が大事っていう話・・・

はじめに

本、記事はClaude Codeと対話しながらHermes Agentを触ってみた内容であり、以下の文章自体もClaude Codeにまとめさせたものです、

Claude Codeとの対話は、進め方をリードさせながら、実際のコマンドは私が実行して、できるだけ手触り感を把握しながら、ツッコミをClaude Codeに入れ軌道修正しつつHands-Onを進めました。そのときの気づきをギュッとQiita用にまとめさせました。ハルシネーションがあればご指摘くださいませ。

TL;DR

NousResearch/hermes-agent をハンズオンで触ったら、自律 skill 学習ループが数学の初期値問題 (ODE) と完全に同じ構造になっていることに気付きました。$1.28 で headline 機能 (closed learning loop) を全 verify した記録と、そこから導出した mental model の話です。

  • 発見: skill ecosystem の挙動は skill(n+1) = f_agent(skill(n)) の力学系、初回生成 (= 初期値 y_0) の質が trajectory 全体を支配する
  • 実証: 同じ弱モデル (gpt-oss-120b:free) が、broken な初期値で 60 iter loop に陥り、改善された初期値だと 40 messages で完走
  • 戦略: phase-separated optimal model — bootstrap phase だけ paid model 投入、routine は free で十分

1. はじめに

「自律 AI Agent ってどこまで本当に動くの?」という疑問から、Hermes Agent を 8 日間ハンズオンで触りました。

そこで気付いたのは、Hermes Agent の "skill" 機構は数学の初期値問題と完全に同じ構造だということ。skill が育つかどうか、改善されるかどうかは、初回生成 (= 初期値) の質で決まる。これは ODE (常微分方程式) の Lyapunov 安定性そのものでした。

本記事では:

  1. Hermes Agent の skill / autonomy 機構を 30 秒で説明
  2. 4 round のハンズオン観察 (= 同じモデルが initial value で挙動が変わる現象)
  3. 初期値問題 (ODE) としての解釈 ⭐
  4. 派生する phase-separated optimal model 戦略

を順に追います。途中で $1.28 で全 verify したコスト breakdown も出します。

2. Hermes Agent と "skill" の定義

Hermes Agent (NousResearch 製) は autonomy 重視の AI agent framework です。最大の主張は closed learning loop = 「経験 → 再利用可能 skill 化 → 別セッションで自律利用 → 改善 → ...」のサイクルが回ること。

skill 自体はシンプル:

~/.hermes/skills/<category>/<name>/SKILL.md   ← Markdown ファイル 1 個

そして 3 つのオペレーション:

  • L1: agent が経験から skill を自発生成 (= skill_manage(action="create"))
  • L2: agent が skill を自己改善 (= skill_manage(action="edit"))
  • Cross-session reuse: 別セッションで agent が skill を自発発見・利用 (= skill_view(name))

3 つが回れば closed loop = headline 機能の verify です。

データ流の全体像:

ポイント: LLM が intelligence、Hermes は dumb plumbing。framework は model-invariant で、変わるのは LLM の judgment 品質だけ。embedding なし、fine-tuning なし、RL なし。

3. ハンズオンの観察 ── 4 Round

Round 1: L1 ✅ (gpt-oss-120b:free)

OpenRouter 無料枠 gpt-oss-120b:free で L1 を試行:

docker exec hermes /opt/hermes/.venv/bin/hermes chat -Q -q \
  "新しい Python の ML プロジェクトを /tmp/mlproj-test に...
   完了したら ml-project-bootstrap という名前で skill として保存して"

結果: 完走~/.hermes/skills/software-development/ml-project-bootstrap/SKILL.md v1.0.0 が生成。category software-development/ も agent が autonomous に選択。

ただし、生成された skill には致命的欠陥がありました:

# v1.0.0 の pyproject.toml テンプレート
[build-system]
requires = ["uv"]
build-backend = "uv.build"   # ← uv-build パッケージの install 手順が抜けてる

これは uv sync --dev 実行時に必ず ModuleNotFoundError: No module named 'uv.build' で落ちる、生まれた瞬間から壊れた初期値です。

Round 2: L2 ❌ (gpt-oss-120b:free、60 iter loop)

L2 を同じ free モデルで実行:

docker exec hermes ... -q \
  "ml-project-bootstrap を使って ... + 改善点あれば skill を update して"

結果: 失敗 (60 iter 上限到達)。agent は build error を認識 (= cognition layer ✅) し、pyproject.toml を 15 回以上書き換えてループに陥りました:

agent は最後の summary で 「Skill update: SKILL.md を以下に置き換えるべき」と修正案を文章で書いたものの、skill_manage(action="edit") の tool call は最後まで発火せず。認知層は OK、行動層が止まった状態でした。

Round 3: L2 ✅ (Sonnet 4.6 paid)

config.yaml の model を anthropic/claude-sonnet-4.6 に切替えて再試行。

結果: 数分で完走、しかも build-system を hatchling に切替えて根本解決。skill version を v1.0.0 → v1.1.0 に semantic bump。uv sync --extra dev + ruff + mypy strict + pytest 100% coverage 全 pass まで verify 込み。

cost: 約 $0.30

Round 4: 同じ弱モデルで再 reuse ✅ (gpt-oss-120b:free)

config を gpt-oss-120b:free に戻し、今度は v1.1 (Sonnet 改善済) を reuse:

結果: 40 messages で完走/tmp/mlproj-test5/ に full project + tests pass。

観察項目 Round 2 (= v1.0 broken) Round 4 (= v1.1 fixed)
モデル gpt-oss-120b:free gpt-oss-120b:free (同一)
初期値 broken fixed
実行時間 20 分 (60 iter 上限) 数分 (40 messages)
build error 解決 ❌ 永遠にループ ✅ 即動作
結果 失敗 ✅ 成功

同じモデルが、初期値の質だけで天と地ほど挙動が変わる。これが核心の観察です。

4. ⭐ 初期値問題 (ODE) としての解釈

ここが本記事の central insight。

ODE での初期値問題は:

y'(t) = f(t, y(t))   (= 力学 / dynamics)
y(t_0) = y_0          (= 初期値 / initial condition)

これを Hermes skill ecosystem に投影すると:

skill(n+1) = L2_improvement(skill(n), experience(n))   (= 力学 = agent の L2 能力)
skill(0)   = L1_creation(initial_task)                  (= 初期値 = L1 出力)

完全に同型です。

ODE Hermes skill ecosystem
y_0 (初期値) L1 で生成された skill v1.0.0
f (力学関数) agent の L2 capability (skill 改善能力)
trajectory y(t) skill version 列 (v1.0 → v1.1 → ...)
Lyapunov 安定性 初期 skill の小さな欠陥が将来縮退するか拡大するか
カオス (蝶の効果) 初期 skill の defect が agent 行動を不安定化

4 つの観測命題

              L1 quality          L2 capability       System stability
y_0 ◯       (= clear, valid)  +  f ◯ (= capable) →  ✅ stable, fast convergence
y_0 ◯                          +  f △ (= weak)   →  🟡 stable but slow / occasional drift
y_0 ✗       (= broken)         +  f ◯               →  🟡 dynamics で修正可だが cost 高
y_0 ✗                          +  f △              →  ❌ unstable, runaway divergence

ハンズオンの結果と並べると:

Round 初期値 y_0 力学 f 結果 命題
Round 2 ✗ (broken v1.0) △ (gpt-oss-120b) ❌ 60 iter loop y_0 ✗ + f △
Round 3 ✗ (broken v1.0) ◯ (Sonnet 4.6) 🟡 補正成功 y_0 ✗ + f ◯
Round 4 ◯ (good v1.1) △ (gpt-oss-120b) ✅ 40 msgs 完走 y_0 ◯ + f △

つまり y_0 ✗ + f △ の組み合わせが最も危険」、これが Round 2 で実証された不安定軌道です。

重要な含意 ── 修正 cost の非対称性

  • 良い y_0: 弱い f でも安定。修正 cost ほぼゼロ
  • 悪い y_0: 強い f が要る。修正 cost 高い
  • agent self-correction の限界: f (= LLM の L2 能力) は SFT 量で決まり、上限あり。人間レビューの抜本性に勝てない

「初期値の質を保証する唯一の方法は人の枝切り (HITL)」

これは AI 開発の 1 つの教訓: autonomy の自走は制御工学的に open-loop で不安定、HITL が closed-loop 制御の missing feedback 項です。AWS Labs の AI-DLC が phase ごとに人介入点を明示する設計なのも、同じ理由でしょう。

5. 派生する戦略 ── Phase-separated Optimal Model

ハンズオンで empirical に確認した戦略:

Routine reuse phase       :  gpt-oss-120b:free       ($0)        ← 日常運用
L2 phase (skill 改善)     :  Haiku 4.5 paid          ($0.10)     ← cost-effective L2
Comprehensive bootstrap   :  Sonnet 4.6 paid         ($0.30)     ← skill ライフタイムで 1〜2 回

L2 capability gradient の実測 (= cross-model 比較):

モデル L2 cognition L2 action 発火 Quality Cost
gpt-oss-120b:free ❌ (60 iter で諦め) n/a $0
claude-haiku-4.5 ✅ (skill_manage 3 calls) 良好 ~$0.10
claude-sonnet-4.6 ✅ (1 call で全面 rewrite) semantic version + 包括的 ~$0.10-0.30

L2 capability 閾値は free と Haiku の間にある = cheap paid (Haiku) で十分、Sonnet は本当に重要な bootstrap だけ。

ハンズオン Total Cost (= 8 日間、29 sessions)

state.db (Hermes が自動記録する SQLite) から SQL 集計:

Sonnet 4.6 paid (2 sessions、L2 + smoke)              : $0.97
Haiku 4.5 paid (3 sessions、reuse + L2 + smoke)       : $0.31
Free models (29 sessions、gpt-oss / hermes3 / gemma)   : $0
─────────────────────────────────────────────────────
Total                                                  : $1.28

$1.28 で Hermes Agent の closed learning loop 全 verify + 初期値問題 framing の empirical 立証。極めて cost-effective です。

Free tier の運用脆弱性 (= 副次の警告)

検証中、gpt-oss-120b:free 以外の free モデル (Gemma 4 31B / Llama 3.3 70B / Qwen 3 80B) は全部 rate limit blocked (HTTP 429)。OpenRouter の per-model RPM cap (= 高需要時 8 req/min) や upstream provider (Google / Meta) の混雑が原因。production 評価で free tier 依存は脆弱、本番運用は paid 推奨です。

6. まとめ

AI Agent の skill ecosystem は初期値問題: Initial Value (L1) + Dynamics (L2) → Stable trajectory。弱モデルは初期値も力学も汚染するため二重リスク、強モデルは二重投資。最適 = phase-separated。

短く:

  • ✅ Hermes Agent の closed learning loop は本物 (= headline 主張は実証済)
  • ⚠️ ただし autonomy だけでは不安定 (= initial value の汚染が trajectory を破壊)
  • HITL (= 人の枝切り) を外部から強制が現実解 — git ベースの skill review が de facto pattern
  • ✅ Phase-separated optimal model strategy で $1 以下/skill ライフタイム で運用可能

次に試す価値がありそうなこと:

  • 同じ ODE framing を他 agent framework (LangChain / AutoGen / CrewAI) で検証
  • skill quality 自動評価 metric の実装 (= y_0 の health monitoring 機構)
  • HITL gate を framework に組み込む拡張 PR

関連リンク

ハンズオン記録の全 git history (4 commits) + 詳細 docs (3 MD files) は手元に揃ってます。需要あれば公開検討します。


📝 Tags: AI, LLM, agent, Hermes, OpenRouter, Sonnet, ODE, mathematical-modeling

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?