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

ハーネスとは何か
ハーネスとは、AIが安全に開発作業を進めるためのレール・柵・信号機の総称です。
車でたとえると、AIは高性能なエンジンです。
でも、エンジンだけでは安全に走れません。
必要なのは以下です。
- 道路
- 標識
- ガードレール
- 信号
- ブレーキ
- 走行ログ
- 点検ルール
開発で言えば、これがハーネスです。
ハーネスを構成するもの

| 要素 | 役割 | 例 |
|---|---|---|
| ワークフロー | 作業の順番を決める | 仕様化 → 設計 → 実装 → 検査 → リリース |
| 検証ゲート | 次に進んでよいか確認する | lint/check、テスト、CI |
| ガードレイル | 危険な操作を止める | 生成ファイル編集禁止、--no-verify禁止 |
| ルール | 判断基準を与える | コーディング規約、開発方針 |
| 手順書 | 繰り返す作業を定型化する | E2Eテスト手順、リリース手順 |
| 観測基盤 | 何が起きたか記録する | 開発プロセスのイベントログ |
| エージェント定義 | 誰が何をしてよいか決める | 指揮役、実装役、検査役 |
| 成果物定義 | どのファイルが正か決める | OpenAPI、DDL、設計ドキュメント |
| 適用ポリシー | どの強さで止めるか決める | shadow / warn / block |
| 適用ポイント | どこで止めるか決める | エディタ、Git Hook、CI |
ハーネスエンジニアリングの本質
ハーネスエンジニアリングとは、AIの出力を毎回人間が目視で頑張って直すことではありません。
AIが間違えにくく、間違えても早く止まる構造を作ることです。
ハーネスがない場合
- AIが実装する
- 人間がレビューする
- 見落とす
- CIや本番で壊れる
- 後から直す
ハーネスがある場合
- AIが実装する前に影響範囲を調べる
- 編集してよいファイルだけを変更する
- 仕様IDとテストを紐づける
- ローカルで検証する
- Git Hookで危険操作を止める
- CIで最終確認する
ポイント
ハーネスはAIの自由を奪うものではありません。
むしろ、AIが安心して大きな作業を任されるための安全装置です。