BLOG
ブログ
  • TOP
  • BLOG
  • コードを一切書かなくなったら、開発スキルはどう伸ばす?

コードを一切書かなくなったら、開発スキルはどう伸ばす?

コードを一切書かなくなったら、開発スキルはどう伸ばす?

CONTENT

こんにちは、エンジニアです。

コードの実装をAIに任せる流れは、これからさらに加速していくと考えられます。

Anthropicの利用分析では、何を作るかは主に人が決め、実装の細かな判断は主にAIが担っています。OpenAIには、人がコードを直接書かずに開発するチームもあります。

人の仕事は、目的や仕様を決め、システムを設計するなど、より抽象度の高い仕事へ移っています。その分、自分でコードを書き、エラーを調べて直す中で学んでいたことを、どこで身につけるかが問題になります。

■AIが実装しても、人が理解する必要はある
動くコードができても、その仕組みが自分に分かるとは限りません。

Agents That Teachは、十分に理解していないAIの変更が積み重なる状態を「知識負債」と呼んでいます。

Anthropicの学習研究でも、未知のPythonライブラリを学んだ主にジュニアの52人のうち、AIを使ったグループは、課題直後の理解度テストで手作業のグループより平均得点が低くなりました。一方、AIへ概念やコードの説明を質問した人には、高い得点も見られました。

この研究が調べたのは、課題直後の理解度です。実装を任せるだけで、自分も理解できるとは限りません。AIへ仕組みを質問するなど、自分が学ぶためにもAIを使うことを考えたいところです。


■仕組みを説明し、判断して、結果を確かめる
理解を確かめる練習として、nwiizoさんのRust Learning Labの記事では、条件を変えたときの動きを予測し、実行結果と比べる方法が提案されています。

元の記事には自分でコードを書く練習も含まれます。このうち予測と結果を比べる練習なら、実装をAIに任せる開発にも応用できそうです。

例えば、データの流れを自分の言葉で説明し、入力条件を変えたら何が起こるか予測して、実際の動きと比べる。説明を読んで納得しただけでは気づけない、理解の穴を探す練習です。

Rust Learning Labの記事は、学ぶ箇所と時間、一緒に確かめる相手を仕事の中で決めることも提案しています。

実装の仕組みを学ぶことに加えて、人が担う目的や仕様の判断も学ぶ必要があります。

エンジニアtypeの若手育成の記事では、若手が顧客と話して仕様を決め、AIが実装し、先輩がその仕様を業務全体の目的に照らしてレビューしています。これは1社のPRインタビューで、育成効果を測った研究ではありませんが、人が担う判断を学ぶ具体例です。


■私が今のプロジェクトで試していること
私のプロジェクトでもAI活用が強く推進され、AIが書いたコードをすべて1行ずつ読んで理解し、レビューするのは、すでに現実的ではなくなってきています。それでも、システムがどう動いているかを理解する必要はあります。

そこで、AIにコードの構造や処理の流れ、データの変化を図や説明にまとめさせています。システムの構成要素がどんな役割を持ち、どうつながって動くのかを読み取るための資料です。

こうした資料を理解とレビューに使い、実装の概要を自分の言葉で説明できる状態を保つようにしています。

知識負債をためず、AIに任せきりで考えなくなることによるスキル低下を防ぐための試みです。

まだ、これが正解かは分かりません。実装をAIに任せる流れが進む中で、自分の理解や判断力をどう育てるか。AIに取り残されないためにも、学び方を考え、試し続ける必要があります。