AIエージェントのハーネス設計とは?

19.7K views
•
April 5, 2026
by
まさおAIじっくり解説ch
YouTube video player
AIエージェントのハーネス設計とは?

TL;DR

ハーネスエンジニアリングとは、AIモデルの外側にあるコンテキスト、ツール、ガードレール、監視、フィードバックを設計し、エージェントの行動と品質を整える技術である。まず失敗を観察し、指示、フック、メモリ、スキル、役割分離を必要な範囲で追加する。

Transcript

おすまです。本日はですね、ハーネス エンジニアリングについて解説していき たいと思います。え、最近なってね、え、 色々と、ま、意見がね、飛んでるかなと 思うんですけども、ま、ハーネスなんか 意味ないやろみたいな感じでいう声があっ たりだとか、ま、そこに全てかけるべきだ とか、ま、いろんな方向からね、いろんな ジャールの人が、ま、このAIに、関して は、ま、すごく、え、注目されている テーマになってるんでね、え、言ってると 思うんですけど、ま、僕はね、え、 2025年の11月ぐらいから、ま、 ノートの方でクローズにね、ハーネスを 作れと、ま、未来これから起こりますぜ みたいなノートをですね、クローズに公開 したりだとかして、ずっと前から、ま、僕 の黒ネコミュニティの方とかでは、え、 取り上げて... Read More

Key Insights

  • ハーネスは、AIモデル以外のコンテキスト、ツール、ガードレール、監視、フィードバックを含み、モデルと組み合わせてAIエージェントを成立させる制御環境である。
  • 外部ハーネスは、CLAUDE.md、Hooks、スキルなど利用者が調整できる部分であり、内部ハーネスはシステムプロンプトやオーケストレーションなど製品内部の仕組みである。
  • コンテキストエンジニアリングは、モデルのコンテキスト窓に何を入れるかを設計する領域であり、環境全体の制御を扱うハーネスエンジニアリングの一部に位置付けられる。
  • 決定論的な処理は、リント、フォーマット、テスト、成果物検証などの仕組みに移すことで、出力の確実性を高め、LLMのトークンを不要に消費する状況を抑えられる。
  • Hooksは、ユーザー入力時、ツール実行の前後、応答完了時などに処理を走らせ、禁止コマンドの遮断や自動検証、通知などを規則に沿って実行できる手段である。
  • メモリは、個別ファイル、サブエージェント用記録、Gitの履歴、タスクリスト、要約などを通じて状態を永続化し、別セッションでも作業の経緯や未完了事項を参照可能にする。
  • スキルとサブエージェントは、知識や手順を段階的に開示し、調査や評価などの関心を分離する仕組みであり、読み込む情報、モデル、権限、担当範囲の設計もハーネスに含まれる。
  • 評価者の分離は、生成者が自分の成果を早期に完成扱いする傾向を補う設計であり、プランナー、生成者、評価者に役割を分けることで計画、実行、検証を独立させられる。
  • 🎬 このチャンネルの他の動画:
  • 📺 このチャンネル: まさおAIじっくり解説ch

Explore YouTube Video Summarizer or Get YouTube Transcript Extractor

Questions & Answers

Q: ハーネスエンジニアリングとは何ですか?

ハーネスエンジニアリングとは、AIモデル以外の制御環境を設計し、AIエージェントの行動と成果を改善する取り組みです。対象には、コンテキスト管理、利用ツール、ガードレール、外部監視、失敗後のフィードバックループが含まれ、モデルとハーネスを合わせてAIエージェントとして捉えます。

Q: コンテキストエンジニアリングとの違いは何ですか?

コンテキストエンジニアリングは、モデルのコンテキスト窓へ何を入れるかを最適化する領域です。ハーネスエンジニアリングはそれを包含し、ツール制御、安全策、監視、状態の永続化、評価と改善のループまで含めて、エージェントが動く環境全体を設計します。

Q: 外部ハーネスと内部ハーネスの違いは何ですか?

