なぜ学ぼうと思ったのか
これまでAIエージェントとは単発のやり取りで、
開発を進めていましたが、
似たような作業が多く、
同じ指摘や修正指示を何度も繰り返す負担を感じていました。
そこで注目したのが、
エージェントを適切に制御する枠組みである「ハーネス」と、
指示・実行・評価を自動で回す「ループ」の仕組みです。
AIエージェントのコントロール力を高めつつ、
試行錯誤のサイクルを自走させる設計を身につければ、
毎回手動で軌道修正する手間を減らし、
日々の開発をずっと楽に進められると考え、学習を始めました。
使った教材
Udemyにあるはむさんの教材を使いました。
実践 Claude Code ハーネス設計完全ガイド
こちらの教材でAIの特性を学んだ後、
Hooks、SubAgent、/goalなど具体的な制御の仕組みを学びました。
動画で要領を掴んだあと、
実際にハーネスやループを導入して、システムを構築してみました。
運用体制
Claude Codeを使っています。
教科書的には、メインのエージェントと、
プランナー、ジェネレーター、エバリュエーターという、
3つのサブエージェントで回すのが定番になっています。
実際やってみたところ、
分離するほど規模感は大きくなく、
コンテクストをメインのエージェントにもたせたほうがよかったので、
メインエージェントとエバリュエーターで、
ループを回すことに落ち着きました。
コミット前に、別窓のエージェントに、
厳し目のレビュー用のプロンプトを渡して、
さらにレビューさせます。
特にセキュリティは厳し目にレビューさせます。
この運用スタイルに落ち着きました。
HooksとSubAgentの役割分担
まずエージェントが動く前に、Hooksが発動します。
マイグレーションやコミットを勝手にできないようにしてます。
エージェントが動いた後に、
Hooksがフォーマッター、リンター、自動テストなどの処理をします。
コードレビューはSubAgentに任せます。
重要度が中以上のものは、メインエージェントに修正させます。
無限ループを防ぐため最大5回までラリーを続けさせます。
超える場合は人間が処理します。
ループの粒度
よく一晩AIに作業させて、朝起きたら完了しているというような話があります。
実際のところ新規開発だと、
粒度が大きすぎると、
自分が思っているのと違うものに仕上がりやすいです。
結局のところプルリクエスト1本分ぐらいで、
ループ回すのがいいんじゃないかなと思いました。
得られたメリット
AIは、頭もいいし、作業も早いので、
人間の集中力や気力などがボトルネックになってきました。
ハーネスをしっかり設定することによって、
人間の労力を削ることが出来ます。
またAIにレビューさせることで、
人力レビューを軽くすることが出来ました。
まとめ
現代のシステム開発では、人間の労力がボトルネックになっています。
ハーネス&ループエンジニアリングを学習することで、
人間の労力を大幅に削減し、AIに任せることが出来ます。
しっかり学ぶことで、生産性を向上させることが出来ました。


