Scribble at 2025-06-10 14:00:57 Last modified: 2025-06-10 14:05:48
AI の次世代サービスとして大宣伝されているエージェントは、RPA と組み合わせた自律的な作業ができるロボットとして導入が進んでおり、システム開発の現場ではコードの自動出力という用途に加えて、いわゆるアジャイル開発のエクストリーム・プログラミングとして提唱される手法の一つである「ペア・プログラミング」の driver / navigator という役割を担わせる用途も出てきており、将来は AI だけでペアを組むといった構想もあるようだ。
これに対して、上の記事では幾つかの疑問を挙げている。
(1) エージェントは人間の思考よりも速くコードを書くため、ペア・プログラミングの意義が失われる。
(2) 人間のペア・プログラマと同様に、エージェントがコードを独断で作成してしまうと、相手が理解できずに取り残されてしまうことがある。
(3) エージェントが間違った方向に進んでしまった場合、その修正の負担が人間のパートナーにかかる。
だが、これらはコードを生成するスピードを調整したり、コードを生成する過程つまり reasoning を表示しながら処理するといった工夫で改善できる問題だ。そして、(2) はエージェントに対して巨大で複雑な処理のコードをいっぺんに生成するよう要求するからこそ理解が追いつかなくなるのだから、小さなコードを積み上げるように生成していくといい。もちろんだが、逆に小さな単位で生成しすぎると、皮肉なことだが(僕らのようなレベルのエンジニアだと)逆に自分でコーディングする方が速かったりするので、これも大多数の凡庸なコーダが使えるように調整が必要だろう。
なお、XP の手法としては、ペア・プログラミングの他に CI とかリファクタリングとか TDD が紹介されたりするのだけれど、もちろんこれらはアジャイル開発にとって必要でも十分でもない(つまり論理的に必ずやることではない)のであって、特にリファクタリングは、アジャイルなんて言葉が生まれる前から(正式には今世紀になって提唱された手法だ)、それこそ僕らが BASIC でプログラムを書いていた40年くらい前でもやってることだ。