大阪公立大学 2026年度前期 初年次ゼミナール

AIプロダクトデザイン

第5回 要件定義・AI駆動開発

2026年6月9日・6月16日(火)3限 | 森之宮学舎 710小教室 | 石丸翔也

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

今日のアジェンダ

  1. AI時代のMVPについて知る
  2. 機能要件・非機能要件について理解する
  3. 後半授業のチームを作る
  4. OpenAI Codex.app を使える状態にする
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

1. AI時代のMVP

考えるコストと作るコストの逆転

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

MVPとは何か

MVP (Minimum Viable Product):ユーザーが価値を感じるかを最短で確かめるためのプロダクト

ポイント:

  • 問題ではなく、解決策について証拠を集める
  • 完成度より、ユーザーの行動を見る
  • 1回で決めず、反復して見極める
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

これまでのプロダクト開発

これまでは、作るコストが高かったので、様々な要素を作る前に決める必要があった

作る前に精査する。手順としては、

  • どの機能が本当に必要か考える
  • 仕様を固める
  • 優先順位をつける
  • 開発に着手する

なぜ精査が必要なのか?失敗すると、

  • 時間が失われる
  • チームの集中力が失われる
  • 作ったものへの執着が生まれる
  • 方向転換が遅くなる
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

AI時代のプロダクト開発

AIコーディングエージェントは、自然言語の指示からコードを書き、実行し、修正できる

作るコストが大幅に下がった

  • 画面案をすぐ作れる
  • 別案を並べて試せる
  • 動くサンプルまで早い
  • 修正も依頼できる

では人間は何を考える必要があるのか

  • 何を試すか
  • 何を学ぶか
  • どの反応を信じるか
  • 次に何を変えるか
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

コストの逆転

Agentic Codingで変わるのは、単に「速く作れる」ことではない

従来 AI時代
作る前に絞る 作りながら見極める
仕様を固めてから実装する 仮説ごとにプロトタイプを作る
1案を磨く 複数案を比較する
開発コストが制約 判断・検証コストが制約

プロトタイピングを高速化・並列化することで、ユーザーが本当に必要なものの検証が今まで以上にできるようになった。考えるコストと作るコストの相対関係が逆転した

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

AIネイティブMVPのループ

  1. シナリオを書く
  2. 仮説に分ける
  3. 複数のプロトタイプ案を作る
  4. Agentic Codingで素早く形にする
  5. ユーザーに触ってもらう
  6. 証拠を見て、続ける / 捨てる / 変える
  7. 文脈ファイルを更新して次のループへ

作る → 見る → 意味づける のサイクルを短くする

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

スコープ文書を書く

作る前に、短いスコープ文書を残す

## Prototype
何を作るか

## Hypothesis
何を確かめるか

## In scope
今回作ること

## Out of scope
今回あえて作らないこと

## Evidence
どんな反応を見れば前進と言えるか
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

例:発表練習AI

## Prototype
発表原稿を入力すると、改善点を3つ返す画面

## Hypothesis
原稿への具体的な助言だけでも、学生は次の練習に進める

## In scope
原稿入力、改善点3つ、修正版メモ

## Out of scope
録音解析、ログイン、履歴、点数化

## Evidence
改善点のうち1つ以上を使って原稿を直したら前進
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

セキュリティの最低ライン

MVPでも、実ユーザーに触ってもらうなら最低限の注意が必要

  • 個人情報を保存しない
  • APIキーやパスワードをコードに書かない
  • エラー画面に秘密情報を出さない
  • 外部公開する前に不要なデータを消す

「動く」だけでは、プロダクトとして十分ではない

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

2. 機能要件・非機能要件

作りたいものを文書化して、AIやチームと共通理解を得る

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

要件は何のために書くのか

要件は、きれいな仕様書を作るためではなく、チームとAIが同じ方向に進むために書く

チームにとって

  • 何を作るかを共有する
  • 優先順位を判断する
  • 作りすぎを防ぐ
  • レビュー観点を揃える

