Gunosy Tech Blog

Gunosy Tech Blogは株式会社Gunosyのエンジニアが知見を共有する技術ブログです。

AI Coding in 2025

はじめに

こんにちは。Gunosy 新規事業開発室 の井口です。

こちらの記事は Gunosy Tech Blog Festa の 9 日目の記事です。 昨日の記事は上村さんの「推薦システム実験における「コンテキスト・リレー」戦略。GeminiとCopilot/ClaudeCodeを連携させた開発プロセス」でした。

tech.gunosy.io

2025 年は AI 技術の著しい進化により、開発プロセスが劇的に変化した 1 年でした。本記事では、その過程で得られた知見や工夫、また直面した課題などを振り返ってみたいと思います。


1. Vibe Coding を支えるマインドセットと環境

AI を主導として開発を進める「Vibe Coding」を実践する上で、私が意識しているマインドセットと環境構築についてご紹介します。

  • 指示出し(プロンプティング):
    • 実装方法(HOW)を指示しない: 実装の詳細はあえて AI に委ね、目的(WHY)や内容(WHAT)を伝えることに集中します。自分では思いつかなかったような洗練されたコードが提案されることも多く、非常に学習効果が高いと感じています。
    • Plan モードの常態化: どのような簡単な指示であっても、まずは計画を立てさせる「Plan モード」をデフォルトにすることをお勧めします。これは Antigravity などのスタイルを参考にしています。
    • Meta Prompting の活用: プロンプト自体も AI に作成させます。開発中に AI の挙動が意図と逸れた場合は、その旨を伝えて AI 自身に指示ファイルを修正・改善させるようにしています。
  • モデル選定:
    • 高性能モデルを優先する: コストを懸念して軽量モデルを選択すると、結果として精度が落ち、手戻りが発生して時間を無駄にするリスクがあります。
    • 適材適所の使い分け: コマンド生成などの定型的なタスクには、Grok-code などの軽量かつ高速なモデルを割り当てるのが効率的です。
    • モデルの定期的な棚卸し: artificialanalysis.ai などのリーダーボードを活用し、各モデルの最新スコアや料金体系を常に把握しておくことが重要です。Cursor などのモデル選択が可能なツールを使いこなす上で、必須のスキルと言えます。
  • 環境構築:
    • git worktree による並列開発: 複数のタスクを並行して進めるために git worktree を活用しています。 local で動かすには worktree を作るだけでは駄目で、 .env ファイルなどのコピーが必要なので、自作の igtm/easy-worktree を利用していますが、標準機能でも十分強力です。Cursor などにも worktree を自動で切り替える機能はありますが、ローカル環境の制約やブランチの視認性の観点から、現在は手動ベースでの管理を好んでいます。
    • CLI・定型作業の LLM 化: .claude/commands.claude/skills を整備し、引数の補完や実行タイミングの提案までを AI に委ねる環境を構築しています。

2. PR・レビュープロセスの効率化

開発速度を落とさないためには、周辺プロセスの自動化が欠かせません。

  • PR 作成の自動化: gh コマンドを活用し、説明文の生成からプルリクエストの作成までを一貫して自動化しています。
  • レビュー戦略の転換: プルリクエストの数が増えても、レビューが滞ればリリース速度は向上しません。そこで、細かなコードの確認は Claude Code Action などの LLM に任せつつ、テストを充実させるようにしています。人間のレビューは、仕様の整合性やアーキテクチャなどの議論に集中させています。

3. 2025 年の実感と課題

今年 1 年を振り返って感じたことと、今後の課題です。

  • エンジニアの多忙化(ボトルネックの変化): AI によってコード生成スピードが劇的に向上した結果、開発プロセス全体における「人間の判断」や「調整」が新たなボトルネックとなりました。これらをいかに解消するかに奔走した 1 年でした。
  • コードベースの品質維持: AI は既存のコードスタイルに強く影響を受けます。綺麗なコードベースであれば AI も良質なコードを書きますが、逆に負債が放置されていればそれが増幅されてしまいます1。これまで以上に定期的なリファクタリングが重要になっています。
  • エンジニアの役割の拡張: デザインやドキュメントの書式を指定し、Cursor などに取り込みやすい形に整えるなど、他職種の領域にも踏み込んだ全体最適化をエンジニアが主導する場面が増えました。
  • フロントエンドにおける課題: 画面の視覚的なイメージを AI に正確に伝え、修正箇所を的確に指定する方法については、まだ改善の余地があり、来年以降の課題として取り組んでいきたいと考えています。