AI支援でプログラミングをすることの影響とは?

こんにちは、TENTOスタッフです。生成AIのコーディング支援の分野でClaude Codeを提供し注目されてる企業の1つAnthropic(アンソロピック / アンスロピック)から興味深い論文が出されていたので紹介します。「AIがスキル形成に与える影響 (How AI Impacts Skill Formation)」というタイトルの論文でアーカイブと言う論文投稿サイトに掲載されています。
この論文では、新しいスキルが必要になるプログラミングの課題を与え、(具体的にはややマイナーなPythonの拡張機能を用いて、)様々な習得度の参加者に課題の実装をさせて評価したそうです。結論から先に紹介すると、実験後の質問やアンケート等からこの課題を通じて新しいスキルを学んだのはAIを使わなかったグループだそうです。また、AIの支援を受けたグループの課題完了までの時間がAIを使わなかったグループとそれほど変わらなかったと言うことも報告されています。
まずどちらのグループも課題完了までの時間がそれほど変わらず、AIに支援を受けたからといって、効率的に開発ができなかった理由が紹介されていました。それは実験参加者の中には、AIとのコミュニケーションに非常に時間をかけ、それによって質の高い結果を得ていることがあったそうです。それはつまりエラーのない精度の高いコードを得るためには、AIとのコミュニケーションに多くの時間をかける必要があると言うことです。
また、AIを使ったグループの中でもAIへの質問の種類も様々で、コードそのものを生成させるケース、概念的な質問をするケース、実行してみて、エラーやデバグについて相談するケースなどがあったそうです。AIの結果を自分で確認したり、AIをデバグに使う参加者は課題の完了までの時間が長くなったと報告されています。
AIを使ったグループと使わなかったグループを比較すると、エラーが発生した回数も大きな差がありました。AIを使わなかったグループのエラーの回数は多くなり、それを自分たちで解決することにより、新しいスキルの理解が深まったと考えられます。
そして、AIを使ったグループの課題解決の間に、コーディングに取り組むアクティブ時間が減少し、AIと対話する時間が増えたということです。
次に実験参加者からのアンケートによるフィードバックによると、AIを使わなかった。参加者は課題を達成することが楽しく、エラーなどに対し繰り返し試行錯誤する事は、この拡張機能の理解に役立ったと答えているそうです。AIを使った参加者は課題に対して簡単だったと感じた一方、実験後のクイズの回答には苦戦し、コーディングの間、その内容や仕組みにもっと配慮すべきだったと答えていたそうです。
結論としてまとめられていたのは、企業や組織がAIを積極的に導入しした場合、従業員が積極的な認知の努力をしない限り、専門的な知識の習得を阻害することがこの実験により示唆されていること。そしてそのような状況が長期間に及ぶと最終的にはAIが出力した行動を評価。デバグすることができる人材は、組織に残らず、危機的状況が訪れることも想像されます。
この論文を読んで、AIの普及を進めたい企業の研究としては非常に誠実で正直な論文だなと感じました。AIを活用し、驚くことに認知オフロードする事はスキルの専門性を高めることを阻害するとまで言っています。また、そのことはAI時代であっても、プログラミングそのものを学ぶ事は無駄ではなく、むしろ必要なことであると考えていた私たちの考えにも共鳴しました。
さて、ここからはTENTOの話です。実はTENTOスタッフの中でもClaudeコードは非常によく使われており、スタッフの間では開発がとても速くなり、実装力が向上したと実感しているところです。しかしそれは私たちTENTOの開発スタッフがAIを利用する以前から必要なスキルを身に付け、AIの出力の評価、また周辺の知識など適切な技術の選定を行えていると言うことがあるのでしょう。
そうした経験を踏まえ、AIの利便性、またこの論文で示されているような認知のオフロードによる学習阻害、その両面から積極的なAI利用を生徒たちへも促しています。ただ漫然と使うのではなく、いかに自分のためになるようにAIを使うか、また本来得たい経験のためにAIを使ってショートカットするか、そうした全体的なバランスを取りながらAIを利用できる力を身に付けてほしいと考えています。
そして2つの宣伝です
1つ目:プログラミングスクールテントでは、様々な知識を持った専門的な奉仕からプログラミングを学ぶことができます。先生とが参加する点と専用のチャットには技術的なサポートをしてくれる。生成AIのアカウントも存在します。つまり誰でもAIを使った開発を経験できます。もちろんそのAIはTENTOの考える学習方針に従って、ただ言われたことを実装するだけではなく、学習者が学ぶ余地を残した回答をするなど工夫がされています。
2つ目:新しいVibesCool(バイブスクール)と言うサービスを共同で立ち上げました。これは今話題のVibe Coding(バイブ・コーディング)をいち早く経験者から習うことのできるスクールです。子供に限らずあらゆる年齢層からの参加者を募集しています。Vibe Codingによって誰でもアプリやウェブサービスを作ることができるようになりましたが、その際気をつけるべきポイントを抑えるなどより実践的に学ぶことができます。
