雰囲気で言葉を使っていたが違いがよく分かっていなかったので調べた。
正しい定義なんてものはなさそうだし今後も意味は変わっていきそうだが、少なくとも今はこのような理解をしている。
Agent = Model + Harness
Harness = Agent - Modelという理解でもいいかもしれない。
Claude CodeやCodexなどはフロントエンドのソフトウェアを見るとハーネスであり、バックエンドのモデルを含めるとエージェントであると考えるとよさそう。
ハーネスの分類
これらの記事では、ハーネスをエージェントに含まれる部分とそうでない部分に分類している。
- ビルダーハーネス
- コーディングエージェントに組み込まれた制御
- システムプロンプト・tool・compactなど
- ユーザーによる制御
- ユーザーがカスタマイズできる制御
- AGENTS.md・skills・テストなど
つまり、Agent = Model + Builder Harnessということ。
ただ、例えば”Everything is a plugin”なDeepSeek Harnessでビルダーハーネスはどこかというのは難しい話で、あまり本質的な分類ではないような気もしている。