人間がAIに勝る「方針を立てる力」と「論理の飛躍」をどうビジネスに生かしていくか?
──ALGO ARTISでは、競プロのスキルをどのようにビジネス(業務)に活用しているのでしょうか。
松尾:弊社の事業は、言わば「日常の中の最適化問題」を解くことです。身近な例で言えば、「子供が遠足で300円以内でおやつを買う際に、どう組み合わせれば一番幸せになれるか」。これも一つの最適化問題です。「幸せの最大化」という目的があり、「300円」という制約がある。
実際のビジネスでは、これが「石炭の輸入計画」や「乗務員のシフト作成」になります。お客様は「何となく今のやり方は非効率だ」「もっと楽にしたい」というふわっとした希望を抱えていますが、それをそのままコンピューターに渡しても解けません。
お客様の業務を深く理解し、何が本当の制約なのか、何が達成すべき価値なのかをヒアリングして、解くべき「問題」として定義し直す。この過程を、私たちは「作問」と呼んでいます。
競技プログラミングの上位ランカーがなぜこの「作問」に強いかというと、彼らは「どこまでなら今の技術で解けるか」という勘所を熟知しているからです。いくらお客様の要件を詰め込んでも、解けない問題を作ってしまっては意味がありません。逆にスコープを狭めすぎても価値が出ない。この「解けるサイズ」と「価値が出るサイズ」のすり合わせができるのは、解く技術を深く理解している人間だけです。
──AIはこの「作問」を担えるようになるでしょうか。
松尾:要件を読み込ませて形にすることはできるかもしれませんが、お客様の困り事の先にある「本質」を引き出し、仮説をぶつけながら精度を高めていくプロセスは、まだ人間が介在すべき領域です。
「今の理解ではこういう問題ですよね」と具体的なプロトタイプを見せ、お客様の違和感を引き出す。この「仮説検証」の繰り返しは、AtCoderの「Heuristic Contest」で行っていることと非常に似ています。答えのない問題に対し、泥臭く仮説を立てて形にする。この抽象化されたスキルは、AI時代こそ、より重要になると確信しています。

競技プログラミングの一番の魅力は「自分の思考力の限界に挑戦できる」こと
──AIコーディングの波が押し寄せる中で、不安を感じているエンジニアに伝えたいことはありますか?
松尾:変化を乗りこなし、試行錯誤して新しい方法を見つけることは、非常に挑戦しがいのある面白いことだと捉えてほしいです。
弊社のバリューに「価値に向かう」という言葉があります。表面的な事象や枝葉の作業にとらわれるのではなく、お客様の価値という本質に向き合う。これまではコードを書くという「枝葉」の部分に多くの時間を取られていましたが、これからはそこをAIに任せ、自分たちは「幹」である問題解決そのものに集中できるようになります。1人が生み出せる価値は、今まで以上に大きくなるはずです。
──改めて、競技プログラミングの魅力について教えてください。競プロの経験は、エンジニアとしての基礎体力をどう変えますか。
松尾:一番の魅力は「自分の思考力の限界に挑戦できる」点です。昔読んだ小説に「たまには自分のフルパワーを出すべきだ。そうしないと腕が鈍ってしまう」というフレーズがありましたが、まさにその通りだと思います。普段の業務では、純粋に思考力だけを100%出し切る機会は意外と少ないものです。
競プロは、余計なものを削ぎ落とした「純粋な問題」を提供してくれます。解ければ楽しいし、解けなければ本当に悔しい。その生の感情を味わいながら夢中になるうちに、気づけば強くなっています。
かつて、将棋界がAIの登場によって観戦文化を盛り上げたように、今後は競プロもAIによる自動解説などを通じて、より多くの人にその面白さが伝わる時代になると期待しています。レイヤーが上がることを恐れず、低いレイヤーも大切にしながら、より広い視野で「ソフトウェアエンジニアができることの幅」を広げていってほしいですね。一人でも多くの人の生活を便利にできるよう、共に頑張りましょう。
