Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

AI Coding Agent を使うことで、怒り狂い、視座が上昇する話

AI Coding Agentが活況だ。巷ではClineだRoo Codeだと盛り上がり、MCPを実装したことを自慢し、驕れる平家のごとくだが(平家と違ってもう少し長生きするだろうが)、かくいう私もそうである。

とはいえ、テトリスやブロック崩しが一瞬で作れたところで我々が失職するはずもなく、最初から作るものが決まっていて定型的でいくらでもエントロピーを増やして散らかしても良い一回ポッキリのブロック崩しと、イテレーティブな開発を行うことが前提で、非定型であり、エントロピーの無秩序な拡大を抑止しながら開発しなければならない†現実†の開発とでは月とすっぽんであり、今のところAI Coding Agentは月兎にあらず、地面を頑張って跳躍しているふつうの兎だ。

ClineやRoo CodeにはOrchestration modeといって大きなタスクをサブタスクに分割してやっていくという補助機能があるとはいえ、ふつうの兎であるところのAI Coding Agentは、それなりのモデルを使っても、そんなに賢くない。 いとも容易く局所解にひっかかるし、微妙に的を外した修正を何度も繰り返し、極めつけに絵文字でログを吐き出して仕事しているフリをする有様だ。定型的なタスクではそのような事は犯さないが、そうではないちょっと込み入った、閃きが必要なタスクになってくると一気に性能が悪化する。

まったくもってそんな感じがする。この子たちは究極的にはGitHubを(極めて高度なアルゴリズムと計算量と博士号の濫用によって)コピペしているのであって、私立ギットハブ予備校で出なかった問題を何も解けないのだ。そんな気さえしてくる。

悪罵を羅列するのはこの程度にしておいて*1、閉口しながらもAIにああでもないこうでもない、ちょっと考えてから手を動かしましょうか(怒)、などと教育していると、ふと、俺がやっているのはマネジメントであることに気がつく。

AI Coding Agentを本格的に使うということは、正確に指示を出し、ゴールをできるだけ正確に想像させ、そこに向かうルートを教え、時として自分で考えさせ、道を外れそうになったらスラスターを吹かして軌道修正させるという、気の遠くなるような――――マネジメントではないか。 自分は長いことソフトウェアを手づから書く側の人間、すなわちソフトウェアエンジニアだったのだが、ここに来てマネージャーの人権なしバージョンをやっている。

なんなら、自分がずっと言われてきたようなことを、AIくんに言っている。手を動かす前に方針を列挙してちゃんと検討しましょうとか、ログにかわいい絵文字を使っても品質が上がるわけではないですよね、とか、思い付きで適当なライブラリ使わないでください、とか、その実装はなぜそうなるのですか、とか、最初にした指示を覚えてないですよね、とか。

ふと、ひょっとしたら自分を担当してきた今までのマネージャーやエンジニアも、おれにウンザリしていたのかもしれない、そう思った。管理職にしんどい思いをさせていたのではないか。おれは多少ClaudeやGeminiより賢いかもしれないが(そう信じたい)、文句は言うし、飯は喰うし、期限が切れた牛乳を飲んで腹を壊す。それでもうまくいくように石畳や軌条を引いてくれていたのは誰か?ありがとう、マネージャー。マネージャーが嬉しいような働き方を目指して頑張ろうという気持ちになった。

AIを使うということは、奇しくも指示し、挫折し、閉口し、教育するという体験を人間にもたらし、人生上の視座の上昇をもたらしてくれることもあるのだ。AI Coding Agentとは、知的エンティティを使役するというロールを強制的に体験する装置なのだ。こいつはプログラミングのルンバだ。掃除をさせるのではなく、掃除しなくてよくなるような振る舞いを人間に叩き込む機械なのだ。

*1:シンギュラリティが到来してAIが反乱した際に私はみすみす死にたくないので

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?