録音データ、NotebookLM、Codexで業務システムの機能追加をほぼ1日で形にした話
Meg
Meg
2026-05-13
打ち合わせの録音データから要件を抽出し、NotebookLMで論点を整理し、Codexで既存コードを読み込みながら、PRD作成から実装までを一気通貫で行い、業務システムの機能追加をほぼ1日でレビュー可能な状態にした体験談。AIを「コード生成」だけでなく「要件整理」から活用するプロセスを解説します。

録音データ、NotebookLM、Codexで業務システムの機能追加をほぼ1日で形にした話

はじめに

ある既存業務システムに対して、条件分岐の多い新規機能を追加する機会がありました。

詳細なプロジェクト名や作った機能の中身は出せないのですが、ざっくり言うと、ユーザーの状態や所属情報に応じて表示内容や操作可否を切り替え、既存データと連携しながら状態を更新する画面です。

今回よかったのは、AIにいきなり実装を頼んだことではありません。録音データから要件を起こし、NotebookLMで論点を整理し、Codexで既存コードを読みながらPRDと実装まで一気通貫で作れたことです。

結果として、ほぼ1日でレビュー可能な状態まで持っていけました。

何が難しかったか

新規機能といっても、完全に独立した小さな画面を作るだけではありませんでした。

既存の業務システムには、すでにユーザー情報、権限や状態判定、操作履歴、環境ごとの設定値、運用上の確認フローがありました。今回の機能は、それらをまたぎながら動く必要がありました。

難しさは主に次の点です。

  • ユーザーごとに表示すべき内容が変わる
  • 既存データを見て、ユーザーごとの状態を判定する
  • 状態に応じて、次に取れる操作を出し分ける
  • 本番環境と検証環境で参照する設定値が違う
  • 既存の運用ルールに合わせてデータを更新する必要がある
  • 口頭で共有された要件に、確定事項と未確定事項が混ざっている

つまり、単純なCRUD画面ではなく、「既存業務のルールを壊さずに、新しい導線を足す」タイプの開発でした。

使ったもの

今回使ったのは、録音データ、NotebookLM、Codexです。

  • 録音データ: 打ち合わせで出た背景、条件、例外、運用上の注意点を残す
  • NotebookLM: 録音内容から要件、論点、確認事項を整理する
  • Codex: 既存コードを調査し、PRD化し、実装する

この組み合わせが効いた理由は、口頭の情報をそのままコードにしなかったことです。

口頭の依頼は、実装に必要な順番で話されるとは限りません。「この場合は表示する」「でもこのユーザーは例外」「この条件を満たすまでは出さない」「更新処理は既存処理に合わせたい」といった情報が、会話の中に散らばります。

そこで、まず録音を残し、NotebookLMで論点を並べ替えました。そのうえで、Codexに既存コードを読ませながら、実装できる粒度に落としました。

まず要件を構造化する

最初にやったのは、録音内容を次の観点で分解することでした。

  • この機能の目的
  • 対象ユーザー
  • 表示条件
  • 状態判定の方法
  • 再操作や状態更新の扱い
  • 操作可否を切り替える条件
  • 検証環境と本番環境の差分
  • 実装前に確認すべき未確定事項

この時点では、まだコードを書きません。

先に「何を満たせば完成なのか」を整理します。ここを飛ばすと、AIはそれっぽいコードを書けますが、業務ルールに合っているかを判断しづらくなります。

PRDを作ってから実装する

次に、Codexで既存コードを読みながらPRDを作りました。

PRDでは、実装フローを次のような粒度まで落としました。

  1. ログイン情報や画面遷移時の情報から対象ユーザーを特定する
  2. ユーザーの状態情報を取得する
  3. 所属やターゲット条件を取得する
  4. 表示対象の項目を決める
  5. 環境に応じて参照する設定値を切り替える
  6. 既存データから操作済みかどうかを判定する
  7. 状態に応じて操作導線を出し分ける
  8. 状態更新では既存運用に合わせて履歴を残し、関連データを更新する

ここまで分解すると、実装時の迷いがかなり減ります。

特に既存システム上の開発では、「新しく作るロジック」と「既存に合わせるロジック」を分けて考える必要があります。AIに任せる場合でも、この境界を明確にしておくと手戻りが減ります。

