0
0

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利用、本当に“開発”していますか? 《 AIに使われないための開発者の心得》

Posted at

はじめに

AIを使った開発は、もはや特別なものではありません。
設計、実装、インフラ、テストまで、AIが支援できる時代です。

一方で最近、
「AIに聞けば何でもできる」
「AIに任せた方が速い」
という空気を感じる場面も増えてきました。

しかし、**便利さの先にある“思考の委譲”**は、
開発者を「設計者」ではなく「オペレーター」にしてしまいます。

この記事では、
AIを最大限活用しつつ、主導権を人間が握るための開発スタイル
── AI駆動型開発の心得 を、実践ベースでまとめます。


AI駆動型開発の前提思想

まず大前提として、AIは以下を持ちません。

  • 目的意識
  • 責任
  • 現場の文脈
  • 価値判断

AIが得意なのは、

  • 網羅
  • 速度
  • パターン提示
  • ベストプラクティスの提示

つまり、

AIは意思決定者ではない
設計者は常に人間である

この関係を崩さないことが、AI駆動型開発の出発点です。


AI駆動型開発の基本フロー(実践)

① 人間が「構造」を作る

最初に行うのは実装ではありません。

  • ユーザーフロー
  • 管理フロー
  • 運用イメージ
  • インフラの役割分担

これらを CLIやテキストで構造化 します。

重要なのは
👉 AIに聞く前に、問いを作ること


② AIに「選択肢」を出させる

AIに依頼するのは「正解」ではありません。

  • 一般的な構成案
  • ベストプラクティス
  • セキュリティ観点
  • 抜け漏れチェック

👉 答えではなく候補を出させる

主導権は、まだ人間側にあります。


③ 人間がその場で判断する

AIの提案に対して、

  • 採用する
  • 却下する
  • 修正する
  • 一部のみ使う

その場で判断 します。

ここで重要なのが、

「もっとこうしてはどうだろうか?」

人間が問い返すこと です。


④ 判断ログを残す(非常に重要)

なぜこの構成を選んだのか。
なぜ“普通の正解”を採用しなかったのか。

これは コードだけでは絶対に残りません

AI案:Private Subnet + NAT Gateway  
判断:初期は採用しない  
理由:コスト優先、想定トラフィックが少ない

正しさは不要です。
判断理由が残っていること自体が価値になります。


⑤ 実装はAIに任せる

最後に、AI(Codex等)へ実装を依頼します。

  • 再利用前提
  • 注釈付き
  • 読めるコード

AIは 作業者
人間は 設計者

この主従関係を崩さなければ、AIは非常に強力な相棒になります。


AIを使える人 / AIに使われる人の違い

ここまでの内容を、図にすると以下の違いになります。

AIに使われる人 AIを使える人
・設計をAIに丸投げ ・目的を自分で定義
・答えをそのまま採用 ・問いをAIに投げる
・理由を説明できない ・選択肢を比較判断
・トラブルで停止 ・判断理由を残す
・速いが積み上がらない ・遅く見えて資産化
AIが主導 人間が主導

主従関係の違い

AIに使われる開発 AIを使える開発
[ AI ] [ 人間 ]
[ 人間 ] [ AI ]
(実行係) (提案係)

👉 この上下関係が逆転した瞬間、人間は思考を手放します。


AI駆動型開発の心得(まとめ)

  • AIに考えさせない
  • 人間は問いを作る
  • AIは選択肢を出す
  • 判断は人間が行う
  • 理由をログとして残す
  • 実装はAIに任せる
  • 主従関係を崩さない

おわりに

AI駆動型開発とは、
AIに依存することではなく、AIを管理することです。

AIの進化が問題なのではありません。
判断を手放す人間が増えることが問題なのです。

AIを使うかどうかではなく、
AIに「何を任せないか」を決められるかが、
これからの開発者の価値になる。


補足(私のスタンス…たぶん)

  • 構想・設計・判断は人間が行う
  • AIは提案・網羅・実装を担う
  • 判断ログを資産として残す

このスタンスで、AIと協業しています。


この記事を書いた理由

AIを使った開発が当たり前になり、
コードを書く速度も、調べ物をする時間も、
数年前とは比べものにならないほど短縮されました。

一方で、自分自身の開発を振り返ったとき、
ふと次のような感覚を持つことがありました。

  • この設計は「自分が考えた」と言えるだろうか
  • もしAIが使えなくなったら、同じ判断ができるだろうか
  • このコードの意図を、他人や未来の自分に説明できるだろうか

便利になったはずなのに、
考える時間そのものが削られているような違和感を覚えたのです。

私はAIを否定したいわけではありません。
むしろ、AIは非常に優秀で、開発効率を劇的に高めてくれる存在だと思っています。

ただその一方で、
設計や判断までAIに委ねてしまうと、
開発者は少しずつ「考えなくても回せる人」になってしまう

──そんな危うさも感じるようになりました。

そこで、

  • 自分はどこまでをAIに任せているのか
  • どこは必ず人間が考えているのか
  • その判断をどう残しているのか

を一度、言語化して整理してみようと思い、
この記事を書くことにしました。

あくまでこれは「私自身の現時点でのスタンス」です。
正解を提示するつもりはありませんし、
AIの使い方は人それぞれで良いと思っています。

ただ、この記事が
「自分はAIとどう付き合っているだろう?」
と一度立ち止まって考えるきっかけになれば幸いです。

もし
「自分はこうしている」
「ここは違う考えだ」
といったスタンスがあれば、ぜひ教えてください。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?