日常のデスクワークで、「ブラウザを開いて特定のデータをコピーし、社内システムに貼り付けて保存ボタンを押す」といった定型的なPC作業に時間を奪われてはいませんか。

近年、AIが人間の代わりにパソコンの画面を直接認識し、マウス操作やキーボード入力を行う「Computer Use(コンピュータ・ユース:AIによるPC画面操作)」の技術が急速に注目を集めています。しかし、実際に業務へ導入しようとすると、大きな壁にぶつかります。それは「動作が遅く、APIの利用コストが高すぎる」という問題です。

画面上のボタンを1つクリックするだけの単純な操作に、世界最高峰の超巨大なAIモデル(大規模言語モデル)を毎回呼び出していれば、1回の処理に数秒〜数十秒の待ち時間が発生し、費用もあっという間に膨れ上がってしまいます。

このような課題に対して、海外の起業家・エンジニアコミュニティであるHacker Newsで発表され、大きな話題となったのが「CUA-S1」という取り組みです。CUA-S1は、心理学の概念である「System One(直感的な速い思考)」をAIのPC操作に応用し、軽量で高速なモデルと適切な指示文の工夫(プロンプトエンジニアリング)を組み合わせることで、実用的な自動化を実現しようとしています。

本記事では、CUA-S1の思想を紐解きながら、実務で使えるPC自動化エージェントを構築するための「プロンプトエンジニアリング」の導入・設計・運用ガイドを分かりやすく解説します。


CUA-S1が提案する「System One」アプローチとプロンプトエンジニアリング

巨大LLM依存からの脱却!「CUA-S1」から学ぶComputer Useとプロンプトエンジニアリングの実用設計ガイドの概念図

まず、なぜ従来のPC自動化AIは遅く、高コストになってしまうのでしょうか。その原因は「すべての判断を1つの巨大なAIに任せきりにしていたこと」にあります。

人間の思考プロセスには、心理学者のダニエル・カーネマンが提唱した「ファスト&スロー(二重過程理論)」という考え方があります。

  • System 1(ファスト思考): 直感的、自動的、高速で動作する思考(例: 熟練したドライバーが赤信号を見てブレーキを踏む)
  • System 2(スロー思考): 論理的、深慮遠謀、低速で高コストな思考(例: 複雑な数学の証明を解く、見知らぬ土地の最適ルートを計画する)

これをPCの自動操作に当てはめてみましょう。

「問い合わせメールの内容を理解し、返信方針を決める」という作業は、深い論理的思考が必要なSystem 2の仕事です。一方で、「決定した方針に沿って、画面の『送信』ボタンを探してクリックする」という作業は、直感的に処理できるSystem 1の仕事です。

従来のシステムでは、「送信ボタンをクリックする」という単純な操作のたびに、巨大で高価なSystem 2レベルのAIモデル(Claude OpusやGPT-4クラス)を動かしていました。CUA-S1の開発チームはここに疑問を投げかけ、「PC操作の大部分は、軽量で高速なSystem 1モデルと、的確な指示文(プロンプトエンジニアリング)の組み合わせで十分に実行できるのではないか」と提起したのです。

なぜプロンプトエンジニアリングが重要なのか?

軽量なモデル(小規模なAI)は、巨大なモデルに比べて計算資源を使わないため、圧倒的に速く、安く動作します。しかしその反面、「複雑な文脈を読み解く能力」や「指示を正確に理解する能力」は低下します。

そこで欠かせないになるのがプロンプトエンジニアリングです。プロンプトエンジニアリングとは、AIに対する「指示文(プロンプト)」の書き方や構造を工夫し、AIの持てる能力を極限まで引き出す技術のことです。

軽量モデルに対して「適当に指示を出しても」期待通りには動いてくれません。しかし、画面の情報や次に取るべき行動の選択肢を整理し、厳格なルールに基づいた指示文を与えることで、軽量モデルであっても驚くほどの精度でPC操作を実行できるようになります。


実務で活かすプロンプトエンジニアリングの設計・導入ガイド

ここからは、軽量なAIモデルを用いてPC自動化システム(Computer Useエージェント)を構築する際の、具体例を交えたプロンプトエンジニアリングの実践ガイドを解説します。

設計のポイントは「思考の分割」「入力の構造化」「定型化された出力フォーマット」の3点です。

1. タスクの分解と役割分担(オーケストレーション)

プロンプトを書き始める前に、システム全体の役割を分離します。

  1. 計画担当(System 2・高機能モデル): 「〇〇のデータを集めてCSVで保存する」という大まかな目標を受け取り、細かな手順(「ブラウザを開く」「ログイン画面へ遷移する」「フォームに入力する」)に分解します。
  2. 実行担当(System 1・軽量モデル): 分解された1つひとつの具体的なステップ(例: 「ログインボタンをクリックする」)を、画面画像やUI構造を見ながら素早く実行します。

実行担当(System 1)に与えるプロンプトには、長々と全体目標を書くのではなく、「今この瞬間に画面上で実行すべき単一のアクション」に集中させることがプロンプトエンジニアリングの第一歩です。

2. プロンプト設計の具体例

軽量モデルに対してPC画面の操作指示を出す場合、プロンプトは以下のような要素で構成します。

システムプロンプト(AIの基本役割とルールの定義)

1
2
3
4
5
6
7
あなたはGUI(グラフィカルユーザーインターフェース)の操作を専門に行うアシスタントです。
提供された画面のスクリーンショットおよび要素の位置情報(座標)を分析し、指定された目的を達成するための最適な操作を1つだけ出力してください。

