【授業レポート】システム開発(3年) 第46週目
〜生成AI連携の設計入門:便利さを“安全に制御する”考え方〜
第46週目は、いよいよ生成AIをシステムに組み込むための設計入門に入りました。
前週までの「複数API連携・非同期設計」を土台に、
今回は 生成AIならではの特徴とリスクを理解し、どう制御するか を中心に学びました。
テーマは
「生成AIは“賢い部品”ではなく、“振る舞いを管理すべき存在”」
です。
■ 先生の導入:「生成AIはAPIより“予測不能”」
田中先生:「生成AIは便利ですが、
・毎回同じ答えが返るとは限らない
・間違ったことを“それっぽく”言う
・使い方次第で危険にもなる
という特徴があります。
今日は“どう呼ぶか”より“どう管理するか”を考えます。」
APIとの違いとして、先生は次を強調しました。
- 通常API:決まった入力 → 決まった形式の出力
- 生成AI:文章入力 → 確率的・多様な出力
■ 今日のゴール
- 生成AIの特性(強み・弱み)を理解する
- 生成AIを直接UIから呼ばない理由を理解する
- 生成AI連携の基本アーキテクチャを設計できる
- 「やってはいけない使い方」を明確にする
■ 実習①:生成AIで“起きがちな問題”を知る
先生は実例ベースで、生成AIの失敗パターンを紹介しました。
よくある問題
- 事実でない内容を断定する
- 指示していない内容まで勝手に補完する
- 不適切・曖昧な表現を出す
- 長さや形式が毎回バラバラ
- 入力次第で想定外の出力になる
生徒A:「APIより“人間っぽい分、信用しすぎると危ない”」
■ 実習②:生成AIを使うユースケースを整理する
次に、「生成AIを何のために使うか」を明確にするワークを実施。
OKな使い方(例)
- 文章の要約
- 定型文の言い換え
- アイデアのたたき台
- ユーザー入力の補助説明
NGになりやすい使い方(要注意)
- 正解が1つしかない判断
- 金額・法律・医療などの断定
- そのままユーザーに信じさせる回答
生徒B:「“決定”じゃなくて“補助”として使うのが基本なんだ」
■ 実習③:生成AI連携の基本アーキテクチャ
2年生・3年生で学んだ設計を活かし、
生成AIを組み込む基本構造を整理しました。
UI
↓
Service(判断・制御)
↓
AI Client
↓
生成AI API
設計上の重要ポイント
- UIから直接AIを呼ばない
- Service層で
- 入力チェック
- プロンプト整形
- 出力チェック
- フォールバック判断
- AIは「答える人」ではなく「素材生成役」
生徒C:「API連携と同じ形だけど、チェックが多い!」
■ 実習④:プロンプトは“設計書”
生成AIでは、**プロンプト(指示文)**が結果を大きく左右します。
先生は次のように説明しました。
プロンプト =
人に仕事を頼むときの「依頼書」
良いプロンプトの要素
- 役割を指定する
- 出力形式を指定する
- してはいけないことを書く
- 文量・口調を制御する
例(概念)
あなたは図書館システムの補助AIです。
以下の文章を100字以内で要約してください。
事実でない内容は追加しないでください。
生徒D:「曖昧に頼むと、曖昧な答えが返るんだね」
■ 実習⑤:生成AI失敗時の設計を考える
API以上に重要なのが失敗前提の設計。
想定すべき失敗
- 返答が来ない
- 意味不明な文章
- 長すぎる/短すぎる
- 不適切な表現
基本方針
- AI結果は必ず検証する
- そのまま表示しない
- ダメなら
- 固定文を出す
- AIなしの動作に戻す
生徒E:「“AIがダメでもアプリは動く”が大事なんだ」
■ クラス全体の気づき
- 生成AIは“万能”ではない
- 制御しないとUXも安全性も下がる
- Service層の設計が一番重要
- AIを使っていることをユーザーに明示する配慮も必要
■ 先生のまとめのひとこと
「生成AIは“考える機械”ではありません。
確率的に文章を作る道具です。
だからこそ、
・どこで使うか
・どこまで信じるか
・ダメだったらどうするか
を人間側が設計する必要があります。
今日の内容は、
“生成AI時代のエンジニアの基本姿勢”そのものです。」
■ 宿題(次週に向けて)
- 生成AIを使った ユースケース案を1つ考える
- そのユースケースで
- AIに任せる部分
- 人・プログラムが判断する部分
を分けて書く
- AI出力が失敗した場合の フォールバック案 を考える
■ 来週の予告:生成AIを実際に呼び出す(安全なハンズオン)
次週は、
生成AI APIを実際に呼び出す実装に挑戦します。
ただし、
- 出力検証
- 表示制御
- フォールバック
まで含めた「安全な組み込み」がテーマです。
第46週目は、
生成AIを「使う前に考える」視点を身につける重要な回でした。
生徒たちは、便利さに流されず、
設計でAIをコントロールする力を着実に身につけています。
