Communityコーディング&開発github.com

ハーネスエンジニアリング

自律エージェントのハーネス(制御システム)を設計するためのスキル。研究ループ、評価用足場、ロックされた編集可能な領域、永続ログ、新規性ゲート、枝刈り、ロールバック、PR準備、人間の承認境界を扱います。

ハーネスエンジニアリング とは?

ハーネスエンジニアリングは、自律エージェントが安全かつ効果的に動作するための制御システムを設計するスキルです。エージェントが編集できる領域、フィードバックの受け取り方、状態の書き込み先、障害からの復旧方法、不可逆的なアクションの承認権限を定義します。このスキルは、Claude Code、Cursor、CodexなどのAIエージェントプラットフォームで自律ループが長時間にわたって目的を損なわずに動作するために不可欠です。ロックされた評価面、編集可能な面、追記専用面、人間制御面という4つのサーフェスクラスに基づいてアーキテクチャを構築し、高速なフィードバックループ、永続的な状態管理、探索の規律、新規性チェック、ガバナンスを統合します。これにより、ベンチマークのゲーミングを防止し、複雑さの蓄積を抑制し、人間の承認が必要な操作を明確に分離することで、信頼性の高い自律システムを実現します。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/muratcankoylan/Agent-Skills-for-Context-Engineering/tree/main/skills/harness-engineering

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ハーネスエンジニアリング は何をしますか?

ハーネスエンジニアリングは、エージェントの周囲の制御システムを設計します。つまり、エージェントが何を編集できるか、どのようにフィードバックを受け取るか、どこに状態を書き込むか、障害からどのように復旧するか、そして誰が不可逆的なアクションを承認できるかを定義します。ハーネスは、役立つエージェントセッションと、目的を損なうことなく何日も実行できる自律ループとの違いを生み出します。

アクティブ化のタイミング

以下の場合にこのスキルをアクティブ化してください:

  • 自律的な研究または実験ループを構築する場合
  • ロックされたメトリクスと編集可能なコードまたはコンテンツを備えたエージェント環境を設計する場合
  • PRを作成するエージェントまたはバックグラウンドエージェントを作成する場合
  • エージェントが頻繁な人間のプロンプトなしで安全に実行できるかを評価する場合
  • エージェントワークフローに新規性、アブレーション、枝刈り、ロールバック、または永続ログを追加する場合
  • エージェントがベンチマークをゲーミングしたり、ルーブリックを弱体化したり、コンパクションをまたいで状態を失ったりするのを防ぐ場合

以下の隣接作業については、他のスキルが担当するため、このスキルをアクティブ化しないでください:

  • 自律制御面を伴わない一般的な品質ゲート、回帰スイート、または成果指標:evaluation。
  • ハーネスツールのツールスキーマ、応答形式、リカバリーエラー:tool-design。
  • プロジェクトレベルのタスクとモデルの適合性、パイプライン形状、コスト計画:project-development。
  • リモートサンドボックス、ウォームプール、ホスト型セッションインフラ:hosted-agents。

中核的概念

ハーネス境界

エージェントを、それが動作する環境から分離します。エージェントはアクションを提案し、ハーネスは許可されるサーフェス、フィードバック、永続性、昇格ルールを定義します。

4つのサーフェスクラスを使用します:

サーフェス例ルール
ロック評価メトリクス、ルーブリック、検証スクリプト、マージポリシーエージェントは読み取りと変更の提案は可能だが、変更したルールで自己採点はできない
編集可能スキルドラフト、実験ファイル、プロンプト、テスト中の設定エージェントはループ中に変更できる
追記専用結果ログ、研究スレッド、拒否されたアイデアエージェントは追記のみ可能で、書き換えは不可
人間制御マージ、本番デプロイ、認証情報、破壊的操作明示的な人間の承認が必要

タイトなフィードバックループ

フィードバックが高速で、曖昧さがなく、ゲーミングされにくい場合に自律性は機能します。Karpathyのautoresearchは最小限のパターンです:1つの編集可能なファイル、1つのロックされた評価ファイル、固定された壁時計予算、1つのスカラーメトリクス、gitロールバック、永続的な結果ログ。教訓は、すべてのハーネスに1つのメトリクスが必要ということではなく、曖昧なフィードバックが曖昧な自律性を生み出すということです。

