AIに「上手く」仕事を任せるコツ:AIの理解力に甘えない「仕事の切り出し方」

理解力が増したAIに、なぜ「丸投げ」できないのか
今回は、AIにどうやって仕事を振れば、思ったように動いてくれるようになるのかを解説していきます。
2022年末頃からサービス提供が始まったChatGPT-3.5から、対話可能なAIによって一部の作業をAIに任せるという手法がいくつも生まれました。
当初は、AI側も構文解析力が弱かったため、特に自由な文書を作れる日本語に対しては理解力が低く、一定の構文で命令をするプロンプトエンジニアリングが必須とされていました。
しかし、あれからたった3年程度でAIの理解力は飛躍的に向上し、日本語に対しても行間を読む力が増え、雑な指示でも空気を読んで返してくれるようになりました。
これにより、AIに対して最終的にやらせたいことだけ発言することで、間を全部埋めて作ってくれる、というような多くの人がAIに求めている結果が返ってきます。
しかし、それでも「思ってたのと違う」とか「結果はあってるけど過程がめちゃくちゃなので他のパターンだと動かない」など、まだまだ100%放任でAI任せにすることは難しい状態です。
そのため、「AI使うより自分でやるほうがまだ早い」と思う人や、「そもそもAIが信用できない」という人も居ます。
その一方で、AIを併用することで作業効率を爆発的に上げている人も居り、AIによって生産性が数倍になることもあります。
この差は一体どこで生まれているのでしょうか?
具体例:簡単な「電話帳アプリ」をAIに作らせる落とし穴
例題として、次のようなタスクがあったとします。
はい、簡単で雑な指示です。
もし、ITエンジニアとして働いている方であれば、大まかに必要な画面遷移、DBのテーブル情報、何をインプットしてアウトプットするのか等はパッと浮かぶと思います。
そうでなくとも、何かしら必要そうなものは浮かぶと思います。
それでは、このタスクを実現するため、細かく必要な作業に分けて見ましょう。
![]()
表1:タスク一覧
- 電話帳アプリの目的定義
- 使用技術の選定
- データ設計
- データ保存方法の選定
- 画面の構成(一覧・編集・検索)
- 入力チェック(バリデーション)
- 検索機能(何で検索するか)
- 並び替え機能
- エラーハンドリング
- バックエンド処理
- フロントエンド処理
- API設計(必要であれば)
- セキュリティ
- テスト
- 運用要素(バックアップ等)
決めること、やること、考えることはたくさんあります。
人間が全てやる場合、これらの要素を全て調べ、考え、実装していくことになります。
確かに要件としては簡単ですが、それでも1日はあった方が良い作業です。
一方、AIが全てやる場合、これらの要素を全てAIが調べ、考え、実装していくことになります。恐らく20分と掛からずに実際に動くものが作成可能です。
これだけを聞くと、AIにやらせる方がどう考えても効率が良いです。
しかし、実際に出来上がったものを確認してみると、中々一発でOKにはならなかったりします。(例えば、番号のチェックで融通が効かない形になっていたり、UIが何か微妙だったり)
そのため、これの手直しを何回もやることになり、それで時間を使ってしまいます。(まあ、それでも完全手作業よりは多少早いですが)
なぜそうなるのでしょうか?
これは、仕事の渡し方の問題になります。
理想の結果を引き出すための「条件定義」
仕事や作業においては、「誰がやっても同じ結果が得られるもの」と「人によって得られる結果が違うもの」の2種類あります。
例えば、「数字Aと数字Bを入れて、ボタンを押すと数字Cが計算されて表示される」というタスクがあるとします。
これは、誰がやっても同じ結果が得られるものです。なぜならば、得られる結果まで決まっているタスクになるからです。
一方、「数字Aと数字Bを入れて、ボタンを押すと数字Cが計算されて表示される画面を出す」というタスクがあるとします。
これは、人によって結果が変わります。なぜなら、どのような画面かを提示していないため、作る人の感性によって画面が変わるからです。
つまり、誰に渡しても同じ結果が得られるタスクと、違う結果が得られるタスクに分けられることになります。
ここで、AIや他人に作業を渡した場合、自分が本当に求めている内容を得るためにはどうすれば良いでしょうか?
まずは、渡すタスクを上の2種類に分けてみます。先ほどの電話帳アプリの例でいうと、次のようになります。
![]()
表2:結果の分類
同じ結果が得られるもの
- 入力チェック(バリデーション)
- エラーハンドリング
- バックエンド処理
- フロントエンド処理
- セキュリティ
- テスト
- 運用要素(バックアップ等)
違う結果が得られるもの
- 電話帳アプリの目的定義
- 使用技術の選定
- 検索機能
- 並び替え機能
- データ設計
- データ保存方法の選定
- 画面の構成(一覧・編集・検索)
- API設計(必要であれば)
これで、しっかり決める必要があるタスクが分割されました。
あとは、この違う結果が得られるものに対して詳細を記載していきます。もっとも、他人に依頼する場合は誤解がないように細かく詰めて記載するべきなのですが、今回はAIに仕事をさせるため、AIが理解出来る程度で十分です。
例えば、次のようになります。
- 電話帳アプリの目的定義 → 名前と電話番号を記録し、ふりがなの索引から検索できるように
- 使用技術の選定 → htmlとローカルDBで
- 検索機能 → ふりがな、漢字、電話番号でそれぞれ検索可能
- 並び替え機能 → ふりがな順の昇順・降順
- データ設計 → ふりがな、漢字、電話番号
- データ保存方法の選定 → ローカルDBのテーブルに保存、addressテーブル
- 画面の構成(一覧・編集・検索)→ 検索画面を上部に置き、検索すると下部に一覧表示。新規登録ボタン、編集ボタンがあり、押すとふりがな、漢字、電話番号の登録・更新ができる。また、削除ボタンを配置し、削除できるようにする
- API設計(必要であれば → APIは不要
そして、これを元にAIを使い、プロンプトを作成してもらいます。作成されたプロンプトは次のような形になります。
## 電話帳アプリ開発用プロンプト
**タイトル:HTMLとローカルDB(IndexedDB/Web SQL)を使用した電話帳アプリの開発**
### 1. 開発の目的と概要
名前と電話番号を管理する、シンプルで使い勝手の良い「電話帳アプリ」を作成してください。
主な目的は、データの記録および「ふりがな」を軸とした効率的な検索・管理です。
### 2. 使用技術
* **フロントエンド:** HTML5, CSS3, JavaScript
* **データ保存:** ローカルDB(ブラウザの**IndexedDB**を想定)
* **アーキテクチャ:** 外部APIは使用せず、クライアントサイドのみで完結する構成
### 3. データ設計
以下の項目を持つ `address` テーブルを作成してください。
* `id`: 自動増分(Primary Key)
* `furigana`: ふりがな(検索・ソート用)
* `kanji`: 漢字氏名
* `tel`: 電話番号
### 4. 画面構成とUI設計
1枚のページ(Single Page Application構成)で、以下の要素を配置してください。
* **上部:検索セクション**
* 検索窓(テキスト入力)
* 検索実行ボタン
* **中部:操作セクション**
* 「新規登録」ボタン(押下で入力フォーム表示/モーダル等)
* ソート切り替え(ふりがなの昇順・降順切り替えスイッチ/ボタン)
* **下部:一覧表示セクション**
* 検索結果(または全件)をリスト表示
* 各行に「編集」ボタンと「削除」ボタンを配置
### 5. 機能要件
* **検索機能:** 「ふりがな」「漢字」「電話番号」のいずれの入力でも部分一致でヒットするようにしてください。
* **並び替え機能:** 「ふりがな」を基準とした、昇順(ア~ン)および降順の並び替えができること。
* **データ操作(CRUD):**
* 新規登録:ふりがな、漢字、電話番号を入力して保存。
* 編集:既存データの内容を修正して更新。
* 削除:確認ダイアログ表示後、データを削除。
### 6. 出力形式
* HTML、CSS、JavaScriptのコード(必要であれば1つのファイルにまとめても可)を出力してください。
* IndexedDBの初期化、データの保存・取得・検索・ソート処理をJavaScriptで具体的に実装してください。
ポイントは、「自分でやる時に選択肢(迷い)が生じる部分」を、あらかじめ人間が決めておくことです。
この「人間が定義すべきもの」を詳細に書き出し、それをプロンプトに組み込むだけで、AIはあなたの意図を正確に汲み取った結果を出力してくれます。
終わりに:エンジニアの価値は「AIの使いこなし」へ
生成AIが発達し、専門知識がなくても少し調べれば、簡単なアプリケーションを作ることができるようになってきました。
しかし、だからと言ってエンジニアの価値が下がったかといえば別で、むしろ効率的に生成AIを活用できる方法を、仕事を通じて無意識に知っている、という価値が上がっています。
なんとなく新しすぎてよく分からないものに対して忌避感がある、というのはよくあります。
しかし、嫌ってばかりでは置いていかれるだけですので、まずは、今日明日のちょっとした作業から、AIへの「上手な任せ方」を試してみてはいかがでしょうか。
Search
よく読まれている記事
カテゴリ
アーカイブ
あなたに最適な解決策を一緒に考えます。
状況に応じた最適なご提案で、お客様の課題解決をサポートいたします