Summary
AIエージェントのハーネス(エージェントループ・ツール表面・コンテキスト管理・認可・状態・停止条件・評価・可観測性)を設計・実装・調達するためのランタイム非依存の設計憲章。『エージェント基盤/ハーネスを設計して』『自作/SDK/既製のどれにするか』『compactionをどうするか』『マルチエージェントにすべきか』とい…
efoo-team/skills
AIエージェントのハーネス(エージェントループ・ツール表面・コンテキスト管理・認可・状?
npx skills add efoo-team/skills --skill agent-harness-engineering
AIエージェントのハーネス(エージェントループ・ツール表面・コンテキスト管理・認可・状態・停止条件・評価・可観測性)を設計・実装・調達するためのランタイム非依存の設計憲章。『エージェント基盤/ハーネスを設計して』『自作/SDK/既製のどれにするか』『compactionをどうするか』『マルチエージェントにすべきか』とい…
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Helps users discover and install agent skills when they ask questions like "how do I do X", "fi…
3.3M installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsPrepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Te…
568.3K installsOther skills from efoo-team/skills · top by installs.
npx skills add efoo-team/skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
25,642 B
SUMMARY.md
629 B
ハーネスとは、モデルをエージェントとして動作させるシステム全体 — エージェントループ、ツール表面、コンテキスト組み立て、ガードレール/認可、状態と耐久性、停止条件、評価、可観測性 — を指す。
エージェントの成果はモデルだけでは決まらない。同一モデルでもハーネス次第で成功率は大きく変わり(ハーネス感度)、ハーネス起因の性能差がモデル起因の差を上回ることが実証されている。ハーネスエンジニアリングとは、モデルの能力を最大限引き出しつつ、モデルに任せてはならない保証を決定的な機構で与える工学である。
この公理は agent-harness-engineering / agent-native-project-design の2スキルへ意図的に同一内容で複製している(改訂時は両ファイルを同時に更新すること)。mastra-ai-architecture-rules の「設計の根本原則」とも整合するよう維持する。
適用優先順位: 特定ランタイムを採用済みのプロジェクトでは、そのランタイムの憲章(例: Mastra プロジェクトの mastra-ai-architecture-rules)が本スキルの一般則より優先する。同様に、リポジトリ内に人間管理の正本憲章・設計文書がある場合(例: l-shift の agent/AGENTS.md と agent/docs/ 配下の設計正本)は、その正本が本スキルより優先する。本スキルは、憲章がない領域の判断と、憲章そのものを設計・改訂するときの基盤を与える。本スキルとプロジェクト正本の矛盾に気づいた場合は、どちらかへ黙って合わせるのではなく、差分をユーザーへ提起すること。
ハーネスは「自作か否か」の二値ではなく、抽象度の連続体から選ぶ:
生LLM API + 自前ループ → エージェントSDK(Claude Agent SDK / OpenAI Agents SDK 等) → 既製ハーネスの headless 利用(Claude Code / Codex CLI 等) → マネージド
判断手順:
| 判断基準 | 低抽象(生API/自前)に寄せる | 高抽象(SDK/既製ハーネス)に寄せる |
|---|---|---|
| エージェントにコンピュータ(ファイル・shell・コード実行)が必要か | 不要(会話・APIオーケストレーション型) | 必要(coding agent 系の継承価値が最大) |
| マルチテナント認可・独自の権限ゲートが必要か | 必要(ループへの介入点を自前で持つ) | 不要または単純 |
| サーバ常駐・pause/resume・永続実行が必要か | 必要(checkpoint 第一級の設計) | 不要(セッション完結) |
| コンテキスト組み立て・キャッシュ prefix の決定的制御がコストを支配するか | する | しない |
| ハーネス自体がプロダクトの差別化要素か | である | でない(「差別化しないハーネスは買え」) |
詳細な比較表・移行トリガー条件: [references/procurement.md](references/procurement.md)
エージェントループの実体は「プロンプト構築 → モデル呼び出し → ツール実行 → 履歴追加 → ツール呼び出しが止まったら終了」の while ループであり、これ以上複雑にしないことが既定である。
コンテキストには attention budget があり、長くなるほど劣化する(context rot)。劣化は崖ではなく勾配であり、エラーとしては現れず品質低下として静かに起きる。
コンテキスト失敗モード(poisoning / distraction / confusion / clash)と対策の詳細: [references/context-engineering.md](references/context-engineering.md)
ツールはモデルに対するインターフェース(Agent-Computer Interface)であり、その質がモデルの実効能力を決める。ツール説明の精緻化だけで性能が大きく変わる。
listcontacts より searchcontacts)。「エージェントが何をするかではなく、何ができるかを制御する」。
認可モデル・承認プロトコルの詳細: [references/guardrails-authorization.md](references/guardrails-authorization.md)
runId:toolCallId の決定論キー)。リトライ・再開・重複配信に対して「同一キー同一入力 → 同一結果、同一キー異入力 → 拒否」を契約として固定する。詳細: [references/state-durability.md](references/state-durability.md)
検証ループがないエージェントは自走できない。 最頻の失敗モードは「自分の出力を読み返して良さそうと判断し、検証せず終了する」である。
詳細: [references/evals-observability.md](references/evals-observability.md)
マルチエージェントは最終手段である。 既定は single-threaded なエージェント + コンテキスト管理。
委譲プロトコル・出力契約・効果とコストの報告値: [references/context-engineering.md](references/context-engineering.md)
| アンチパターン | なぜ失敗するか | 是正 |
|---|---|---|
| 自己確認で検証を終える | 「読み返して良さそう」は検証ではない | 実行可能チェック(テスト・ビルド・比較)を与える |
| プロンプトで権限・秘匿を制御する | モデルは injection に従う | 決定的な認可ゲート・sandbox に移す |
| 認可を Union で合成する | 権限昇格の穴が生まれる | Intersection + deny>ask>allow 合成 |
| 未設定が通す既定 | 設定漏れが即事故になる | fail-closed(deny-all / 明示エラー) |
| ツール全出力を state に保存する | state 肥大・snapshot 汚染 | reference / summary のみ保持 |
| 常時最大推論・無制限ループ | タイムアウト・コスト暴走で品質が下がる | 停止条件・予算・doom loop 検出を一級で持つ |
| 予算切れを raw エラーで返す | 途中成果が失われる | wrap-up turn で達成・未完了・次の一手を報告させる |
| ツールを乱立させる | 選択精度が下がる | タスク単位に統合し少数に絞る |
| 実行途中の動的ツール削除 | キャッシュ全滅・幻覚参照 | マスキングで制約する |
| 非決定的なプロンプト組み立て | キャッシュ全ミスでコスト増 | 静的 prefix・append-only・決定的順序 |
| 書き込み並列マルチエージェント | 暗黙の決定が衝突する | single-thread + サブエージェントは read 系隔離のみ |
| モデル更新後もハーネスを凍結する | 旧世代の補正が新モデルの上限になる | 世代ごとに剪定棚卸し(「強いモデルに替えて性能が上がるか」で検査) |
| ブラックボックス抽象への依存 | 品質天井・デバッグ不能 | own your prompts / context / control flow |
| ハーネス条件を揃えないモデル比較 | ハーネス差がモデル差を上回る | ハーネス固定で比較・条件を開示する |
| eval スコアだけ見て判断する | eval 側のバグ・想定外の正当解を見逃す | transcript 読解を制度化する |
| 自作セキュリティ部品 | 最も弱い層になる | OS プリミティブ・実績ある機構を使う |
非自明なハーネス実装・変更の前に、以下の見出しを持つ簡潔な設計メモを作成すること:
実装前に自問すること:
迷ったら、より少ない機構で同じ保証を与える設計を選ぶこと。