外部ハーネスは、利用者がCLAUDE.md、Hooks、スキルなどを通じて調整できる制御層です。内部ハーネスは、製品内部のシステムプロンプト、サブエージェント機能、チームのオーケストレーションなどを指します。動画では、まず既存製品が提供する外部ハーネスの最適化から始める考え方が示されています。

Q: AIエージェントの制御を決定論的にする方法は?

規則で判定できる処理をLLMから切り離し、スクリプトやHooksへ移す方法が有効です。たとえば、リント、コード整形、テスト、成果物の検証、特定コマンドの拒否は、自然言語の指示だけに頼らず自動処理にします。これにより確実性を高め、不要なトークン消費も抑えられます。

Q: Hooksはどのように活用できますか?

Hooksは、ユーザーがプロンプトを送った時、ツールの実行前後、サブエージェントの開始時、応答完了時などに所定の処理を実行するために使えます。用途には、禁止操作の遮断、自動リント、フォーマット、テスト、成果物検証、通知、自動コミットなどがあり、目的に応じて前処理と後処理を配置します。

Q: AIエージェントのメモリを設計する方法は?

記憶すべき状態をファイルや履歴として外部化し、後のセッションから参照できる形にします。例として、メモリ用Markdown、サブエージェントごとの記録、Gitによる行動履歴、未完了項目を示すタスクリスト、作業要約があります。何でも保存するのではなく、継続作業に必要な経緯や状態を選ぶことが重要です。

Q: スキルとサブエージェントはどう使い分けますか?

スキルは、特定作業の知識、手順、参照資料、実行スクリプトやCLIの使い方を再利用可能な形でまとめるために使います。サブエージェントは、調査、計画、評価などの関心を本体の作業から分離するために使います。必要な情報だけを段階的に読み込ませれば、コンテキストの消費も抑えられます。

Q: 生成者と評価者を分離するのはなぜですか?

生成を担当したAIは、自分の成果を主観的に評価し、十分な品質へ達する前に完了と判断する場合があるためです。生成者とは別に懐疑的な評価者を置けば、見落とした観点を指摘し、フィードバックを受けて修正するループを作れます。さらにプランナーを加えると、計画、生成、評価を三つの役割へ分割できます。

Q: ハーネス設計で制約を増やしすぎると何が起きますか?

制約を増やしすぎると、モデルが持つ柔軟性や想像力を発揮しにくくなり、モデルが進化しても既存の細かな指示に縛られる可能性があります。一方で、指示が抽象的すぎると何をすべきか迷います。そのため、最初から複雑にせず、実際の失敗に応じて必要な制御だけを追加し、適切な粒度を探します。

Q: ハーネスエンジニアリングは何から始めればよいですか?

まず既存のAIエージェントを動かし、繰り返し起こる失敗や品質上の弱点を観察します。次に、軽微な問題は指示やスキルへ記録し、頻発する問題や規則で判定できる問題はHooks、テスト、スクリプトなどへ移します。その後、必要に応じてメモリ、サブエージェント、評価ループを追加し、複雑さは必要な場合だけ増やします。

Summary & Key Takeaways

  • ハーネスは、AIモデルに何を見せるか、どのツールを使わせるか、行動をどう制限するか、外部からどう監視するか、失敗後にどう改善するかを扱う。コンテキスト最適化だけでなく、品質向上、状態の永続化、安全性、フィードバックループまで含む、AIエージェントの制御環境全体を指す。

  • 実装手段には、CLAUDE.mdなどの指示、ツール実行前後のHooks、セッションをまたぐメモリ、段階的に読み込むスキル、関心を分離するサブエージェントがある。リント、フォーマッター、テスト、成果物検証など、規則で確実に判定できる処理はLLMに任せず、決定論的な仕組みに寄せることが重要である。

  • 実践では、生成者と評価者を分離し、必要に応じてプランナーも加えて、計画、実行、検証を別の役割として扱う。一方、指示やツール、制約を増やしすぎると、コンテキストを圧迫し、モデルの柔軟性を損なう。失敗を観察してから必要な制御だけを足し、具体性と自由度の適切な粒度を探る設計が推奨される。


Read in Other Languages (beta)

Share This Summary 📚

Explore More Summaries from まさおAIじっくり解説ch 📚