スキップしてメイン コンテンツに移動

上位モデルが正解?AI実務で気づいた「Harness Engineering」の本当の価値

AI Harness Engineering - モデル選定とコスト最適化戦略

Claude Fable 論争、そして相次ぐ質問

Anthropicの新モデル Claude Fable 5 がリリースからわずか3日で米国政府の指示によりアクセス停止という前代未聞の事態が起きました。サイバーセキュリティの脆弱性悪用の可能性と安全対策の迂回方法が主な懸念点でした。この出来事がコミュニティ全体で話題になり、顧客や同僚から自然と質問が集まりました。

「Fableのような高機能モデルを導入すべきでしょうか?今使っているモデルでは不十分ですか?」

私の答えは一貫しています。そしてこの記事では、その根拠を数値と実務経験で解説します。


私が使うモデルの基準線

以下の条件を満たすモデルの中から、最もコスト効率の良い(トークン単価が低い)モデルを選択しています。

プロバイダー 基準モデル 私の選択基準
Anthropic Claude Sonnet 4.5以上 Sonnet 4.x系列
OpenAI GPT-5.4 Codex以上 同等Mid-tier
Google Gemini 3 Flash以上 Flash系列

この基準線以上であれば、アーキテクチャ設計、大規模コードレビュー、複雑なインフラ分析も実務レベルで処理できます。実際に私は以下の作業をこの級のモデルで毎日行っています。

  • 単一プロジェクト内のソースファイル3万件以上の管理(コードレビュー、リファクタリング、アーキテクチャ分析)
  • 数百台規模のAWS + On-premise + Azure混合インフラのパフォーマンス分析と異常検知
  • リアルタイムの顧客AI環境の運用と障害対応

「高価なモデル = より良い結果」は誤った前提です

Claude Opus 4.8、GPT-5.5などの上位モデルも実際に使用しました。正直に言うと、アウトプットの質が劇的に向上するわけではありませんでした。

理由は明確です。

モデルの限界より、Harnessの限界が先に来ます。

2026年現在、AI開発方法論は3段階に進化しています。

第1段階(2022-2024): Prompt Engineering
   「何を言えば良い答えが得られるか?」

第2段階(2025): Context Engineering
   「どんな情報をどのように注入するか?」

第3段階(2026-現在): Harness Engineering
   「どんなシステムの上でエージェントを動かすか?」

Harnessとは、モデルを除くエージェントシステムのすべてです。

  • Role: エージェントのペルソナと責任範囲の定義
  • Rule: 行動制約、禁止パターン、品質基準
  • Skill: 再利用可能な専門能力モジュール
  • Workflow: マルチステップ作業のオーケストレーションロジック

この4つを精密に設計し、継続的に改善することで、モデルがSonnet級であれOpus級であれ、アウトプットの差は小さくなります。


上位モデルが実際に有効な2つの例外

例外1: Harnessが不十分な場合

Role、Rule、Workflowなしで使用すると、上位モデルほどモデル固有の判断力が発揮されより良い結果が出ます。Harnessが未完成であるほど、モデルの生の性能差が結果を左右します。

例外2: 極端な曖昧さと創造的推論が必要な場合

「前例のないアーキテクチャ問題」や「全く新しいドメインの設計」など、構造化が困難な問題ではOpus級の深い推論が明確に違いを生みます。ただしこのような作業は全業務の5%未満です。


実際のコスト構造とトークン消費問題

ティア 入力($/1Mトークン) 出力($/1Mトークン) 実務感
Top(Opus、GPT-5.5) ~$4–5 ~$25–30 トークンがすぐ枯渇、作業中断が多い
Mid(Sonnet、Codex) ~$0.8–1.5 ~$4–8 長いセッション維持可能
Flash / Mini系列 ~$0.1–0.3 ~$0.4–1.2 単純作業に最適

コンテキストを維持したまま作業を完走させることが、コスト削減より重要です。


顧客への提供環境:検証優先の原則

  1. 安定性最優先: 新モデルが出ても即時適用はしません。
  2. 並行検証必須: 既存モデルとの比較評価後にのみ移行を検討します。
  3. ロールバック保証: モデル変更には常に前バージョンへの復帰プランを含めます。

結論: 「モデルティアよりHarness品質」が実務の鉄則

精密なHarness + Mid-tierモデル > 貧弱なHarness + 最上位モデル

上位モデルへ移行する前に確認すべき4つのチェック:

  • Roleが十分に具体的に定義されているか?
  • Ruleが失敗パターンを予防するよう設計されているか?
  • Skillが再利用可能な形でモジュール化されているか?
  • Workflowがマルチステップ作業をオーケストレーションしているか?

皆さんの経験を教えてください

モデルティアが確実に結果を変えた具体的な経験があれば、ぜひコメントで共有してください。

コメント

このブログの人気の投稿

面倒くさいORACLEの文字化け状況