AIにとって

  • ユーザーと場面を理解する
  • 余計な機能を追加しない
  • 完了条件を判断する
  • 修正時に迷子にならない

要件は、人間の判断をAIに渡すための文脈でもある

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

機能要件:ユーザーが何をできるか

機能要件は、システムの部品名ではなく、ユーザーの行動として書く

書き方
悪い AI採点機能、履歴機能、通知機能
良い ユーザーは発表原稿を入力できる
良い ユーザーは改善点を3つ以内で確認できる
良い ユーザーは改善点をもとに修正版メモを作れる

「〇〇機能」と書きたくなったら、それによってユーザーが何をできるのか に言い換える

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

非機能要件:価値が成立する品質

非機能要件は、「できる」だけでは足りない品質を書く

観点 問い
速度 どの操作が何秒以内か 1000字の原稿で10秒以内に結果を表示
分かりやすさ 誰が読める文体か 大学1年生向けに専門用語なしで説明
信頼性 失敗時にどう戻れるか 通信失敗時も入力原稿を消さない
安全性 何を保存しないか 原稿本文を明示的な保存操作なしに保存しない
アクセシビリティ どの環境で読めるか スマホ幅でも本文16px以上、横スクロールなし

非機能要件は、MVPの Viable を支える

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

要件を検証可能にする

要件は、最後に「どうなったら満たしたと言えるか」まで書く

要件 受け入れ条件
原稿を入力できる 200〜1000字の原稿を入力し、送信できる
改善点を確認できる 改善点が3つ以内で表示される
初心者にも分かりやすい 専門用語を使わず、各指摘が1〜2文で説明される
不安を増やしすぎない 点数だけで評価せず、次の行動を1つ示す

Codexに依頼するときは、この受け入れ条件が 終了条件 になる

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

要件テンプレート

機能要件

ユーザーは、[場面] において、
[目的] のために、
[行動] ができる。

例:

ユーザーは、発表前日のひとり練習において、
伝わりにくい箇所を把握するために、
録音した発表に対する改善点を確認できる。

非機能要件

[品質観点] として、
[ユーザー/状況] に対して、
[基準] を満たす。

例:

分かりやすさとして、
初めて使う1年生に対して、
改善点を専門用語なしで3つ以内に提示する。

まずは全体要件を決めて、箇条書きなどで詳細へとブレイクダウンすると良い

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

例:発表練習アプリの要件

機能要件

  • 発表原稿を入力できる
  • 発表時間の目安を設定できる
  • 原稿に対する改善点を確認できる
  • 改善点をもとに修正版メモを作成できる
  • 再練習するための次の行動を確認できる

非機能要件

  • 800〜1200字の原稿に対して、結果を10秒以内に表示する
  • 改善点は最大3件、各項目は「問題点」「理由」「直し方」を各1文で表示する
  • 指摘文は大学1年生が読める語彙にし、専門用語を使う場合は短い補足を付ける
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

3. チーム作り

最終プレゼンに向けて、チームを作って、アプリ/サービスを作る

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

最終プレゼン

  • 3人1組を目安とするチームを作ってください
  • チーム内で話し合って、好きなテーマで1つ、プロダクトを実際に開発してください
  • 迷ったら、中間発表のアイデアや「AIを活用して大学生活をちょっと良くするアプリ」をテーマにしてください
  • Slack etc. の具体的な指示を授業中に行います
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

4. OpenAI Codex.app を使える状態にする

AIコーディングエージェントを、開発の相棒として使う

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

AIコーディングエージェントとは

コード生成チャットとの違いは、作業環境にアクセスできること

Codexは、プロジェクト内で次のような作業を行える

  • ファイルを読む
  • コードを編集する
  • コマンドを実行する
  • エラーを確認する
  • テストやビルドを走らせる
  • 差分を見て修正する

今日使うのは、OpenAIのデスクトップ版 Codex.app

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