オープンエンドな研究からスキルへの作業では、スカラーメトリクスを、ロックされたルーブリック、決定論的な構造チェック、ソーストレーサビリティ、および人間のレビューしきい値に置き換えます。

永続状態

長時間実行エージェントは状態を外部化する必要があります。計画、ソースキュー、結果、障害、ハンドオフをファイルに保存することで、将来のエージェントがチャット履歴に依存せずに再開できるようになります。Prime Intellectの自律型nanoGPTの研究は、回復、監視、監査のための永続的なスクラッチパッドとTHREAD.mdスタイルのログの価値を示しました。

追記専用ログを以下の目的で使用します:

  • 試行したこと
  • 改善または失敗したこと
  • 候補が保持された、破棄された、またはレビューに回された理由
  • チェックされた上流ソース
  • 次のエージェントがすべきこと

探索の規律

エージェントは最も近いサーフェスを活用し、複雑さを積み上げ、枝刈りを軽視する傾向があります。明示的な探索ルールを追加します:

  1. 定期的に上流ソースを更新する。
  2. 大規模な予算を使う前に新規性チェックを要求する。
  3. 再発見を避けるために拒否された試行を保存する。
  4. スタックに複数の追加がある場合、1つを除外した枝刈りを実行する。
  5. 品質が同等の場合、簡素化を報酬とする。
  6. 昇格前に個別の検証を使用する。

メカニズムレジストリ

研究からスキルへのシステムでは、散文とは別に受け入れられたメカニズムを追跡します。メカニズムレコードには、安定したmechanism_id、owning_skill、status、アクティベーションシナリオ、動作変更、エビデンス、障害モードを含める必要があります。新規性ゲートは、より広範なコーパスの重複を使用する前に、このレジストリと比較する必要があります。なぜなら、キーワードの重複は古い言い回しを捉える一方で、メカニズムの比較は真の重複を捉えるからです。

ガバナンス

自律エージェントはPRを準備することはできますが、ガバナンスは明示的でなければなりません。エージェントは変更のドラフト作成、チェックの実行、PRサマリーの作成を行うことができます。ユーザーが特定のアクションに対して明示的に許可を与えていない限り、マージ、デプロイ、プッシュはできません。

詳細トピック

オートリサーチスタイルループ

このパターンは、安定した評価器に対してアーティファクトを最適化する場合に使用します:

ロックされたコンテキストを読む -> 仮説を選ぶ -> 許可されたサーフェスを編集する -> コミット/チェックポイント
-> 評価器を実行する -> 結果をログに記録する -> 良ければ保持 -> 悪ければ破棄またはロールバック
-> 繰り返す

必須プロパティ:

  • 評価器は編集可能なサーフェスの外側にあること。
  • フィードバックの周期は試行を比較できる程度に固定されていること。
  • 失敗した試行は監査証跡を残すこと。
  • ロールバックは安価であること。
  • エージェントがクラッシュやタイムアウトに対するポリシーを持っていること。

研究からスキルへのループ

このパターンは、ソースがスキル変更になる場合に使用します:

発見 -> 取得 -> ゲート -> スコアリング -> メカニズム抽出
-> 既存または新しいスキルにマッピング -> 提案のドラフト作成 -> 構造検証
-> PR準備 -> 人間によるレビュー

ロックされた評価器は、ソースルーブリック、スキル変更ルーブリック、構造チェック、レビューア承認の組み合わせです。編集可能なアーティファクトは提案されたスキル差分です。

メトリクスゲーミングへの耐性

最適化エージェントはハーネスを学習すると想定します。以下に対して防御します:

  • 評価コードまたはルーブリックを編集し、その新しいバージョンを自己承認に使用する
  • 判定者を喜ばせるがスキルのアクティベーションを損なう冗長なコンテンツを追加する
  • 未取得のソースを引用する
  • 重要な次元で失敗しながらも総合スコアを最適化する
  • ログで失敗した結果を回避する

緩和策:実行ごとにルーブリックをロックし、次元ごとのスコアを報告し、ソース取得の証拠を要求し、拒否された試行を保存し、ガバナンス変更を人間のレビューに回す。