ORACLEはそもそもUTF-8をサポートしてほかの言語はサポートはしているって書いてますが親切ではないようです。 現在サーバー側は昔からUS7ASCIIに設定して日本語を入れてしまい、データは7ビットASCIIモードで読み取りながら日本語のコートがOS側とクライアント側で変換しない必要があります。 クライアント側で文字化けの解決にはNLS_LANGの設定が効くクライアントが必要ですが、一部の有料クライアントにはサポートするようです。 接続構造は参考に https://www.oracle.com/technetwork/jp/content/charcterset-250314-ja.pdf の19スライドのように クライアントからNLS_LANGをUS7ASCIIに設定しても その設定した言語にもらったUTF-8のデータをクライアントが変換すると NLS_LANGを設定しても意味がないようです。 ORACLE SQL Developerがこの様です。 ODBCと直接接続は必ずUTF-8に変換してしまうのでUS7ASCIIになっているDBからはクライアントをいくら変換しても文字化けのままです。 必ずOCI接続を通じてクライアント側から読み取らないとUS7ASCIIは勝手に変換されますね。 この全ての条件が満たした無料クライアントはA5mk2の2.9.1バージョンだけですね。 A5MK2 ver.2.9.1 : https://a5m2.mmatsubara.com/download/a5m2_2.9.1_x64.zip 2.9.1 バージョンでサーバーを設定する場合Uicode変換を強制に無視するオプションがあります。 多分このバージョンの時点ではUTF-8をメインにして設計したDBが少なかったから文字化け対応のためできたオプションでしょう。 しかし、A5mk2の新しいバージョンにもまた結果の変換をしないオプションがなくなって文字化けしてしまいます。開発者はもうUTF-8ではないDBはないと思ってるでしょう。まだまだ残ってますよ~。 クライアント側からの変換などに参考になればと思います! まだ直接お仕事になさってますか? もう遅いです!ソフトウェアロボットにお仕事を任せてどの位自分の作業分量が減ってるかをご確認ください! https://talklowy-jp.b...

コピペができないときチェックすべきこと! :: よく迷うUiPathのコツ

UiPath( https://uipath.com )はMicrosoft社のWWFを改良した製品なのでVisual Studioより初心者向けに使いやすくなっている。 しかし、初心者がそのまま使うにはかなりのハドルがある。 理由は基本開発者向けの開発ツールを無理やり便利に作ってみたとしても開発の概念と考え方がないと結構躓くことが多い。 そのなかで私もよく迷ったりしていることの一つを整理しとく。 基本Activityはすぐコピぺができるので多数のUiPath Studioを開いて開発してたりする。 ここでコピペをしても反応ないときがよくある。 この場合はこれをチェックすること! 1.Sequenceがなく一つのActivityしかないところにはペーストできないのが多い。 例えば、ifの処理ボックスにはSequenceが最初はない。 そのボックスに一つのActivityはペーストできるのに2個目からはなぜか反応ない。 それで分からないまま新しいActivityを追加してたりしたが、 あそこにSequenceを入れたら解決ができるのだ! 2.正常にペーストできるはずのところに反応ない。 この場合はPackageが合わなくペーストが効かないケースが多い。 DESIGN>Manage Packagesをクリックしてコピー元のパッケージにインストールされているのにコピー先にインストールされてないパッケージを探す! パッケージを一々見るのが難しい!と思ったら メモ帳からファイルがあるフォルダにあるproject.jsonファイルを開いてみる! あそこにJSONの形式でインストールされたパッケージが見えるので比較しやすくなる! ちなみにコピペをすると変数の宣言が大変だと思うが、 そこでもコツがあるのだ! 変数の宣言はなるべく細かくしてSequence単位で管理できるようにする。 全てに影響がある変数はしょうがないから一番広く宣言するけど。 初心者向けの説明だと、 Variablesというところをクリックして変数を開いたらScopeという範囲が見える! 大体Sequenceボックスの名前を変えてないのでSequenceがすらりと表示されてるはずが、Sequenceボックスの名前を付けてたら見やすくなる。 あ...

UiPath - Excelのシート名が存在した場合の処理

UiPath.Excel Activityは活用方法によってかなり強力ですが、隠れて探せない項目が多すぎて困ったりします。 公式ドキュメントもいまいちだし…。 Excelを自動化するには協力なUiPathの機能の中でSheetの判断処理を残します。 今まではシートがあったら何とかしようとしたら見つける方法が分からなく、ErrorのExceptionで判断したりしましたが、 workbook.GetSheets.Contains("<sheet name>") があったのをいまさら見つけました; 早速試してみましたが、 messageboxにworkbookとか書いてみても出てこない…。 これはExcel Application Scopeを利用しなければなりませんでした! まずExcel Application ScopeにExcelファイルを登録! Excel Application Scope Activityの属性にOutputにwbを入力して変数に入れます。 変数に入れてからMessageBoxに wb.GetSheet.Contains("Sheet1") を入力してみると成功! 「wb.」をおした時点でいっぱい出てきましたね。 ググってみても詳しく出て着なかったのでここにまず記録 giip - Free UiPath and Rpa Integrated Orchestration Service https://giipasp.azurewebsites.net