いちろう’s blog

すーぱーえんじにあ

AIコーディングとエンジニアの生産性に対する所感

LLMを利用してアプリを開発するAIコーディング、めちゃくちゃ流行ってますね

Xを見たら「Claude Code使ったら非エンジニアでもアプリが作れた!」や「Cursorでこんなことができた!」のような投稿が溢れかえり、世間がAIコーディングに非常に注目しているのがわかります。

私自身もエンジニアなので、業務でCopilotやClaude Codeの導入を進めたり、プライベートでGithub CopilotやGeminiを課金して使い倒しています。

一方で、最近「AIコーディングがあるからITエンジニアはもっと生産性高められるよね」みたいな声をよく聞くようになりました。「そう思う人がいる」という点に関しては同意であり否定するものではないものの「これが今の時点で事実なのか」という点に関しては疑問があります。

個人的にAIコーディングの現在地は、以下だと思っています

  • PoC開発の生産性を劇的に高めるが、システム開発への影響はその限定的である
  • システム開発においてAIコーディングは、シニア以上のエンジニアの生産性を向上させる

この場ではPoC開発とシステム開発を以下のように使い分けています。

  • PoC開発: 商用利用を想定しないMVP以下のサービスの開発
  • システム開発: 商用環境での不特定多数のユーザーの利用を想定したサービスの開発

AIコーディングが「生産性を劇的に高め」ている?

多くは生産性向上の例は、PoCレベルの開発にAIコーディングを適応した例を見ている

Xやブログ記事で発信されるAIコーディングの生産性の向上の例は、オセロゲームやTODOアプリのようなチュートリアル的なものか、ハッカソンような短期のプロダクト開発で利用されたものが多いと感じています。

それらは「中長期的な運用や機能追加を想定していない」または「想定していてもその成果が現れる前のフェーズの状態」つまりPoC開発のものが多いと思っています。

一方でエンジニアが生産性を向上させたいとされるシステム開発においては、以下のような観点が重要になってきます。

  • チームや組織の規約への順守
  • 将来の機能開発の考慮したアーキテクチャ
  • 運用・保守
  • など

最近のAIコーディングの評価はPoCプロダクトを開発するまでの速さだけを見て「生産性向上した!」と言っているような感想を持ちます。

現状のAIコーディング = ジュニアエンジニアとのペアプロ状態

AIコーディングはLLMを利用しており、LLMはどれだけ性能が高くても確率的言語モデルです。 つまり、与えられた入力に対し、最も確からしい出力を返す仕組みであり、必ずしも常に正解を返すわけではありません。

そのため、インストラクションの整備やドキュメント化、途中での指示出し、最終的なレビューが必要になります。  

これはまさにジュニアエンジニアとペアプロをしている状態に近く、経験豊富なエンジニアにとっては思ったほど生産性が上がらない場合もあります。

プラクティスはまだ発展途上

AIコーディングが一般に注目されて導入が進み始めてから、2〜3年程度しか経っていません。プラクティスがほぼ毎日更新され、新しい技術を私たちが試行錯誤している状態です。

今はAIコーディングというジュニアエンジニアを世界中のエンジニアが教育している状態だと感じています。

今後様々なシーンでAIコーディングが活用されていき、AIコーディングのプラクティスが整ってきた時、初めてAIコーディングが生産性を向上させる状態になると思います

まとめ

まとめると、AIコーディングはPoC開発の生産性を劇的に向上させるが、システム開発の生産性に関して限定的な効果にとどまっている状態だと感じています。

ですが今後プラクティスが充実していくとシステム開発でも大きな生産性向上を発揮できるようになっていくと思います。

昨日のベストプラクティスが今日には塗り替えれている、が頻繁に起こるくらい時代の流れも早いので継続的に情報は収集していきたいですね。

エンジニアリングマネージャー1年目で「自分のチームのアウトプットの最大化」の為に心がけたこと

気がついたら前回の記事から1年以上経過してしてまいました。。

今年の大きな出来事としては、本職の方で、エンジニアリングマネージャー(以下EM)にジョブチェンジしたことです。

元々テックリード的な役割で「まだまだ技術を極めていたい!」と思っていたのですが、せっかくの機会なので挑戦してみようと思い、今年はEMとしても頑張ってきました。

久しぶりの記事投稿とアドベントカレンダーにへの投稿も兼ねて、私のEM1年目の奮闘を書きます。

この記事はEngineering Manager Advent Calendar 2024 の15日目です。

qiita.com

続きを読む

thirdweb-sdkが便利だからもっと頑張ってて欲しい話

記事を投稿しなさすぎて広告が表示されるようになってしまったので、久しぶりの投稿を兼ねて困ったことの吐き出し。

主にこちらの件について

決してアンチthirdwebではなく、Web3開発でめちゃくちゃ使い勝手が良く、もっと良くなって欲しいの意図と、同じ箇所で引っかかった人に向けて記事です。

thirdweb-sdkは最高なので、Web3開発の際はぜひみなさんご利用ください。

portal.thirdweb.com

こちらの内容は2023年11月25日現時点での情報になります。今後のアップデートによりこの事象が発生しなくなることはあります。

続きを読む

Slackに投稿されたファイルをGoogleDriveに保存するBotをPythonで作成

はじめに

Slackにファイルが投稿されたことを検知して、投稿されたファイルをGoogleDriveに保存するBotを作りました。

3年ほど前にSlackBotを作った経験があったのですが、その際に利用していたAPIがLegacyAPIとして非推奨になっており、新しいSlackAPIに苦戦したので備忘録として記録します。

動作としてはこんな感じ。Slackにファイルを投稿したら、GoogleDriveに保存され、保存先のURLを返してくれるBotを作成する。

完成イメージ

続きを読む

【資格試験】E資格

2022年2月に開催されたJDLAのE資格を受験し、無事合格できたので、その合格体験記です。

よくある「たった1ヶ月でE資格合格!」というような趣旨でなく、まったり半年かけて勉強した上で合格できたので、できるだけ短い時間で合格したい!という方にとって、この記事は適切でないかも。

G検定の受験記はこちら↓

sey323log.hatenablog.com

続きを読む

FastAPIでレシート画像をOCRするAPIサーバを構築する

はじめに

過去の記事で、レシートから合計金額を抽出するOCR処理を作成した。本記事では、過去作成したOCR処理をFastAPIに組み込み、レシート画像から合計金額を抽出するAPIサーバを構築する。

sey323log.hatenablog.com

続きを読む

GoogleVisionAPIでレシートから合計金額を抽出する

はじめに

お店でもらったレシートから自動で合計金額を抽出し、自宅のDBに保存できるといいなとふと思い、N番煎じではあるがレシートのOCRに挑戦してみた。同様の試みを行っている方は多数いたが、レシートを撮影する環境や頻繁に利用する店舗のレシートのフォーマットの傾向もあり、汎用的に利用できるものは存在しないため自作した。

主に下記の方の記事を参考に、自身の環境にチューニングしたものを作成してみた。

qiita.com

qiita.com

続きを読む