「AIチャットボットを組み込みたい」「AIを使用した機能を作りたい」
最近はそんな相談が少しずつ増えてきている。エンジニアとして開発の現場にいると、この流れは一時的なものではなく、今後さらに広がっていくと感じる。
本来、そうした機能の開発には高いコストがかかるものだ。しかし、Claude Codeのような開発支援ツールを活用することで、社内でも一定の実現可能性が見えてきている。
ただ、AIによって開発効率が高まっても、開発において最も重要な部分は変わらない。それは、要件定義とインフラ環境まわりの設計である。
AIを活用すれば開発自体は進めやすくなる一方で、クライアントの現状のインフラ環境にそのまま適用できない場合や、新たに環境を整える必要が出てくる場合もある。そうなると、クライアントとすり合わせながら、既存環境に合わせた調整を進めていくことになる。
つまり、AIを使えばすべてが簡単に解決するわけではなく、実現するための前提整理や技術的な判断が欠かせない。
また、顧客が抱えている課題に対して、単にAI機能を付けることが目的になってはいけない。
重要なのは、その課題を解決するために何が最適かを判断することであり、AI機能はあくまで手段の一つだ。その判断において、AIと壁打ちしながら選択肢を整理することはできる。ただ、最終的に何を選び、どう進めるかを決めるのは、AIではなく人の役割だ。関係者との間で生まれる認識のずれも、AIが埋めてくれるわけではなく、人が調整しながら進めていく必要がある。
AIを活用して開発を進める場合でも、担当エンジニアには要件を実現するためのベース設計や、要件の言語化が求められる。その言語化の精度によって、開発の質は大きく左右される。AIが優秀になるほど、要件を技術的な実現方法に落とし込み、AIやメンバーへの指示に変換していく「テクニカルディレクション」の重要度は、これからさらに高まっていくはずだ。
そのために社内でも、各チームのメンバーがそれぞれの形でAI活用を試している。その知見を共有し、コミュニケーションを取りながら進めていくことが、今後はより重要になっていくと思う。
エンジニア職として、AIを活用する力だけでなく、課題を整理し、要件を言語化し、技術的に実現可能な形へ導く力を伸ばしていきたい。AIに何を任せ、何を自分たちで判断するか──エンジニアの価値は、その線引きを見極める力へと向かっていくのではないだろうか。