AIコード生成の品質を保つ「ハーネスエンジニアリング」とは?
Harness Engineering
AIコーディングアシスタントが生成するコードは一見正しく見えても、時間とともに規約違反や設計からの逸脱が蓄積し、コードベースの整合性が静かに侵食される。この問題に対処する「ハーネスエンジニアリング」は、テストハーネスと同じ発想で、AI生成コードを検証する仕組みだ。コンテキストエンジニアリング、アーキテクチャ制約、ガベージコレクションの3要素で構成され、検証スロットを介して制約を強制する。さらに、制約の成熟度に応じて検証をエージェントから決定的ツールへ移行する「プログレッシブハーデニング」や、ハーネス自身が運用履歴から学習する自己改善機能も備える。
ハーネスはプログラマーを信頼しない。検証する。
HNでの議論
42- ricardobeat
「ハーネスエンジニアリング」という用語は、Birgitta Boeckeler氏のmartinfowler.comの記事から来たものではありません。それは数ヶ月前、Mitchel Hashimoto氏が自身のブログ記事「My AI adoption journey」[1]で初めて使い、1週間後にはすぐにOpenAI[2]が採用しました。
また、このテキストは完全にAI生成であるだけでなく、人間ではなく他のエージェントが読むことを意図している点も注目に値します。
- iTokio
新技術の出現を目の当たりにし、人々が手探りでそれを理解しようとする様子を見るのは魅力的です。
個人的には、AIをめぐって使われる多くの言葉、ハーネス、SKILLS、エージェント、RAGなどは、作り言葉かそれに近いもので、深い意味を持たないと思います。人々はしばしば後付けで意味を与えようとしていますが。
それらは、新しい知識を主張したり、製品を売り込んだりするために使いたがる、十分に異なる流行語に過ぎません。
しかし、抽象的な「ハーネス」の代わりに「AIツール」を使うこともできますし、具体的なユースケース(エージェントループ、CLI、IDEなど)にはより正確な用語を使う方が良いでしょう。
論文が注目を競っていた時代には楽しいゲームでしたが、今や実証済みの技術となった以上、より正確で意味のある言葉が見つかることを願っています。
- gardnr
この記事の元になったオリジナル記事はこちらです: https://martinfowler.com/articles/harness-engineering.html
そして、オリジナルの著者がポッドキャストで語っているのはこちらです: https://open.spotify.com/episode/4FxEdjXldNhoh67KYVmbDu
- davedx
この部分は関連性が高いようです。彼らはHARNESS.md文書とAGENTS.mdの違いを明確にしています。実際興味深いです: https://habitat-thinking.github.io/ai-literacy-superpowers/p...
- lacoolj
これがAI生成だと言っているわけではありませんが、非常に密度が高く、簡単に情報を得られるような読み物には思えません。