監視エージェント

長時間実行には監視エージェントを使用しますが、明示的に別途指示がない限り、読み取り専用の報告に制限します。監視出力は以下を報告する必要があります:

  • 現在の最良候補
  • アクティブなジョブまたはドラフト
  • 最後の上流ソース更新
  • 失敗または停滞したループ
  • ログと主張された状態の間の不一致
  • 次のアクションとブロッカー

実践的なガイダンス

ハーネスデザインチェックリスト

  1. 目的を一文で定義する。
  2. ロック、編集可能、追記専用、人間制御の各サーフェスを特定する。
  3. フィードバックメカニズムを選択する:スカラーメトリクス、ルーブリック、決定論的テスト、人間レビュー、またはそれらの組み合わせ。
  4. 保持、破棄、クラッシュ、タイムアウト、レビューの状態を定義する。
  5. ループ開始前に永続的なスレッドログを作成する。
  6. 長時間実行ループのために、ソース更新、メカニズムレジストリの新規性チェック、枝刈りルールを追加する。
  7. エージェントが尋ねずに実行できることと承認が必要なことを定義する。
  8. ハーネスを1つの既知の良好なアーティファクトと1つの既知の不良なアーティファクトで検証する。

ファイルレイアウト

research-run/
  THREAD.md
  sources/
    queue.md
    evaluations/
  proposals/
  logs/
    results.tsv
    rejected.md
  drafts/

機械可読な追記専用ログにはTSVまたはJSONLを使用します。ハンドオフやレビューア向けのサマリーにはMarkdownを使用します。

例

例1: ロックされたメトリクス

エージェントがtrain.pyを最適化しますが、prepare.pyがデータの読み込みと評価を担当します。エージェントはモデルを編集できますが、メトリクスは変更できません。失敗した実験はログに記録されロールバックされます。

例2: ロックされたルーブリック

エージェントが新しいAnthropicまたはOpenAIのエンジニアリング記事を評価しますが、ソースキュレーションのルーブリックは実行中ロックされています。ソースが通過した場合、エージェントはスキル提案をドラフトします。ルーブリックのしきい値を下げてソースを受け入れることはできません。

例3: 自動マージなしの自動PR

エージェントは、ソース、スキル、構造チェックを通過した後、ブランチとPR本文を準備します。PRは未解決のリスクを記載し、人間のマージ承認を待ちます。

ガイドライン

  1. ループを開始する前に評価器をロックする。
  2. 編集可能なサーフェスは、信頼性の高い差分を得るために十分に狭く保つ。
  3. コンテキストのコンパクションが状態を消去する前に、永続ログを書き込む。
  4. 総合スコアだけでなく、次元ごとのスコアも報告する。
  5. 引用の前にソース取得を要求する。
  6. 広範な検索には新規性ゲートを、複雑なスタックには枝刈りゲートを追加する。
  7. 品質が同等の場合は簡素化を優先する。
  8. PR準備とマージ権限を分離する。
  9. ハーネスの変更を古い評価器と新しい評価器の両方で再検証する。
  10. 停止した自律ループは、エージェントの性格の問題ではなく、ハーネスの障害として扱う。

落とし穴

  1. 可変評価器: エージェントがメトリクスを編集できる場合、タスクではなくベンチマークを最適化する可能性があります。実行中はルーブリックと評価コードをロックしたままにしてください。
  2. チャットのみのメモリ: 計画が会話履歴にのみ存在する場合、コンパクション後に長時間実行は失敗します。最初からスレッドログと結果ファイルを書き込んでください。
  3. 破棄記録の欠如: 拒否された試行のログがないと、エージェントは失敗したアイデアを繰り返します。再発見を避けるのに十分な詳細を含めて失敗を保存してください。
  4. 複雑性の蓄積: エージェントは変更を積み上げ、削除することはほとんどありません。枝刈りラウンドを要求し、同等品質の簡素化に報酬を与えてください。
  5. 時期尚早な新規性の主張: エージェントは組み合わせを新規とラベリングします。新規性を主張する前に、既存のリポジトリスキル、ソースキュー、拒否ログと比較してください。
  6. 監視の誤報告: 監視エージェントは古いまたは矛盾した状態を要約する可能性があります。主張の背後にあるファイルやログを引用することを要求してください。
  7. 人間の承認の曖昧さ: 「PRを準備する」は「PRをマージする」ではありません。承認境界をハーネス内で明示的にしてください。
  8. 不安定なソースのドリフト: 急速に動く研究室の主張はすぐに古くなります。日付入りのエビデンスを参照に含め、再検証のスケジュールを設定してください。

