コンテンツにスキップ
LinkedInX

ハーネスエンジニアリングとは何か:AIをプロジェクトで継続的に使うための設計手法

AIをプロジェクトで使い続けるときに生じる問題

AIを個人的な質問への回答に使う場合と、プロジェクトに継続的に組み込んで使う場合では、直面する問題が異なります。

プロジェクトでAIを使い始めると、次のような状況が繰り返し起きます。先週AIに依頼して設定した内容を、今週また別の会話で依頼すると、異なる方法で実装される。ルールを守ってほしいと一度伝えても、次の会話では守られていない。これはAIの性能が低いわけではなく、AIが会話をまたいで記憶を保持しない仕組みによるものです。

この問題の対処として、私がこのサイトを構築する過程で体系化したのが「ハーネスエンジニアリング」という設計手法です。

「ハーネス」という名前の意味

ハーネス(harness)は馬具を指す言葉で、馬の力を正しい方向に制御するための道具です。AIを単なる質問応答ツールとして使うのではなく、プロジェクトの目的に沿って一貫した動作をするよう「制御の仕組み」ごと設計する、という考え方からこの名前を使っています。

AIそのものを変えるのではなく、AIが参照する設定・ルール・手順を整えることで、プロジェクト全体での動作を安定させることが目的です。

3層の構造

ハーネスエンジニアリングは、大きく3つの層から構成されます。

1. プロジェクト設定(CLAUDE.md)

AIがプロジェクトを開始するときに最初に読む設定ファイルです。「このプロジェクトでは何をしてはいけないか」「どのディレクトリに何があるか」「使ってよいコマンドはどれか」といった基本方針を記述します。新入社員に渡す「オリエンテーション資料」に相当します。

2. ルール・スキル集(shared/ディレクトリ)

具体的な作業ごとの手順や制約をまとめたファイル群です。たとえば「コンテンツの書き方」「デプロイ手順」「レビューの基準」などが該当します。プロジェクトの「業務マニュアル」です。AIはタスクに応じて該当するファイルを参照します。

3. 教訓ログ(lessons.md)

過去に発生した問題と対処方法を記録するファイルです。AIは会話をまたいで記憶を保持しないため、同じ問題が繰り返されることがあります。教訓ログをAIが読むことで、過去に解決済みの問題を再現させないための情報を提供します。

技術的な知識がなくても設計できる

ハーネスエンジニアリングの構成要素は、いずれもMarkdownテキストファイルです。プログラミングの知識は必須ではありません。「どんなルールを守ってほしいか」「何をしてはいけないか」「どういう手順で作業してほしいか」を言葉で整理できれば、ハーネスを設計できます。

逆に言えば、この設計なしにAIをプロジェクトに組み込むと、会話のたびにルールを再説明する手間が発生し、AIの判断が会話ごとにばらつくという状況が続きます。

まとめ

ハーネスエンジニアリングは、AIを単発の質問応答に使うのではなく、プロジェクトの中で継続的かつ一貫して動かすための設計手法です。設定ファイル・ルール集・教訓ログの3層を整えることで、AIの動作をプロジェクトの方針に沿ったものにできます。

このサイトの以降の記事では、各層の具体的な設計方法を説明します。