実装で意識したこと

実装では、既存画面で使われているフロントエンド構成やデータ取得方法に寄せました。

新しい技術スタックを持ち込むよりも、既存の保守者が読める形にすることを優先しました。AIを使うと、つい新しい書き方やきれいな抽象化を入れたくなりますが、業務システムでは「周囲のコードと同じ文法で読める」ことが重要です。

状態管理では、次のような役割に分けました。

  • ユーザーの状態を確認するデータ
  • 対象条件を確認するデータ
  • 操作状態を確認するデータ
  • 履歴として残すデータ

実名の保存先は出せませんが、ポイントは「画面に表示するための状態」と「運用上残すべき履歴」を分けたことです。

また、環境差分も最初から設定として持たせました。検証環境と本番環境で参照先が違う場合、あとから文字列を差し替える運用にすると事故りやすくなります。環境判定を通して、必要な設定値を切り替える形にしました。

レビューの指摘をプロンプトに入れる

今回もう1つ効いたのが、過去のコードレビューで注意を受けたことを、あらかじめCodexへのプロンプトに入れたことです。

たとえば、既存コードの書き方に合わせること、既存の運用ルールから外れた実装にしないこと、確認が必要な前提を勝手に決め打ちしないことなどです。

AIに「この機能を作って」とだけ依頼すると、動くコードは出てきても、過去にレビューで問題になった癖をまた踏むことがあります。そこで、以前指摘された観点を先に渡しておくことで、最初の出力からレビューしやすい形に近づけました。

これはかなり実用的でした。プロンプトは単なる依頼文ではなく、自分たちのレビュー基準をAIに渡す場所でもあると感じました。

AIに任せたこと、任せなかったこと

AIに任せたのは、主に次の作業です。

  • 録音から出てきた要件の整理
  • PRDの下書き
  • 既存コードの調査
  • 実装方針の整理
  • コードの初稿作成

一方で、人間側で判断したこともあります。

  • 要件として何を優先するか
  • 既存運用に合わせるべき箇所はどこか
  • 本番反映前に確認すべき項目
  • AIが作った実装が業務上の前提を外していないか

特に業務システムでは、AIがコードを書けることよりも、既存運用に合っているかを判断することのほうが重要です。

ほぼ1日でできた理由

速かった理由は、AIが速いからだけではありません。

録音データがあり、会話の情報を取りこぼさなかったこと。NotebookLMで要件を構造化したこと。Codexに既存コードを読ませて、既存設計に合わせたこと。そして、過去レビューで受けた注意点をプロンプトに入れたこと。

この4つがそろうと、開発の待ち時間がかなり減ります。

従来なら、打ち合わせ後に議事録を作り、要件を整理し、既存コードを調べ、実装し、動作確認し、最後に資料を作る、という流れになります。今回はその各工程をAIで圧縮しつつ、人間が判断すべきところに集中できました。

注意点

もちろん、AIを使えば何でもそのまま本番投入できるわけではありません。

録音から起こした要件には、確定情報と未確定情報が混ざります。設定値、表示開始条件、状態更新条件、通知や履歴の扱いなどは、最終確認が必要です。

また、AIが生成したコードは、動くように見えても業務運用上の前提を外す可能性があります。既存のデータ更新ルールに合っているか、履歴を残すべき場所に残しているか、環境判定が既存と一致しているかは、人間が確認する必要があります。

今回の成果も、「AIで1日で本番リリースした」というより、「AIを使って、1日でレビュー可能な状態まで持っていけた」と捉えるのが正確です。

まとめ

今回の開発では、録音データ、NotebookLM、Codexを組み合わせることで、口頭の依頼からPRD、実装までをほぼ1日で作ることができました。

ポイントは、AIにいきなりコードを書かせないことです。

まず録音を残す。次に要件を構造化する。既存コードを読ませる。過去のレビュー観点をプロンプトに入れる。PRDにする。実装する。

この順番を守ると、AIは単なるコード生成ツールではなく、業務システム開発の伴走者としてかなり使えます。特に既存システムの上に、詳細は出せないけれど条件分岐の多い機能を追加する場面では、録音、NotebookLM、Codexの組み合わせはかなり実用的でした。