統合

このスキルは以下に接続します:

  • evaluation - ルーブリックと品質ゲートがロックされたフィードバックサーフェスを提供します
  • advanced-evaluation - ペアワイズ比較とバイアス軽減が提案レビューを改善します
  • filesystem-context - 永続ログ、スクラッチパッド、スレッドファイルが状態を保持します
  • multi-agent-patterns - 研究者、検証者、監視者、書き手のエージェントは分離されたコンテキストを必要とします
  • tool-design - ハーネスツールは明確な契約とリカバリーエラーを公開する必要があります
  • project-development - ファイルベースのパイプラインとタスクモデル適合分析によりループをシンプルに保ちます
  • hosted-agents - バックグラウンド実行にはサンドボックス、スナップショット、承認境界が必要です

参考文献

内部参照:

  • researcher/README.md - リポジトリネイティブな研究からスキルへのオペレーティングシステムを実装する際に参照
  • researcher/rubrics/harness-change.md - エージェントハーネスへの変更を評価する際に参照
  • researcher/runbooks/autonomous-research-loop.md - ソースからスキルへのループを実行する際に参照

外部リソース:

  • Karpathy autoresearch - ロックされた評価を用いた制約付き自律実験ループ
  • Prime Intellect autonomous nanoGPT speedrun - 永続スクラッチパッド、ハンドオフ、監視、自律性障害モード
  • AlphaEvolve and FunSearch - LLM生成候補と体系的な評価器の組み合わせ
  • HELM and LM Evaluation Harness - 透過的で再現可能な評価インフラ

スキルメタデータ

作成日: 2026-05-14 最終更新日: 2026-05-15 作成者: Agent Skills for Context Engineering Contributors バージョン: 1.1.0

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

advanced-evaluation

This skill should be used for advanced LLM evaluation: LLM-as-judge systems, direct scoring, pairwise comparison, rubric calibration, evaluator bias mitigation, confidence scoring, and automated quality assessment.

bdi-mental-states

This skill should be used when modeling agent mental states with BDI concepts: beliefs, desires, intentions, RDF-to-belief transformations, rational agency traces, cognitive agents, BDI ontologies, and neuro-symbolic AI integration.

book-sft-pipeline

This skill should be used for book-to-SFT pipelines: ePub extraction, literary segmentation, author-voice dataset construction, style-transfer training, LoRA workflows, and model evaluation for voice replication.

comprehensive-research-agent

Ensure thorough validation, error recovery, and transparent reasoning in research tasks with multiple tool calls

context-compression

This skill should be used when long-running agent sessions need context compression, structured summarization, compaction, token-per-task optimization, or durable handoff summaries that preserve decisions, files, risks, and next actions.

context-degradation

This skill should be used for diagnosing and mitigating context degradation: lost-in-middle failures, context poisoning, context clash, context confusion, attention-pattern issues, and agent performance degradation caused by accumulated or conflicting context.

context-fundamentals

This skill should be used to explain or reason about the foundational concepts of context engineering: what context is, the anatomy of a context window, how attention mechanics work, the U-shaped attention curve, why context quality matters more than quantity, and the mental models needed to interpret every other context-engineering decision. Use this for conceptual explanation, onboarding, and background reading. Route operational work to the specialized skills: debugging attention failures goes to context-degradation, token-efficiency work goes to context-optimization, conversation summarization goes to context-compression, and project-shape decisions go to project-development.

context-optimization

This skill should be used for improving context efficiency: context budgeting, observation masking, prefix or KV-cache strategy, partitioning, token-cost reduction, retrieval scoping, and extending effective context capacity without lowering answer quality.

evaluation

