COLUMN
コラム
2026年03月17日
「AIモデルの性能差じゃなかった。」ハーネスエンジニアリングで52.8%→66.5%を実現したLangChainの環境設計術
タグ:AI,LangChain,ハーネスエンジニアリング
1. ハーネスエンジニアリングとは何か — AIエージェントの力を「制御」する新しい技術領域
「同じGPT-5を使っているのに、なぜ成果に差が出るのか?」— この問いの答えが、2026年のAI開発で最も注目される概念、ハーネスエンジニアリングです。
ハーネスエンジニアリングとは、AIエージェントが「正しく動ける環境(ハーネス)」を設計する技術を指します。馬具のハーネスが馬の力を制御するように、AIエージェントの潜在能力を引き出し、業務に最適化された形で動作させるための環境設計全般を意味します。
プロンプトやコンテキストとの違い
従来のプロンプトエンジニアリングやコンテキストエンジニアリングは、「AIに何をどう伝えるか」に焦点を当てていました。一方、ハーネスエンジニアリングは「AIが動作する環境そのもの」を設計します。
- プロンプトエンジニアリング:単発の指示文を最適化する
- コンテキストエンジニアリング:複雑なタスクに必要な文脈情報を整理・提供する
- ハーネスエンジニアリング:AIが実行できる行動の範囲、ツールへのアクセス権限、フィードバックループの構造など、実行環境全体を設計する
例えば、開発エージェントが「コードを書く」タスクを実行する際、ハーネス設計では以下のような要素を定義します:どのツール(ターミナル、エディタ、検索)にアクセスできるか、何回まで試行を繰り返せるか、エラーが発生した際のフィードバックをどう解釈するか、他のエージェントとどう連携するか。
こうした環境設計の良し悪しが、AIエージェントの実行精度を大きく左右します。こうしたアプローチは、AIエージェント実行基盤であるCaptain.AIでも重視されている考え方です。
2. なぜ今「環境設計 > モデル性能」なのか — 3つの実証データが示すパラダイムシフト
AIエージェントの性能向上と聞くと、多くの人は「より高性能なモデルを使う」ことを思い浮かべます。しかし2026年に入り、その常識が覆されつつあります。
実証データ1: LangChainの52.8% → 66.5%改善
LangChainが開発したコーディングエージェントは、Terminal Bench 2.0というベンチマークで、ハーネス変更のみで52.8%から66.5%へと13.7ポイントの改善を実現しました。この改善では、使用するLLMは変更していません。
改善の要因は、ツール呼び出しの順序制御、エラーハンドリングのロジック、反復実行の制約設計など、すべて「環境設計」の領域です。
実証データ2: OpenAI Codexチームの100万行実績
OpenAIのCodexチームは、100万行以上のコードベースを「人間が1行も書かずに」構築した事例を報告しています。この背景には、高度に設計されたハーネス環境があります。
具体的には、コード生成、テスト実行、エラー修正、ドキュメント生成までを自動化するワークフロー設計と、各ステップでのフィードバックループの最適化が挙げられます。
実証データ3: GitHubのAgent HQ戦略
2026年2月、GitHubはClaudeとCodexをエージェントとして直接実行する「Agent HQ」機能を発表しました。この機能の核心は、GitHub Copilot Pro+/Enterpriseユーザー向けに、リポジトリ・イシュー・プルリクエストへのアクセス権限を細かく制御できるハーネス層を提供している点です。
単にAIを統合するのではなく、「どの範囲で動けるか」を明示的に設計することで、セキュリティを保ちながら自律性を高めています。
3. ハーネスエンジニアリングの4つの設計要素 — コンテキスト・行動・フィードバック・運用
ハーネスエンジニアリングは、以下の4つの設計要素から構成されます。それぞれの要素が、AIエージェントの動作品質に直結します。
1. コンテキストハーネス
AIエージェントが意思決定に必要な情報をどう受け取るかを設計します。
- 情報の範囲:過去の実行履歴、リポジトリ全体、関連ドキュメントのどこまでを参照できるか
- 情報の形式:RAG(Retrieval-Augmented Generation)で動的に情報を取得するか、事前に整形した情報を渡すか
- 情報の鮮度:リアルタイム更新するか、キャッシュを使うか
2. 行動ハーネス
AIエージェントがどのツールにアクセスでき、どのような操作が許可されるかを定義します。
- ツールの種類:ファイル編集、コマンド実行、API呼び出し、データベースアクセスなど
- 権限の範囲:読み取り専用か、書き込み可能か、削除可能か
- 実行順序:並列実行を許すか、直列実行に制限するか
3. フィードバックハーネス
AIエージェントが実行結果をどう解釈し、次の行動にどう反映するかを設計します。
- 成功判定:どの状態を「成功」とみなすか(テストが通る、エラーがゼロ、など)
- エラー処理:失敗時に何回までリトライするか、どう修正するか
- 学習ループ:過去の失敗パターンをどう記録し、今後の実行に活かすか
4. 運用ハーネス
AIエージェントの実行状況を監視し、問題発生時に介入できる仕組みを設計します。
- ロギング:実行ログをどこまで詳細に記録するか
- アラート:異常を検知したらどう通知するか
- 人間の介入:完全自律か、承認フローを挟むか
4. LangChainの改善事例から学ぶ — ハーネス設計の具体的なアプローチ
LangChainが52.8%から66.5%への改善を実現した際、どのような設計変更を行ったのでしょうか。公開されている情報から、以下の3つのアプローチが読み取れます。
1. ミドルウェア構成の最適化
従来は単一のエージェントがすべてのツールにアクセスできる構成でしたが、改善後は複数の専門エージェント間で役割を分割し、各エージェントが特定のツールセットのみにアクセスする構成に変更しました。
これにより、意思決定のノイズが減り、各エージェントがより適切なツール選択を行えるようになりました。
2. エラーハンドリングの強化
エラーが発生した際、従来は単に「失敗」として処理していましたが、改善後はエラーの種類(構文エラー、実行時エラー、環境エラー)を分類し、それぞれに適した修正アプローチを取るように設計しました。
例えば、構文エラーならコード生成をやり直す、実行時エラーなら環境変数を確認する、といった分岐です。
3. 試行回数の動的制御
従来は固定回数(例: 3回)のリトライでしたが、改善後はタスクの複雑度に応じて試行回数を動的に変更するようにしました。
単純なタスクなら1-2回、複雑なタスクなら5-7回と、無駄な試行を減らしつつ成功率を高める設計です。
5. Claude CodeとCodexに見る、異なるハーネス哲学 — 単一深掘り型 vs マルチ並列型
2026年2月のGitHub Agent HQ発表により、Claude CodeとCodexという2つの代表的なAIエージェントが、どちらもGitHub上で直接実行できるようになりました。
興味深いのは、両者が全く異なるハーネス哲学を採用している点です。
Claude Code: 単一エージェント深掘り型
Claude Code(Claude Opus 4.6ベース)は、200K(ベータ版では1M)のコンテキストウィンドウを活かし、単一エージェントがリポジトリ全体を把握しながら深く思考する設計です。
- メリット:複雑な依存関係の理解、一貫性のある実装
- 適したタスク:リファクタリング、設計の見直し、複数ファイルにまたがる変更
Codex: マルチエージェント並列型
Codexは、400Kのコンテキストウィンドウを持つ複数エージェントを並列実行し、役割分担させながらタスクを進める設計です。
- メリット:並列処理による高速化、役割の明確化
- 適したタスク:複数機能の同時開発、テスト自動化、CI/CD統合
どちらが優れているかは一概に言えません。重要なのは、自社の開発スタイルに合わせて適切なハーネス哲学を選択することです。
6. 実装パターン — 今日から始められるハーネスエンジニアリングの3ステップ
ハーネスエンジニアリングは、大規模な開発体制でなくても導入できます。以下の3ステップで、今日から実践可能です。
ステップ1: 現状のハーネスを可視化する
まず、現在使っているAIエージェント(Claude Code、GitHub Copilot、自社開発エージェント等)が、どのような環境で動いているかを洗い出します。
- どのファイル・ディレクトリにアクセスできるか
- どのツール(ターミナル、検索、ブラウザ等)が使えるか
- エラーが発生した際、どう対処しているか
- 実行結果をどう評価しているか(テストを走らせるか、人間がレビューするか)
ステップ2: ボトルネックを特定し、ハーネスを改善する
可視化した結果をもとに、改善ポイントを見つけます。よくあるボトルネック:
- 情報過多:リポジトリ全体を読ませているが、実際に必要なのは一部のファイルだけ → コンテキストハーネスの絞り込み
- ツール選択の迷い:多数のツールがあり、どれを使うべきか判断に時間がかかる → 行動ハーネスの制約追加
- エラー時の無駄なリトライ:同じ失敗を何度も繰り返す → フィードバックハーネスの強化
ステップ3: 成果を測定し、継続的に改善する
ハーネス改善の効果を定量的に測定します。
- 成功率:タスクが1回で成功する割合
- 実行時間:タスク完了までの平均時間
- エラー率:失敗した割合と、その原因の分類
これらの指標を週次・月次でトラッキングし、ハーネス設計を継続的に改善していくことで、LangChainのような大幅な性能向上が実現できます。
7. Captain.AIで実践するハーネスエンジニアリング — Agent TeamsとMCP統合の活用
ここまで解説したハーネスエンジニアリングの考え方は、AIエージェント実行基盤Captain.AIで実践できます。
Agent Teams: 役割分担によるハーネス最適化
Captain.AIのAgent Teams機能では、複数のエージェントをチームとして定義し、それぞれに異なるハーネス設計を適用できます。
- 開発エージェント:コード生成・編集に特化。ファイルアクセスとターミナル実行のみ許可
- レビューエージェント:コード品質チェックに特化。読み取り専用で、静的解析ツールにアクセス
- テストエージェント:テスト実行とカバレッジ測定に特化。テストスクリプト実行のみ許可
この役割分担により、各エージェントが担当領域で最適なパフォーマンスを発揮できます。
MCP統合: 社内システムとのシームレスな連携
Captain.AIはMCP(Model Context Protocol)に対応しており、社内のSlack、GitHub、データベース等との連携が容易です。
これにより、AIエージェントが必要な情報を社内システムから動的に取得し、実行結果を適切な場所に通知するハーネス設計が実現できます。
スキル定義: 再利用可能なハーネステンプレート
Captain.AIでは、よく使うタスクのハーネス設計を「スキル」として定義し、チーム全体で共有できます。
例えば「プルリクエスト作成スキル」を定義すれば、コード生成 → テスト実行 → PRドラフト作成までの一連のハーネスがテンプレート化され、誰でも同じ品質で実行できます。
開発チームでハーネスエンジニアリングを本格的に実践したい方は、AI駆動開発伴走セミナーで、実際のプロジェクトへの適用方法を学べます。入門から実践まで、チームの成熟度に応じた4つのコースが用意されています。
8. まとめ — エンジニアの役割は「コーディング」から「環境設計」へ
ハーネスエンジニアリングは、AI開発における新しいパラダイムです。LangChainの52.8%→66.5%改善、OpenAI Codexチームの100万行実績、GitHubのAgent HQ戦略が示すように、「どのモデルを使うか」よりも「どんな環境でAIを動かすか」が成果を左右する時代になっています。
AIを"使う"フェーズは終わりつつあります。これからは、AIと"協働"し、チーム全体の生産性を底上げする組織が競争優位を握る時代です。
エンジニアの役割は、コードを書くことから、AIが最大限の能力を発揮できる環境を設計することへと移行しています。ハーネスエンジニアリングは、その中核をなす技術です。
今日から3ステップ(現状の可視化、ボトルネック特定、測定と改善)で実践を始めることができます。自社の開発プロセスに合わせたハーネス設計を進め、AI駆動開発の新たな可能性を切り開いてください。
ハーネスエンジニアリングの実装や、チームへの導入に関心がある方は、まず無料相談からお問い合わせください。貴社の開発環境に最適なハーネス設計を、専門チームがサポートします。
- カテゴリー
- タグ
- システム運用 (16)
- TypeScript (1)
- WebAssembly (2)
- ウォーターフォール開発 (2)
- 業務システム (28)
- CSS (2)
- GraphQL (1)
- プログラミング (31)
- スタートアップ (11)
- Nexaweb (1)
- BaaS (10)
- データベース (5)
- SPA (2)
- 基本用語 (26)
- Case study (5)
- Keyword (10)
- FaaS (1)
- システム開発 (69)
- スクラム (1)
- フロントエンド (38)
- AI (26)
- アジャイル開発 (18)
- Supabase (1)
- イノベーション (5)
- Database (2)
- 月額制 (1)
- PaaS (3)
- ACF (1)
- BookReview (3)
- サービス開発 (5)
- React (3)
- Firebase (1)
- クラウドサービス (12)
- low-code (2)
- バックエンド (8)
- ナレッジマネジメント (1)
- ChatGPT (1)
- Vue.js (2)
- Tailwind CSS (1)
- DBaas (2)
- プロジェクト管理 (13)
- セミナー (2)
- Web (21)
- 失敗事例 (2)
- Hexabase_health (1)
- 生成AI (7)
- 受託開発 (1)
- Kubernetes (3)
- WebComponents (1)
- 通知 (1)
- API (6)
- Next.js (1)
- フレームワーク (3)
- ローコード開発 (4)
- ノーコード開発 (1)
- JavaScript (2)
- Hexabase (12)
- LLM (3)
- 画像生成 (1)
- DX (34)