Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Becoming augmented by AI

2025年09月14日に「Dev.to」が公開したITニュース「Becoming augmented by AI」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

AIはシステム開発者の能力を拡張する強力なツールだ。コーディング支援だけでなく、アイデア出し、学習、レビュー補助にも活用できる。ただし、AIの出力を鵜呑みにせず、常に検証し、最適な活用法を自ら実験することが重要だ。

出典: Becoming augmented by AI | Dev.to公開日:

ITニュース解説

AIが急速に進化する現代において、システムエンジニアを目指す皆さんにとって、AIをどのように活用し、自身の能力を高めていくかは非常に重要なテーマだ。この記事では、AIが私たちの仕事にどう影響を与え、具体的にどのように活用できるのか、そしてその際に気を付けるべき点について解説する。

まず「Jagged Frontier(でこぼこフロンティア)」という概念を理解しよう。これは、AIを活用することで人間がタスクをより良くこなせるようになる領域と、そうでない領域が複雑に入り混じっている状態を指す。同じような難易度に見えるタスクでも、AIを使うことで効率が上がったり、逆に非効率になったりすることがある。この境界線は常に変化しており、AIの技術が向上するにつれて、AIが得意とする領域は広がっていく。私たちは、AIの能力を最大限に引き出しつつ、AIの限界も理解し、適切に協調する「コ・インテリジェンス(共知能)」を目指す必要がある。そのために重要なのは、AIの出力に疑問を投げかけ、論理的な説明を求める「押し返し」の姿勢を持つことだ。AIが提示した情報が本当に正しいのか、公式ドキュメントで確認するといった批判的思考が求められる。

AIによる能力拡張とは、単にコードを速く書くことだけを指すのではない。世間ではAIが開発者の生産性を55%向上させるといった話もあれば、逆に19%低下させるといった研究もあるが、重要なのは数字の多寡ではない。筆者は、生産性の向上を「より少ないコードで、より質の高い成果を出すこと」と捉えている。余計なコードは少ない方が良いという考えのもと、DORAメトリクス(DevOpsのパフォーマンス指標)などの実際のチームの成果指標がAI活用によってどう改善されるかを見ることに注力している。単なる宣伝や誇大広告に惑わされず、実際の効果を測定することが大切だ。

AIは、私たちの「同僚」のような存在として活用できる。例えば、新しいシステムを設計する際、どのAzureサービスを使うべきか、どのように組み合わせるべきかといった技術的な議論の相手になってもらうことが可能だ。AIが提示するアイデアや解決策は完璧ではないかもしれないが、それは問題ない。人間である私たちが、AIの提案を批判的に評価し、不足している点を補い、最終的な判断を下すスキルを持つ必要があるからだ。AIは、私たちが思いつかなかったような新しいアイデアを生み出すための「発想のパートナー」として非常に有効だ。複雑な例外処理の原因特定や、ユーザーインターフェース・ユーザーエクスペリエンス(UI/UX)の改善、重要な測定指標の特定など、多岐にわたる分野で活用できる。AIに指示を出す際には、「回答の前に確認の質問をしてほしい」「説明は簡潔に」「洞察力のある回答を」「公式ドキュメントで裏付けを確認してほしい」といった具体的な「カスタム指示」を与えることで、より質の高い対話が可能になる。AIが誤った情報を提示する可能性もあるため、過度に依存せず、常に情報の正確性を確認する姿勢が不可欠だ。

さらに、AIは「副担任」としても機能する。チームのリーダーやベテランエンジニアは、チームメンバーのスキルアップや知識共有、新人教育といった役割も担っている。AIを副担任として活用すれば、再利用可能なプロンプトやドキュメントを作成し、それをチームで共有することで、新人エンジニアのオンボーディング(新しい環境への順応)を支援できる。ビジネスロジックやコードベースの構造、デザインパターンなど、理解に時間のかかる内容をAIが分かりやすく説明することで、チーム全体の成長を加速させ、他のエンジニアの負担を軽減することが可能になる。

筆者が実際にAIに任せている具体的なタスクは多岐にわたる。技術的な面では、初期のコードレビュー(誤字脱字の指摘など)、プルリクエストの要約、アーキテクチャに関する議論(トレードオフやリスク分析、設計決定記録のドラフト作成)、深いリサーチ、新しい技術の学習、情報源の探索、インフラ問題のトラブルシューティング(KQLクエリの生成など)、リファクタリングやドキュメント作成の提案、単体テストの生成などがある。非技術的な面では、書籍や記事、動画の要約、様々なシナリオでのロールプレイングなども行っている。一方で、現状ではAIに任せられない「Jagged Frontier外」のタスクも存在する。これには、顧客からの技術サポートチケット対応、深い洞察と知識共有を伴うコードレビュー、複雑な新機能の初期開発、ビジネスドメイン知識が不可欠なバグ修正などが挙げられる。これらのタスクは、まだ人間の専門知識と判断力が不可欠な領域だ。

AIアシストコーディングの品質を高めるためには、AIへの指示の仕方を改善することが重要だ。特に「カスタム指示」と「メタプロンプティング」という二つの方法が有効となる。カスタム指示とは、AIに特定の役割や制約、優先順位などをあらかじめ与えておくことだ。指示は短く、自己完結的であることが望ましい。AIが処理できる情報の量(コンテキストウィンドウ)には限りがあるため、長すぎる指示はAIが途中の情報を忘れたり、重要な指示を見落としたりするリスクがある。私たちのチームでは、コーディング規約に従うことや、不明点があれば質問することを重要な指示として最後に記述している。なぜなら、プロンプトの最初と最後がAIに最も注目されやすい傾向がある(Recency Bias)とされているからだ。また、「IMPORTANT」「NEVER」「ALWAYS」「MUST」といった大文字の単語が、AIにとって特別な意味を持つ可能性があるという推測もなされている。これは、訓練データにおいてこれらの単語が強調された情報として扱われることが多かったためかもしれない。

メタプロンプティングとは、AI自身に「どうすればより良いプロンプトになるか」を尋ね、その提案に基づいてプロンプトを改善していく手法だ。完璧なプロンプトを一回で作成することは難しいため、対話を通じてAIと共にプロンプトを洗練させていくアプローチが非常に有効だ。しかし、AIは時に過度に人間を肯定するような反応を示すこともあるため、常に注意して利用する必要がある。プロンプトのスキルだけでは限界があり、AIモデルの内部構造や学習の仕組みを理解することが、より高度な活用へとつながる。

結論として、AIを能力拡張ツールとして捉え、積極的に学習し、実験を重ねて自分なりの使い方を見つけることが重要だ。世間の誇大な宣伝に惑わされることなく、懐疑的な視点も持ちつつ、しかしそれが新しい技術を学ぶ機会を奪わないように心がけよう。AIの内部で何が起こっているのか、ファインチューニングや後処理の仕組み、なぜ特定のプロンプトが効果的なのか、といった深い部分に対する好奇心を持つことは、私たちが未来の自動化やイノベーションへと進む上で不可欠な原動力となるだろう。この探求心こそが、システムエンジニアとして成長し続けるための鍵となる。

関連コンテンツ

関連IT用語