Codex.appの特徴

Codex.appは、ローカルプロジェクトでCodexスレッドを動かすデスクトップアプリ

  • macOS / Windowsで利用できる
  • プロジェクトフォルダを選んで作業できる
  • ターミナルと差分確認がアプリ内にある
  • Git worktreeで並行作業もしやすい
  • Localモードでは自分のPC上で作業する

授業では、まず Local + 既定の権限 で使う

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

セットアップ前に確認するもの

全員

  • ChatGPTアカウント
  • ブラウザでログインできること
  • PCと作業用フォルダ
  • インターネット接続

今後、時間をかけて整備するもの

  • Gitなどのバージョン管理
  • Node.jsなどの実行環境
  • VS Codeなどのエディタ
  • GitHubアカウント

今日は高度な環境構築より、Codexがプロジェクトを開けることを優先する

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

演習1:Codex.appのインストールと起動

公式ページからダウンロードして起動する

  1. https://openai.com/ja-JP/codex/ を開く
  2. 自分のPCにあわせてインストーラを選ぶ (Mac/Windows対応)
  3. ダウンロードしたインストーラを開く
  4. ChatGPTアカウントでサインインする

ここまで完了したら、テキストボックスに「Codexの使い方を紹介する1ページ構成のWebサイトを作成して」と入力 & 実行して、Codexが動いていることを確認してください

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

権限と安全

Codexはファイルを編集し、コマンドも実行できる

だから、最初は次を守る

  • 作業用フォルダだけを開く
  • 重要なファイルがある場所を直接開かない
  • APIキーやパスワードを貼らない
  • 何を変更したか、差分を確認する
  • 迷ったら「まだ編集せず説明して」と頼む
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

AGENTS.md:AIへの作業ルール

Codexは作業を始める前に AGENTS.md を読む。ここに、プロジェクトの作業ルールを書く

例:

# AGENTS.md

- このプロジェクトの設計書・起動方法はREADME.mdにあります
- 作業後はREADME.mdを更新してください
- 作業中に困ったことがあれば都度ユーザーに質問してください

繰り返し言いたいことは、プロンプトではなくファイルに残す

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

Codexへの頼み方

公式ベストプラクティスでは、良い依頼に4つの要素を入れる

要素 書くこと
Goal 何を作る / 変えるか
Context どのファイル・資料・制約を見てほしいか
Constraints 守ってほしい条件
Done when 完了条件、確認方法

要件定義と同じ。曖昧な依頼からは、曖昧な実装が返る。

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

プロンプトのテンプレート

Goal:
[プロトタイプ実験] として、[確かめたい仮説] を検証できる最小のWebアプリを作ってください。

Context:
README.md を読んでください。

Constraints:
今回は [Out of scope] は実装しないでください。

Done when:
ローカルで起動でき、[ユーザー操作] で [見たい反応] が確認できること。
AIプロダクトデザイン|第5回 要件定義・AI駆動開発

演習2:Codexに与えるプロンプトを工夫してみる

演習1で指示した「Codexの使い方を紹介する1ページ構成のWebサイトを作成して」を改善して、プロンプト1行で済ませるのではなく、README.md・AGENTS.mdなどを活用することで、より初心者にとって分かりやすいWebサイトにしてみましょう

AIプロダクトデザイン|第5回 要件定義・AI駆動開発

次回:第6回 デバッグ・バージョン管理

前回のAI駆動開発で直面したエラーやバグを題材に、デバッグの進め方 (エラーメッセージの読み方、AIへの質問の仕方、原因の切り分け方) を実践的に学ぶ。続いて、チーム開発で起きる編集の競合を防ぐためにGit/GitHubの基本操作をハンズオンで習得する。どちらも必要性を実感したうえで学び、以降の開発を効率的に進められるようにする。

a日程:6/23 (火) b日程:6/30 (火)

AIプロダクトデザイン|第5回 要件定義・AI駆動開発