はじめに
「AIで仕事がなくなる」
最近よく聞く話だ。実際、2025年にはMicrosoftやSalesforceが数千〜数万人規模のレイオフを実施した。対象にはソフトウェアエンジニアも含まれていた。
ただ、業務でAIを使う中で、ある考えに至った。
結局、やっていることは昔と変わらない。顧客の曖昧な要望を、AIが理解できる形に変換しているだけだ。
エンジニアの本質は「翻訳者」だ。
コードを書くか、プロンプトを書くか。手段が変わっただけで、本質は変わっていない。
この記事でわかること
- エンジニアが「翻訳者」である理由
- 「顧客 → AI → コード」にならない4つの理由
- AI時代にエンジニアが持つべき視点
対象読者
- AIコーディングツールを使い始めたエンジニア
- 「AIに仕事を奪われるのでは」と漠然とした不安を持っている人
エンジニアは「翻訳者」である
昔と今の違い
昔:顧客 → エンジニア → コード → 機械
今:顧客 → エンジニア → 自然言語 → AI → コード → 機械
間にAIが入っただけ。
じゃあ、こうはならないのか?
顧客 → 自然言語 → AI → コード → 機械
...ならない。
その理由を4つ挙げる。
なぜ「顧客 → AI → コード」にならないのか
1. 顧客は「本当に欲しいもの」を言語化できない
IT業界には有名な風刺画がある。「顧客が本当に必要だったもの」というやつだ。
「木にブランコをつけてほしい」——顧客の依頼に対し、プロジェクトリーダー、開発者、営業がそれぞれ異なる解釈をする。
で、顧客が本当に欲しかったのは? ただのタイヤのブランコだった。そもそも顧客自身が、最初から言語化できていなかったのだ。
要件定義の難しさを端的に表している。
「ログイン機能をつけてほしい」
こう言われたとき、本当に必要なのは「ユーザー管理機能全体」かもしれない。言ってることと欲しいものが違う。
これを見抜くのがエンジニアの仕事だ。現時点のAIには難しい。
2. 文脈は教えないと伝わらない
AIには「コンテキストウィンドウ」という制限がある。一度に「見える」コードの量に限界があるということだ。
大規模なコードベースを丸ごと理解することは、まだできない。
それだけじゃない。
- 既存システムとの整合性
- チームのコーディング規約
- 「なんとなくこうしてる」暗黙のルール
これらは教えなければ伝わらない。
背景説明なしで「この関数を最適化して」と頼むと、確かに高速なコードが出てくる。でもチームの規約を完全に無視していて、レビューで却下される——そんな経験をした人も多いはず。
AIは聞かれれば答えるが、聞かれなければ何も知らない。文脈を渡せるのは、現場を知っている人間だけだ。
3. AIの質問に答えられるのは誰?
最近のAIは質問してくるようになった。
「この仕様、AとBどちらにしますか?」
「エラー時の挙動はどうしますか?」
良いことだ。ただ、問題がある。
その質問に正しく答えるには、「何を作りたいか」「なぜそうするか」を理解している人間が必要。
顧客が直接答えられるか?
...さっき言った通り、顧客は「本当に欲しいもの」を言語化できない。
結局、AIと顧客の間に「翻訳者」が必要になる。それがエンジニア。
4. AIは責任を取れない
本番障害が起きたとき、誰が対応する?
AIが生成したコードをノーレビューでマージする未来は来ない。特にミッションクリティカルなシステムでは。
最近では「Bot Sponsorship」という考え方も出てきている。AI作成のPRには、責任を持つ人間を必ず紐づけるというルールだ。
最終的にコードに責任を持つのは、人間のエンジニア。これは変わらない。
「AIが書いたコードだからバグがありました」——そんな言い訳は、プロとして通用しない。
70%問題
GoogleでChrome Developer Experienceチームを率いるAddy Osmaniが提唱した「70%問題」という概念がある。
AIを使うと、最初の70%はあっという間だ。プロトタイプなんて数時間でできる。
でも、残り30%が地獄になる。「あと少し」が「あと3日」に変わる。
この壁にぶつかるのは、多くの場合「翻訳」ができていないから。AIは文脈を読めない。背景を説明しないと、的外れなコードを出してくる。
非エンジニアほどこの壁にぶつかりやすい。なぜなら、AIの質問に「正しく」答えるための知識がないから。
二極化が進む
「AIで仕事がなくなる」と騒がれているが、現実はもっとシンプルだ。
二極化が進む:
- AIに仕事を「奪われる」人
- AIを「活用する」人
違いは何か。「翻訳者」になれるかどうかだ。
AIに丸投げして70%で止まる人と、残り30%を埋められる人。この差が開いていく。
学習コストは高くない。使い始めた人から、確実に景色が変わる。
まとめ
一度、冷静に整理してみる。
| 観点 | AI | 人間(エンジニア) |
|---|---|---|
| コードを書く力 | ✅ ある | ✅ ある |
| 文脈を理解する力 | ❌ 限定的 | ✅ ある |
| 責任を取る力 | ❌ ない | ✅ ある |
| 顧客の「本音」を引き出す力 | ❌ ない | ✅ ある |
| 自分の出力を検証する力 | ❌ ない | ✅ ある |
AIは「書く力」はある。でも「理解する力」がない。
だから70%で止まる。残り30%を埋めるのが「翻訳者」の仕事だ。
現実世界の曖昧さを、コードという厳密な形に落とし込む。それがエンジニアの仕事だ。
エンジニアは「翻訳者」である。
良い翻訳者とは、曖昧さをそのままAIに投げず、問いに分解し、選択肢に落とし込み、責任を引き受ける人だ。
昔:顧客の言葉 → コード
今:顧客の言葉 → プロンプト → コード
手段が変わっただけで、本質は変わっていない。
ちなみにこの記事も、AIと一緒に書きました。
これが「翻訳者」の仕事です。
参考文献
本記事は以下の情報源を参考に、実務経験を加えて執筆しました。
- The 70% problem: Hard truths about AI-assisted coding - Addy Osmani
- The New Git Blame: Who's Responsible When AI Writes the Code? - Pullflow
- Tree swing cartoon - Wikipedia
最後まで読んでいただきありがとうございました!
質問やフィードバックがあれば、コメントでお知らせください。