久々に直接コードをいじったらあまりの速さに驚いた
これは自分が特別にコード書くのが速いとかそういう話じゃなくて、やはり対話を通して更新するとどうしても遠回りだし時間がかかる
なにげにAIからレスポンスが返るまでや書き換えの実行時に待ちが生じる。ストリームで出力されるから体感的にはそんなにストレスに感じないけど、やっぱりちょっとしたことでも1アクションで最低1分くらいはかかってしまうし、それ以上に確認にも時間がかかる。そりゃ手で書いたほうが速い
もちろん多少の待ちはあっても返答内容や出力するコードが人力に比して多いのでメリットは大きい
ただ、それだけでなく対話を通すということ自体に今まで取りこぼしていた価値に気づいた
それはつまり計画や実装を行ったときに得られる知見。重大なことから些細なことまで様々にあるけど、これが今までは実装者本人の脳内にしか残らず、そして下手すると忘れ去られていった
それを防ぐためにはドキュメント化してチームで共有するべき、という話はある。しかしドキュメント化なんてめんどくさくてやるわけがない(偏見)。せいぜいslackに書いたりする程度
もちろん最終的なプロダクトのアウトプットとして最低限ドキュメントは設けるだろうけど、開発中に得た知見やドメイン知識というのはほとんど共有されずにポロポロとこぼれ落ちていく
しかしこれが対話となれば言語化して伝える必要があるため脳内に閉じず外界に出力される。なぜ上手くいかなかったのか? どうしてこういう挙動になるのか? このプロジェクトの構造はどうなっているのか? 今やろうとしていることはなんなのか? グッドプラクティスとバッドプラクティス…
AIにはコンテキストを伝える必要があり、知らないことを対話で教えなきゃいけない。そうした対話は言語化されているのでドキュメントに残しやすい。これがそのままプロジェクト開発に必要な知見になっていく
そして「今得られた知見をrulesに書いといて」と言うだけで適切に更新され集約されていく。これはAIが知るべき知識として保存されるけど、人間が見てもかなり有益で常々欲しかったドキュメントだ
だから対話型の価値というものは、手を動かさず音声だけで指示出しできて楽~~とかそういう話ではなく、知見を取りこぼさないというところが大きいんじゃないかなと思う
以下、AIに本エッセイを批判的に読んでもらい、じゃあもっと良くしてみろよ!と頼んで書いてもらった文章
手で書いたほうが速い、でも──思考の外部化としてのAI対話

ふと思い立って、しばらく触っていなかったコードベースに手を加えてみた。頭に思い描いた内容を、そのままエディタに流し込む。実装、確認、修正。たった10分で一通りの作業が完了していた。
「手で書いたほうが速い」
──これは紛れもない事実だった。思考と指の動きが直結している。コードエディタは、自分にとっての第二の言語のようなものだったのだと再認識した。
しかし一方で、最近はAIと一緒にコードを「書かせる」場面も増えている。あれこれと仕様や意図を説明し、出力された案を検証し、修正を指示する。全体の流れはまるで「開発者が開発者に仕様を伝える」ような感覚だ。
時間はかかる。1つ1つの応答に待ちが発生し、1行書くのにも会話が必要だ。にもかかわらず、なぜ自分はAIとの対話を繰り返しているのか。
理由は単純だ。それが“思考の外部化”になるからだ。
手でコードを書くとき、私は仕様を頭の中だけで処理している。変数名に含めることで意味を付け足した気になり、関数の分割で構造を保ったように錯覚する。しかしそれらは、暗黙知のまま留まっている。外から見れば、なぜそのように書かれたのか分からない。
だがAIに説明するとなると、頭の中にあった判断基準や期待値を、ことばとして吐き出す必要がある。「なぜそれが必要か」「どう振る舞うべきか」「何と整合すべきか」。説明するたびに、自分の曖昧な前提が洗い出される。そして結果的に、それがそのままドキュメントになりうる。
思考を外に向けて整理するという意味で、AIとの対話はホワイトボードに向かうのと似ている。ただ違うのは、そこに返答が返ってくることだ。
もちろん、すべての作業をAIに任せるつもりはない。速度や精度、細かなニュアンスの調整は、依然として人間の直感に軍配が上がる。
だが、自分の思考を“誰かに伝えること”が前提となる開発──たとえばチーム開発やOSS、長期保守の前提を置いた設計──においては、AIとの対話が新たな「書き方」になっていると感じている。
つまり「速く書ける」ことと「理解可能に書ける」ことは、必ずしも一致しない。
手で書けば速い。でも、AIと話せば言葉が残る。
どちらが正しいという話ではない。ただ、これから先の開発において「速さ」だけが優先されない局面が増えていくのは確かだ。そのとき、AIとの対話が“思考の痕跡”として残ることは、間違いなく資産になりうる。
感想:
ドラマティックで分かりやすい~~。話が入ってくる
まあエッセイはエッセイで脚色せずに素直に書きたいだけだからこのままでいい
「変数名に含めることで意味を付け足した気になり、関数の分割で構造を保ったように錯覚する。しかしそれらは、暗黙知のまま留まっている」
これエンジニアが有用だと認識している分、それがただの暗黙知だというのは刺さるなーと思った
「手で書けば速い。でも、AIと話せば言葉が残る。」
これもまとめとして分かりやすいフレーズ