今日、AIと2時間ファイル名で議論した
2026-02-19
My Debugger Never Argued With Me
出典: I Argued With an AI for Two Hours Today
先日、親から「最近仕事どう?」と聞かれた。「AIと口論してる」と答えたら「大丈夫?」と心配された。
説明しようとして、やめた。
実際にやっていたのは、Anthropicの Claude Opus 4.6 と、音声ファイルの識別子に何を使うべきかについて2時間議論することだった。UUIDの末尾10文字をファイル名に使った場合の衝突確率を計算させ、「リスクを過大評価している。データを持ってこい」と反論し、逆に設計の穴を突く質問を返されて5分間黙り込んだ。
これを親に説明しようとすると45分かかる。なのでいつも「まあ、コード書いてるよ」で終わらせる。
何が変わったのか
2012年にも私はソフトウェアエンジニアとしてコードを書いていた。当時との違いを一言で言うと、ツールが喋り返してくるようになった。
2012年のツールはこうだった。
- コンパイラ:構文エラーを教えてくれる
- IDE:補完してくれる
- データベース:命令した通りに動く
それがツールの定義だった。命令する側と、命令される側。明確な非対称性がそこにあった。
今はこうだ。
ワイ「UUIDの末尾10文字をファイル名の識別子に使いたい」
Claude「ハッシュ衝突のリスクがあります。10文字だと2^40通り、
約1兆通りですが、誕生日問題を考慮すると――」
ワイ「過大評価してると思う。10億ユーザーが50年使い続けた
場合の衝突確率を実際に計算してみてくれ。
(ファイル名の話であってDBには完全なIDがある)」
Claude「計算しました。その前提なら現実的なリスクではないですね。
ただ、別の懸念があります。このアーキテクチャだと
私(LLM)への入力が候補過多になりませんか?」
ワイ「...(5分間沈黙)」この最後のやりとりが、今の仕事を象徴している。
自分が構築しているシステムの上に乗っかっているそのシステム自身が、「このアーキテクチャは私を処理過多にする」と設計上の制約を自ら提示してきた。
コンパイラがこんなことを言ったことはない。
仕事の中身が変わった
今の仕事で時間を使うことをざっくり分けるとこうなる。
以前
- 要件を整理する
- 設計する
- コードを書く
- デバッグする
今
- 要件を整理する
- 設計についてAIと議論する
- AIの提案の穴を探す
- AIに自分の考えの穴を探させる
- コードを書く(AIと一緒に)
- AIが書いたコードをレビューする
「設計についてAIと議論する」と「AIに自分の考えの穴を探させる」が増えた。これは単純な作業時間の置き換えではなく、思考のプロセス自体が変わったということだ。
以前は自分の頭の中だけで完結していた設計レビューが、今はAIとの対話の中で行われる。そして正直に言うと、かなりの頻度でAIに指摘される前に気づかなかった問題が出てくる。
プロンプトエンジニアリングという言葉の限界
「プロンプトエンジニアリング」という言葉がある。AIへの指示の書き方を工夫するスキルとして語られることが多い。
でも実際にやっていることはそれだけじゃない。
たとえばこういう指示を書いたとする。
「物理のテストで正解を出そうとするみたいに考えるのはやめて」
これはAIの回答パターンをコントロールしようとしているわけじゃない。AIが持ちやすい思考の癖を把握した上で、それを意図的に崩しにいっている。
あるいはこういう使い方もする。
「私の主張に反論できるデータを探してきて、それで私を攻撃してくれ」
自分のアイデアをストレステストするために、AIを批判者として機能させる。これはもはやツールの使い方というより、思考パートナーとの対話設計に近い。
こういうことを積み重ねると、「プロンプトエンジニアリング」という言葉では収まらないスキルセットが積み上がっていく。それを何と呼べばいいのか、まだ適切な言葉がない。
変わらないこと
誤解のないように書いておくと、AIが私の代わりに設計するわけではない。
最終的に判断するのは私だし、AIが自信満々に間違えることも普通にある。むしろ自信満々に間違えるので、こちらが常に批判的な目で見ていなければならない。
変わったのは、設計を一人で考えるフェーズが劇的に短くなったことだ。
以前なら「この設計でいいだろうか」とモヤモヤしながら数日過ごしていたことが、AIとの1時間の議論で整理できる。必ずしも正解が出るわけじゃないが、「何が問題なのか」「どのトレードオフを選んでいるのか」が言語化される速度が上がった。
結果として、以前なら数ヶ月かかっていたものが数週間でできるようになっている。
「お仕事は?」への答え
ソフトウェアエンジニアとして、この変化を人に説明するのがいまだに難しい。
「AIでコード書いてる」と言うと「バイブコーディングですね」と返ってくる。違う。「AIを使って効率化してる」と言うと「ChatGPTみたいなやつですか」と返ってくる。そうでもある、でもそれだけじゃない。
正確に言おうとするとこうなる。
「人類が書き残してきた知識を学習した数学的なシステムと設計の議論をして、そのシステムに自分の考えの弱点を突かせて、最終的にファイルの名前を決めています」
親に言えるわけがない。
でも実態はそういうことで、そしてこれが今、かなり面白い。
同じような感覚を持っているエンジニアがいたら、どんなふうに説明しているか聞いてみたい。