5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ほぼ100%AIコーディングする場合、1番重要なのは仕様への理解ではないか、という話

5
Last updated at Posted at 2025-12-15

はじめに

この記事は Wano Group Advent Calendar 2025 の 15 日目の記事となります。

概要

弊社では Video Kicks という、カラオケ配信に加え、世界 100 カ国以上のストアでミュージックビデオを配信できるサービスを開発・運営しています。

サービスを運用していると、特殊対応が時折発生します。
そのような場合、エンジニアが運用メンバーから依頼を受けて手動による作業を実施する必要があります。
これを運用メンバー内で完結できるよう機能追加による改善を実施しました。

今回はほぼ AI コーディングで本タスクに対応する中で、個人的に特に重要だと感じたことをまとめます。

利用しているツール

Copilot Agent (VSCode)

サービスの事情

弊サービスは対応する配信ストアの多さや、動画のような大容量のファイルを扱うことから、複数の分散プロセスが非同期で動きます。
それぞれの処理は各種ステータスを確認・更新するため、その条件やタイミングが重要となります。

また、私の入社前から稼働しているので、「実はこの処理には昔からの XXXXXX な経緯があって〜」のような歴史的な事情などがあったりします。

改善の内容

社内向けの管理アプリに、特に頻度の多い種類の特殊対応を、運用メンバーだけで簡単に実行できる機能を追加しました。
これにより、

  1. 運用メンバーが Notion 上の依頼一覧ページにタスクを追加
  2. エンジニアによる作業
  3. 運用メンバーによる作業内容確認

となっていた作業内容が、

  1. 運用メンバーによる作業

で完結できるようになりました。

依頼内容は Notion で一覧化されているため、Notion MCP を利用して依頼内容を分類し、今回の改善の対象となる依頼種別の参考としています。

AI コーディング時に重要なこと

実装計画を立てる

まずは、最初に実装計画を立てることが重要です。
目的は、人間と AI で認識合わせをしておくことです。

私の場合、以下のような流れで実施します。

  • ある程度の仕様や参考になる別コードを示す
  • どのような手順で実装を進めるのかの叩きを作るよう指示する
  • md ファイルを作成し、その内容を書かせる
  • 内容を読み、不足している点や方向性の間違いを修正
  • 上記を繰り返す

このように、あらかじめ実装計画を立てておくことで、AI の作業内容をあらかじめ整理・把握することができます。
また、実装中に目を離して別の作業をしていたら、いつの間にか明後日の方向にタスクを進めていた!ということを防ぐことができます。

コードレビュー

コーディングが終了したら、ローカルで 2 つの方法でコードレビューを実施し、適宜修正を加えます。

1. 人間によるレビュー

主に以下の観点でのレビューを実施しています。

  • 人間が読みやすいコードになっているか
    • コメントが適切に記述されているか
    • 実装内容とコメントが一致しているか
    • メソッドが適切に分離されているか
    • 命名と実装が一致しているか
  • 利用するパッケージや参照する定数が正しいか
  • 求める仕様に沿っているか

2. AI によるレビュー

実装とは別のコンテキストで、AI によるレビューを実施します。
VSCode の場合、チャットセッションを切り替えることでコンテキストがリセットされます。

ここでは主に以下の観点でのレビューを期待します。

  • 実装計画と実際の実装内容を比較し、ズレや漏れがないか
  • バリデーションや認可チェックが適切か
  • その他一般的なレビュー観点

結局は仕様への理解が 1 番だと思う

前項で、実装計画コードレビューが重要だと記載しましたが、それらを適切に実施するうえでも仕様への理解が特に重要だと思います。

実装計画を適切に立てるためには、関連する機能やテーブルの更新タイミングなどを正しく理解しておく必要があります。
コードレビューを実施するにも、AI を信用しすぎないために十分な仕様の理解が必要です。

どう理解を進めるか

ここで、特にドキュメント化されていないものや、入社前からあるコード等触れたことのない実装に関して既存コードを読むことになります。
私の場合、関連しそうな実装箇所を AI に読ませて、ざっくりと解説してもらってから答え合わせのように読み進めることが多いです。

この工程が雑になると、動作確認中に「ほぼ想定通りの動きだけど、この項目がなぜか更新されない!」のようなことが発生し、原因調査に大幅に時間を取られるので注意です。

まとめ

書き進めるうちに「そりゃ当然のことか...」と思ってきましたが、自身の考えを整理できていい機会になりました!

AI による成果物のクオリティがどんどん上がり、人間が大規模な修正を加える必要が少なくなってきたように思います。
そのような中で適切な実装を進めるには、AI と人間の認識合わせが重要です。
その認識合わせをするのにはまず仕様を理解しておく必要があるというお話でした!


弊社グループでは一緒に働くメンバーを募集中です、ご応募お待ちしています!

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?