This skill should be used when building agent evaluation systems: deterministic checks, regression suites, multi-dimensional rubrics, quality gates, production monitoring, baseline comparison, and outcome measurement for agent pipelines.

filesystem-context

This skill should be used when agent work needs file-backed context: durable scratchpads, tool-output offloading, just-in-time discovery, cross-agent handoff files, filesystem memory, or cleanup policies for context stored outside the prompt.

hosted-agents

This skill should be used when designing hosted or background agent infrastructure: sandboxed execution, remote coding environments, warm pools, session persistence, multiplayer collaboration, self-spawning agents, or Modal-style sandboxes.

latent-briefing

This skill should be used when the user asks to "share memory between agents", "KV cache compaction for multi-agent", "orchestrator worker context", "latent briefing", "reduce worker tokens", "cross-agent memory without summarization", or discusses Attention Matching compaction, recursive language models with workers, or token explosion in hierarchical agents.

long-horizon-prompting

This skill should be used when writing, enhancing, or evaluating the launch prompt for a long-running autonomous agent or a parallel multi-agent orchestration attacking a hard problem: pseudo-formal task briefs that define terms and an exact success predicate linguistically, enumerate non-counting outcomes, set persistence rules with explicit stop and return conditions and effort floors, manage a diverse portfolio of parallel approaches with an approach registry and blocked-route bookkeeping, and gate the return on adversarial audit. Route agent topology and coordination protocols to multi-agent-patterns, runtime control surfaces and loop governance to harness-engineering, evaluator and quality-gate construction to evaluation, judge design to advanced-evaluation, and compaction or memory mechanics to context-compression and memory-systems.

memory-systems

This skill should be used for persistent semantic memory in agent systems: cross-session knowledge retention, entity tracking, temporal validity, graph or vector retrieval, memory consolidation, and memory benchmark selection. Route file-backed scratchpads to filesystem-context, handoff summaries to context-compression, and token-efficiency tactics to context-optimization.

multi-agent-patterns

This skill should be used when designing multi-agent systems that need context isolation, supervisor or swarm coordination, explicit handoffs, parallel execution, or a decision on whether multiple agents are justified.

project-development

This skill should be used for project-level decisions about LLM-powered systems: whether an LLM is the right primitive for the task at hand, the shape of a multi-stage batch or agent pipeline, token and cost estimation, choosing between single-agent and multi-agent at the project level, structured output design for downstream parsing, and structuring agent-assisted iteration. Use this when the unit of work is a whole project or a multi-stage pipeline. Route individual tool design to tool-design and individual skill-loading or context-budget tactics to context-optimization.

self-improvement-loops

This skill should be used when the harness, scaffold, workflow, or optimizer itself is the optimization target: recursive self-improvement (RSI) loops, meta-harnesses, self-improving harnesses that mine their own failures and propose bounded edits, evolutionary or population-based search over agent scaffolds, acceptance gates for self-modifying systems, and agentic context evolution where the mechanism that produces context is versioned and evolved. Route governance of a single autonomous loop (locked surfaces, durable logs, rollback, novelty gates, approval boundaries) to harness-engineering, measurement and quality-gate design to evaluation, judge design to advanced-evaluation, and remote sandbox infrastructure to hosted-agents.

self-managed-context

This skill should be used when a model gets read-write control over its own live context window instead of a harness-scheduled compaction policy: the context exposed as an editable file the model rewrites with code tools, model-driven eviction and in-place updates, the harness invariants that keep self-editing safe (pinned prefix, edit gate, edit receipts, budget readouts, rollback on overflow), the prefix-cache cost of mid-context edits, and steering or training the model's own context-editing strategy. Route note content and fixed-threshold summarization to context-compression, cache-stable layout under harness control to context-optimization, file offloading to filesystem-context, and loop governance to self-improvement-loops.

tool-design

This skill should be used for the tool-interface layer of an agent system specifically: writing tool descriptions agents can route on, designing tool schemas and response formats, naming conventions, actionable error recovery messages, MCP server design, tool-set consolidation, and deciding when to add or remove an individual tool. Use this when the unit of work is a single tool or a set of tools. Route project-shape, pipeline architecture, and task-model-fit decisions to project-development; route deciding whether to introduce sub-agents to multi-agent-patterns.

関連スキル