Claudeをはじめとする大規模言語モデル(LLM)は強力な文章生成能力を持っていますが、そのまま業務に組み込むと予期しない出力やハルシネーション(事実と異なる情報の生成)のリスクがあります。このリスクを制御するための仕組みが「ハーネス」です。本記事では、ハーネスとは何か、なぜ必要なのかを解説した上で、実装パターンと具体的な設定例を紹介します。numomentのClaude研修では、このハーネス設計を体系的に教えており、AIを安全かつ正確に業務活用するための実践的な技術を習得できます。
ハーネスとは何か:LLMを制御するためのガードレール
「ハーネス」とは、LLMの入出力を制御し、期待通りの動作を保証するための仕組みの総称です。馬具のハーネスが馬の動きを制御するように、AIハーネスはLLMの出力を業務に適した形に制御します。具体的には、入力の前処理(プロンプトの構造化)、出力の検証(フォーマットや内容のバリデーション)、エラー時のフォールバック処理、人間による承認ゲートなどが含まれます。ハーネスは単一の技術ではなく、複数のレイヤーを組み合わせた制御アーキテクチャとして設計するのが効果的です。
ハーネスという概念は、ソフトウェアテストにおけるテストハーネス(テスト対象を制御された環境で実行する仕組み)から着想を得ています。LLMの場合も同様に、制御された条件下でAIを動作させ、その出力が期待通りであることを確認する仕組みが必要です。特に業務利用においては、AIの出力が直接的なビジネス判断や顧客対応に影響するため、ハーネスの設計は不可欠です。
なぜ生のLLM出力だけでは不十分なのか
LLMの出力をそのまま業務に使うことにはいくつかの根本的な問題があります。第一に「出力の非決定性」です。同じプロンプトでも、実行するたびに異なる出力が返される可能性があります。業務プロセスでは再現性が求められるため、出力のばらつきを許容できない場面が多くあります。第二に「ハルシネーションのリスク」です。LLMは学習データに基づいて尤もらしい文章を生成しますが、事実と異なる情報を自信を持って出力することがあります。特に数値データや法的情報、社内固有の情報については、ハルシネーションが致命的なミスにつながる可能性があります。
第三に「フォーマットの不安定さ」です。「JSONで出力してください」と指示しても、前後に説明文が付いたり、フォーマットが微妙に異なったりすることがあります。後続の処理でパースエラーが発生し、ワークフロー全体が停止するリスクがあります。第四に「セキュリティリスク」です。プロンプトインジェクション(悪意ある入力による意図しない動作の誘発)や、機密情報の意図しない漏洩など、セキュリティ上の懸念もあります。これらの問題に対処するために、ハーネスによる多層的な制御が必要なのです。
ハーネスの種類:5つのレイヤーで理解する制御アーキテクチャ
ハーネスは5つのレイヤーに分類できます。レイヤー1は「システムプロンプト」です。Claudeの動作を規定する最も基本的なハーネスであり、AIのペルソナ、制約条件、出力フォーマットなどを定義します。API経由で設定するシステムプロンプトはユーザーからは見えないため、一貫した動作を保証するための基盤となります。レイヤー2は「CLAUDE.md(プロジェクト設定ファイル)」です。Claude Codeなどの開発環境で使用される設定ファイルで、プロジェクト固有のルールや制約を定義します。チーム全体で共有されるため、開発プロセスの標準化に役立ちます。
レイヤー3は「Hooks(フック)」です。Claudeの実行前後に自動的に実行されるスクリプトで、入力のバリデーションや出力の後処理を自動化できます。例えば、コード生成後に自動的にリンターを実行したり、出力に機密情報が含まれていないかチェックしたりする処理を組み込めます。レイヤー4は「APIミドルウェア」です。APIリクエスト・レスポンスの間に挟むことで、トークン数の制限、レートリミット、ログ記録、コスト管理などを実現します。レイヤー5は「出力バリデーション」です。Claudeの出力が期待するスキーマや条件を満たしているかを検証する最終チェックポイントです。JSONスキーマのバリデーション、禁止ワードのフィルタリング、数値の範囲チェックなどが含まれます。
実装パターン1:構造化出力の強制
Claudeの出力を特定のフォーマット(JSON、CSV、XMLなど)に確実に制御するパターンです。システムプロンプトでフォーマットを指定するだけでなく、出力後にプログラムでパース・バリデーションを行い、失敗した場合は再試行する仕組みを構築します。実装のポイントとして、システムプロンプトには「出力はJSON形式のみとし、それ以外のテキストは一切含めないでください」と明記します。また、出力のパース処理では、正規表現でJSON部分を抽出するフォールバックロジックも用意します。例えば、Pythonでの実装は次のような構成になります。まずClaudeに構造化出力を要求し、レスポンスをjson.loadsでパースします。パースに失敗した場合は、正規表現で中括弧で囲まれた部分を抽出して再パースを試みます。それでも失敗する場合は、エラーメッセージを付与して再度Claudeにリクエストを送信します。最大3回まで再試行し、3回失敗した場合は人間にエスカレーションします。
実装パターン2:多段階検証によるハルシネーション防止
Claudeの出力内容の正確性を検証するために、複数のステップで検証を行うパターンです。ステップ1として、最初のClaudeリクエストで回答を生成します。ステップ2として、生成された回答に対して「この回答に事実と異なる情報が含まれていないか検証してください」という別のプロンプトでチェックを行います。ステップ3として、参照データベースやAPIと照合し、数値や事実情報の正確性を確認します。この多段階検証により、ハルシネーションのリスクを大幅に低減できます。コストは増加しますが、業務における正確性が求められる場面では、この投資は十分に見合うものです。特に、法務、財務、医療など、誤った情報が重大な影響を及ぼす領域では、多段階検証は必須のハーネスパターンと言えます。
実装パターン3:フォールバック処理の設計
Claudeの出力が期待通りでない場合に、代替手段に切り替えるパターンです。フォールバックの設計は、システムの信頼性を確保するために非常に重要です。具体的なフォールバック戦略として、以下の3段階を推奨します。第1段階「リトライ」では、プロンプトを修正して再度Claudeにリクエストを送信します。エラーの内容を伝えることで、Claudeが自己修正する機会を与えます。第2段階「モデル切り替え」では、別のClaudeモデル(例:Claude Sonnetで失敗した場合にClaude Opusに切り替え)や、異なるパラメータ設定で再試行します。第3段階「人間エスカレーション」では、自動処理での解決が困難な場合に、人間のオペレーターに処理を引き継ぎます。この際、Claudeの出力とエラー内容をまとめて引き継ぎ情報として提供します。
フォールバック処理の設計では、各段階のタイムアウトとリトライ回数を適切に設定することが重要です。また、フォールバックが発生した回数と原因をログとして記録し、プロンプトやシステムの改善に活用するサイクルを確立しましょう。
実装パターン4:人間承認ゲートの設計
すべてのAI出力を自動的に処理するのではなく、重要度や影響度に応じて人間の承認を必要とするゲートを設ける設計パターンです。Human-in-the-Loop(HITL)とも呼ばれるこのパターンは、AIの効率性と人間の判断力を最適に組み合わせるものです。承認ゲートの設計では、まず「どの条件で承認を求めるか」を明確に定義します。例えば、金額が一定以上の場合、外部に送信する文書の場合、法的判断を含む場合、過去に類似のエラーが発生した場合などです。Claude Codeの設定ファイルでは、特定のコマンドの実行前に承認を求めるHooksを設定できます。業務アプリケーションでも同様に、Claudeの出力を一時保存し、承認者に通知を送り、承認後に後続処理を実行する——というワークフローを構築します。
実装パターン5:ログ監査と継続的改善
ハーネスの最終レイヤーとして、すべてのAIの入出力をログに記録し、定期的に監査する仕組みを設けます。このパターンは、問題の早期発見と、プロンプトやハーネスの継続的な改善に不可欠です。ログに記録すべき情報は、タイムスタンプ、入力プロンプト(またはその要約)、Claudeの出力、バリデーション結果(合格/不合格)、フォールバックの発生有無、人間のレビュー結果(承認/修正/却下)、処理時間、トークン使用量です。これらのログを定期的に分析することで、頻出するエラーパターンの特定、プロンプトの改善機会の発見、コスト最適化のためのトークン使用分析、ハーネスの有効性の評価などが可能になります。
ログ監査の頻度は、運用の初期段階では毎日、安定期に入ったら週次で行うことを推奨します。監査で発見された問題は、プロンプトの修正やバリデーションルールの追加として即座にフィードバックし、ハーネスの精度を継続的に向上させていきます。
numomentの研修で学べるハーネス設計の体系
numomentのClaude研修プログラムでは、上記のハーネス設計パターンを体系的に学ぶことができます。研修では、単にプロンプトの書き方を教えるだけでなく、AIを業務に安全かつ効果的に組み込むための制御アーキテクチャ全体を設計する力を養います。具体的には、業務分析に基づくハーネス要件の定義、各レイヤー(システムプロンプト、Hooks、APIミドルウェア、出力バリデーション)の実装方法、フォールバック戦略と人間承認ゲートの設計、ログ監査と継続的改善のフレームワーク、セキュリティとコンプライアンスの考慮事項などを実践的に学びます。ハーネスを正しく設計できるかどうかが、AIの「試験導入」と「本格的な業務活用」の分かれ目です。プロンプトエンジニアリングだけでなく、AIの出力を制御する仕組み全体を設計できる人材が、これからの企業には不可欠なのです。
関連記事
Claude研修プログラムの設計方法について詳しく知りたい方は、 Claude AI研修プログラム設計ガイド2026 をご覧ください。また、非エンジニア向けの活用法については、 非エンジニアのためのClaude活用ガイド2026 も参考になります。