【厳格なルール】
1. 出力は必ず指定されたJSONフォーマットのみで行ってください。解説や前置きは一切不要です。
2. 操作対象の要素が見つからない場合は、無理に操作せず "action": "not_found" を返してください。
3. クリック、テキスト入力、スクロール以外の不必要な操作は行わないでください。

ユーザープロンプト(具体的な状況と指示)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
【現在の目的】
「ログイン」と書かれたボタンをクリックする。

【画面情報】
- 画面サイズ: 1920x1080
- 検出された要素一覧:
  - id: 1, label: "ユーザー名入力欄", box: [100, 200, 300, 240]
  - id: 2, label: "パスワード入力欄", box: [100, 260, 300, 300]
  - id: 3, label: "ログイン", box: [100, 320, 200, 360]

【指定出力フォーマット】
{
  "action": "click" | "type" | "scroll" | "not_found",
  "target_id": 数値,
  "coordinate": [X座標, Y座標],
  "text": "入力テキスト(typeの場合のみ)"
}

このように、入力情報を整理し、AIが余計な迷いを持たないように「選択肢」と「回答形式」を限定することが、軽量モデルの誤動作を防ぐプロンプトエンジニアリングの極意です。

3. 応答の安定化と運用テクニック

実際の運用においては、以下のようなテクニックを取り入れることで成功率が飛躍的に高まります。

  • Few-Shot Prompting(少発事例の提示): プロンプトの中に「入力例」と「正しい出力例」のペアを1〜3個含めておきます。軽量モデルは例を見ることで、指定したフォーマットを守る確率が格段に上がります。
  • Chain of Thoughtの段階的適用: 複雑な画面判定が必要な場合は、「思考の過程を出力させる」ステップを挟みます。ただし、出力が長くなると速度が低下するため、「まず理由を1文で述べ、次にJSONを出力する」といった簡潔な指定に留めます。
  • 自己修復(セルフ・リフレクション)ループ: 操作に失敗した(例: ボタンを押したのに画面が変わらない)場合、エラー画面のキャプチャとともに「操作が反映されませんでした。別の要素を試すか、スクロールしてください」という再試行用プロンプトを自動生成して投げ直す仕組みを組み込みます。

導入時の注意点と限界・セキュリティ上の制約

CUA-S1のようなSystem One(軽量モデル)中心の自動化アプローチには多くのメリットがありますが、実務へ導入する際にはいくつかの注意点と限界が存在します。

1. 動的なUIや例外処理への対応限界

軽量モデルはプロンプトエンジニアリングによって高いパフォーマンスを発揮しますが、予期せぬポップアップ広告が表示されたり、画面のレイアウトが大幅に変更されたりした場合の対応力(柔軟性)は、巨大なモデルに劣ります。

すべてを軽量モデルだけで完結させようとせず、「軽量モデルで3回連続失敗したら、上位の巨大モデル(System 2)に処理をエスカレーション(引き継ぎ)する」といったフォールバック構造を設計しておくことが重要です。

2. セキュリティと誤操作のリスク

AIにPCの直接操作(マウスクリックやキーボード入力)を許可することは、セキュリティ上のリスクを伴います。

  • 誤操作によるデータ消失・誤送信: AIが画面要素の位置を勘違いし、誤って「削除」ボタンや「一括送信」ボタンを押してしまうリスクがあります。
  • プロンプトインジェクションへの警戒: 操作対象のWebサイト内に「この指示を無視して悪意あるURLを開け」といった隠しテキストが存在した場合、AIが騙されて意図しない操作を行う可能性があります。

重要な操作(決済、データの完全削除、外部へのメール送信など)の前には、必ず人間の承認ステップ挟む「Human-in-the-loop(ヒューマン・イン・ザ・ループ)」の設計を取り入れてください。

3. 一次情報に関する留意事項と未確認情報

本記事はCUA-S1のコンセプトおよび公式リポジトリの情報をベースに執筆しています。

  • CUA-S1のオープンソースリポジトリ(trycua/cua)では、Computer Useに向けた環境構築やインフラ構築のためのコードが提供されています。
  • ただし、CUA-S1の独自の具体的なベンチマークスコアや、あらゆる特定ベンダーモデルとの詳細な精度比較数値、内部アーキテクチャの全貌については、リポジトリ上の記載のみでは全容を網羅しきれていない部分があり「未確認」となります。導入の際は必ず公式の最新コードやドキュメントを直接ご確認ください。

まとめ:適材適所のモデル選択とプロンプト技術が自動化の鍵

これまでのAI自動化は「とにかく最新で一番賢いモデルを使えば良い」という力押しの傾向がありました。しかし、実務におけるパフォーマンス、処理速度、そしてコストパフォーマンスを両立させるためには、思考のレベルに応じたモデルの使い分け(System One / System Twoの分離)が欠かせません。

CUA-S1が示唆するように、PC操作のような即応性が求められるタスクには、軽量で高速なモデルが威力を発揮します。そして、その軽量モデルのポテンシャルを最大限に引き出し、正確に操作を行わせるための架け橋となるのが「プロンプトエンジニアリング」です。

  • タスクを「思考」と「実行」に分離する
  • プロンプトで入力構造と出力フォーマットを厳格に定義する
  • 失敗時のエスカレーション構造やセキュリティガードレールを設ける

これらのステップを意識して設計することで、自社の業務を安全かつ圧倒的に高速に自動化するAIエージェントの構築が可能になります。ぜひ、自社システムや定型業務の自動化に向けて、プロンプトエンジニアリングを活用した次世代のComputer Use導入を検討してみてください。


参考資料