1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIを使いこなす人は「設計から入る人」と「開発から入る人」の2種類いる

1
Posted at

AIを使いこなしている人を見ていると、大きく2つのタイプに分かれると感じます。どちらにも共通する前提は、言語化が上手いことです。違いが出るのは「どこから始めるか」です。

この記事では、2つのタイプの違いと、知識が少ない人でもAIで成果を出せる進め方を紹介します。

タイプ1:知識先行型(設計 → 開発)

業務知識や設計の基礎がしっかりある人です。AIの出力を叩き台として受け取り、自分の知識で修正を入れていきます。

AIは優秀な副操縦士という位置づけです。手戻りが少なく、コストも小さく済みます。

たとえば、ログイン機能のAPIをAIに作らせたとします。知識先行型の人は、出てきたコードを見てすぐにこう返します。

トークンの有効期限が長すぎるので15分にして、リフレッシュトークンを別に用意してください。あと、ログイン失敗時に「ユーザーが存在しません」と返すと、登録済みのメールアドレスが推測できてしまうので、メッセージを統一してください。

何がまずいかを自分で判断できるので、AIへの指示も具体的です。1〜2往復で、実用的なコードにたどり着きます。

タイプ2:AI先行型(開発 → 設計 → 開発)

こちらは土台をまるごとAIに作らせるところから始めます。さらに、その土台のレビューもAIに任せます。

コツは、プロンプトに「シニアエンジニアの観点で」「ベストプラクティスに沿って」といった言葉を入れてチューニングすることです。完成したら、またシニアエンジニア視点でダメ出しをさせ、修正させる。これを繰り返します。

同じログイン機能なら、流れはこうなります。まずは作らせます。

ログイン機能のAPIを作ってください。

次に、観点を指定してレビューさせます。

シニアエンジニアの観点で、このコードをレビューしてください。セキュリティ、保守性、テストのしやすさの3点で、重要な順に指摘してください。

最後に、指摘を反映させます。

指摘をすべて反映して修正してください。修正後にもう一度、同じ観点でレビューしてください。

知識先行型が自分で気づいたトークンの有効期限やエラーメッセージの問題も、このレビューの中でAIが指摘してくれることが多いです。自分に知識がなくても、「知識がある人の目」をAIに借りるわけです。

「AならB、BならA」はinput不足のサイン

この往復を続けると、あるところで指摘がループし始めます。Aに直せばBと言われ、Bに直せばAと言われる状態です。

たとえば、入力チェックの置き場所でこんなループが起きます。

  1. AI「入力チェックは画面に近い層(Controller)でまとめるべきです」→ 修正する
  2. AI「入力チェックは業務ルールなので、モデル層に置くべきです」→ 修正する
  3. AI「Controllerが入力を検証していないため、不正なデータが奥まで届きます」→ 最初に戻る

これはAIの性能の限界ではなく、判断に必要な前提(input)が足りていないサインです。どちらも一般論としては正しく、決め手になる情報がないので揺れているのです。

ここでAIに、足りない情報を洗い出してもらいます。

直前の指摘が以前の指摘と矛盾しています。どちらを採用すべきか決めるために、不足している前提条件を挙げてください。

すると、AIは「このプロジェクトのレイヤー構成の方針」「同じ入力チェックを他の画面やバッチでも使い回すか」といった、判断に必要な問いを返してきます。

そこで初めて、要件や設計の知識を本格的に吸収するフェーズに入ります。レイヤー構成とは何か、チームの方針はどうなっているか。調べるべきことが、具体的な問いの形で手に入るのです。AI先行型の人は、作りながら「何を知るべきか」を逆算して学んでいます。

AI先行型の進め方

知識が少ない状態から始めるなら、次の順番がおすすめです。

  1. まず作らせる。 完璧な指示を目指さず、作りたいものを一文で伝えます。
  2. 観点を指定してレビューさせる。 「シニアエンジニアの観点で」に加えて、「セキュリティ」「保守性」など見てほしい観点を具体的に書きます。
  3. 指摘を反映させ、もう一度レビューさせる。 指摘が細かい好みの話だけになったら、ひとまず完成です。
  4. ループに気づいたら止まる。 同じ箇所を2回以上行き来したら、修正をやめて不足している前提を聞きます。
  5. 出てきた問いを自分で調べる。 チームの方針や要件は、AIではなく人やドキュメントに確認します。
  6. 答えをAIに渡して修正させる。 前提が埋まれば、ループは止まります。

どちらが良いのか

コストだけを見れば、知識先行型が断然有利です。軽微な修正で済み、遠回りもありません。

ただ、オンボーディングの負荷や個人の成長を考えると、AI先行型が合うケースもあります。知識ゼロの状態から、シニアエンジニアの観点を持ったレビュアーを一人手に入れられるからです。新しく入った人が、先輩の手を止めずに「まず一人で形にする」ところまで進められます。

もちろん、AIの観点はあくまで一般論です。現場固有の事情や最終判断の責任までは肩代わりしてくれません。そこを補うのが、ループから見つけた「足りないinput」を自分で埋めていく作業です。

よくある失敗

「シニアエンジニアの観点で」と付けるだけで満足する
観点の言葉は魔法ではありません。何を重視してほしいかを書かないと、当たり障りのない指摘しか返ってきません。

ループに気づかず、延々と修正を続ける
A⇄Bの往復は、何回繰り返しても終わりません。2回行き来したら止まる、と決めておきましょう。

AIのレビューを、チームのルールより優先する
AIの言う「ベストプラクティス」が、チームの規約と食い違うことはよくあります。迷ったらチームのルールが優先です。

1つの会話を長くしすぎる
やりとりが長くなると、AIが序盤の指示を忘れたように振る舞うことがあります。区切りの良いところで、新しい会話に切り替えましょう。

どちらのタイプにも必要なのは「根気」

AIは、想定外の動きをよくします。指示と違うコードを書いたり、頼んでいない部分まで変えたりします。

そこで「AIは使えない」と諦めるか、「どう伝えれば伝わるか」を考え直すか。この差が、使いこなせる人とそうでない人を分けます。うまくいかなかった指示は、自分の言語化のどこが曖昧だったかを教えてくれる材料です。

ただし、根気は同じ会話を延々と続けることではありません。やりとりが長くなって話がこじれたら、ここまでの経緯と決まったことを整理し、新しい会話でやり直す方が早いこともあります。諦めないのは「伝えること」で、「その会話」ではありません。

捨てるべきは知識ではなく「順番」

「AI活用は難しい」とよく言われます。しかしプロンプトの感覚は、触ってみないと身につきません。プロンプトレシピやカスタム指示を選ぶだけでも始められますが、それだけでは応用が効きにくいです。

今求められているのは、言語化と取捨選択のスピードです。手放すべきなのは知識そのものではなく、「全部理解してから手を動かす」という凝り固まった順番なのかもしれません。


この記事は Zenn にも投稿しています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?