AIに開発を任せられるようになったのに、なぜ非エンジニアが、進捗管理・エラーへの指示・引き継ぎ・検証までエンジニア視点の設計しなければならないのでしょうか。
簡単なツールならAIで開発できました。
ブックマークをリスト化、チャットボットで大量のブックマークから該当記事を探す、というツールでした。
その経験から、もう少し複雑なサービスも作れると思っていました。
今度は管理画面があり、ユーザーと企業がダッシュボードを使うアプリを作り始め、リリース予定を3か月遅らせても、理想完成状態まで完成させられませんでした。
私は、事業を企画する側の人間です。
誰に何を提供したいか、どのようなサービスにしたいかは考えられます。
しかし、コードを読んで修正の妥当性を判断できるわけではありません。
実際に取り組んだのは、法人やユーザーを管理する機能のあるサイトや、取得したデータをユーザーのログと組み合わせ、レポートを作って販売するサービスです。
そこで困ったのは、エラーが出ることだけではありませんでした。
エラーに対して何を指示すればよいか、修正されたものを何で確認すればよいか、その判断ができないことでした。
この記事では、非エンジニアとして行き詰まった立場から、AI開発支援で利用者に求められる判断について整理します。
非エンジニア向けのツールを作る方や、事業部でのAI活用を支援する方に読んでいただきたいです。
「具体的に指示できる」の範囲が違う
作りたいサービスについてなら、私は新規事業創出のプロなので、具体的に説明できます。
誰が使うのか。
何を入力するのか。
どんな結果が欲しいのか。
料金を払ってもらうなら、
何に価値を感じてもらうのか。
しかし、AI開発でコーディングが止まったときに必要な指示は、まったく違う知識、つまりエンジニア視点からの回答が必要でした。
例えば、「xxxxxx」とAIからエラーが伝えられます。
その原因がどこにあるか、AIにどこをどのように調べさせるべきか、提案された修正を進めてよいかは分かりません。
ここで「もっと具体的に指示してください」と言われても、事業の要望を詳しく説明することしかできないのに、技術的な指示が足りないため、正本や要件定義やruleを無視し暴走。枝葉の1つのエラーを追いかけて、要件を無視した実装を行う。
これが繰り返されました。
要望を説明できることと、開発を指揮できることの間には、私が思っていた以上に距離がありました。
「確認する」ことにも、知識が必要だった
画面を開いて、自分が使いたい操作を試すことはできます。
ただ、それで十分なのかは分かりません。バックエンドが正しく動いているかわかりません。
これはセキュリティ的視点から、かなり問題です。
たとえば、レポートを表示できたとします。
私は「見られた」と判断できます。
でも、それ以外に何を確認しなければならないのかは、教えてもらわなければ分かりません。
正しいログが取れていて、その根拠を元に算出されたのかもわかりません。
AIに確認を頼むこともできます。
しかし、その確認に必要なものが含まれているかを判断する知識は、やはり自分にはありません。
これは「確認をしたくない」という話ではありません。
確認しようとしても、確認の範囲と方法を決めるところで、また専門知識が必要になるという話です。
私のような利用者にとっては、「確認してください」という一言の中に、開発専門知識がないとできない仕事が含まれています。
開発支援で、利用者に何を求めているのか
この経験を、支援する側に伝えるために整理すると、次のようになります。
以下は実際の会話の引用ではなく、私が困ったことをもとにした整理です。
| 利用者に求めること | 私ができること | そこで困ること |
|---|---|---|
| 要望を具体的に伝える | 誰が何をしたいかを説明する | 実現するために必要な技術上の条件は分からない |
| エラーの状況を伝える | どの操作で何が起きたかを伝える | 原因の候補や、調べる場所は判断できない |
| 修正結果を確認する | 自分の操作をもう一度試す | ほかに影響が出ていないか、何を調べればよいか分からない |
| 次の会話へ引き継ぐ | やりたかったことや困ったことを説明する | これまでの説明のうち、何が現在のアプリにも当てはまるか判断できない |
この表の右側を、利用者が自分で埋められる前提にすると、私は途中で止まります。
説明文を分かりやすくするだけで解消する部分もあると思います。しかし、説明を読んでも自分では判断できない部分には、別の支援が必要です。
ハーネスを、誰が用意するのか
AI開発で使われる「ハーネス」という言葉を、この記事では、AIの作業や引き継ぎ、結果の確認を支える仕組みという意味で使います。
私は、その仕組みを作る方法を解説できません。
ただ、利用者としては、ここに疑問があります。
AIに開発を任せるための仕組みを、開発経験のない人が設計しなければならないのでしょうか。
作業を分ける必要があるとして、どこで分けるのか。
進捗を記録するとして、何を終わったことにしてよいのか。
確認をするとして、何が確認できれば次に進めるのか。
これらを自分で適切に決められるなら、私が困っていたことのかなりの部分は、既に解決しています。
だから、ハーネスについて説明するだけでなく、使う人がどこまで決め、どこから道具や支援者が引き受けるのかも、一緒に考えてほしいと思います。
私なら、こう聞いてもらえると答えやすい
分からないことが多くても、何も説明できないわけではありません。
たとえば、次の質問なら答えられます。
- 何をしようとしていましたか。
- どの画面で、どの操作をしましたか。
- 本当は、どうなることを期待していましたか。
- 実際には、何が起きましたか。
一方で、「原因はどこだと思いますか」「どの修正方針を選びますか」と聞かれると、答えられなくなります。
私が答えられる言葉から調査を始めてもらい、技術的な判断が必要なところを支えてほしい。
利用者に選択を求める場合も、その選択によって何が変わるのかを説明してほしいです。
使える機能が変わるのか、費用や時間が増えるのか、専門家への相談が必要なのか。
そうした話なら、事業の判断として考えられます。
これは、私が使いたい支援の形です。
非エンジニア全員に当てはまるかは、他の方にも確かめる必要があります。
レポートが出ても、また判断できなくなるかもしれない
この経験を知り合いのエンジニアに話したことから、開発途中で詰まったアプリをチェックし、原因と対策を見せるレポートを生成する「copid_」のプロトタイプができました。
自分が困ったことを解決するために始めた取り組みです。
ただ、チェック結果が出るだけでは、まだ十分ではないと思っています。
専門用語の指摘が並んでも、自分の困りごととどう関係しているか分からなければ、次に進めません。
「対応が必要です」と書いてあっても、誰に何を頼めばよいか分からないこともありそうです。
今、試用で確かめたいのは、この部分です。
レポートを見て、自分のアプリについて分かることが増えるか。
困っていることとの関係が理解できるか。
次に相談するための材料になるか。
ここまで書いた支援が、現在のプロトタイプですべてできるという意味ではありません。
むしろ、どこが足りないかを知りたい段階です。
開発支援を作る方に伝えたかったこと
非エンジニアがAI開発で止まるとき、足りないのは、コードを書く能力だけではないと感じました。
何を調べるかを決めること。
説明が正しいかを判断すること。
どこまで確認すればよいかを決めること。
その仕事が利用者に残っていると、コードが生成されるようになっても、完成まで進めないことがあります。私はそこに困りました。
非エンジニア向けのAI開発支援を考えるときには、操作が簡単かどうかに加えて
「この先へ進むために、利用者にどんな判断を求めているか」
も見ていただけると嬉しいです。
現在、AIで開発して詰まっているアプリをお持ちの方に、copid_のチェック・レポート生成のプロトタイプを試していただきたいと考えています。関心があれば、コメントでお知らせください。共有方法と試用条件は個別にご案内します。
