QUIZ 60分

卒業クイズ:AIアシスタントを使いこなそう

ストーリー

「いよいよ最後のクイズだ」

中島先輩が笑顔で言った。

「この1ヶ月で、AIの基礎から実践的な活用まで一通り学んだ。 卒業クイズに合格すれば、AIを使いこなせるエンジニアとして認定だ」

「緊張します...」

「大丈夫。ここまでの内容を理解していれば必ず合格できる。 自信を持って挑め」

「はい! やってみます」


クイズの説明

Month 8 全体の理解度を確認する卒業クイズです。

  • 全8問
  • 合格ライン: 80%(7問正解)
  • Step 1〜5の全範囲から出題
  • 不合格の場合は復習してから再挑戦してください

問題

Q1. LLMの動作原理とハルシネーションの関係について正しいのはどれですか?

  • A) LLMはデータベースから正確な情報を検索するため、ハルシネーションは発生しない
  • B) LLMは確率的にトークンを予測するため、もっともらしいが事実と異なる出力を生成することがある
  • C) ハルシネーションはAIが意図的に嘘をついている現象である
  • D) ハルシネーションは最新のAIモデルでは完全に解消されている
<details> <summary>解答と解説</summary>

正解: B

LLMは「次に来る確率が最も高いトークンを予測する」仕組みで動作します。これは「理解」ではなく「パターンマッチング」であるため、学習データに含まれない情報や確率的に「もっともらしい」が実際には間違っている内容を生成することがあります。

これがハルシネーションの根本原因であり、最新モデルでも完全には解消されていません。AIの出力は必ず検証する必要があります。

</details>

Q2. 以下のプロンプトを改善する方法として最も効果的なのはどれですか?

元のプロンプト: 「コードを書いて」

  • A) 「いいコードを書いて」と丁寧に頼む
  • B) 「TypeScriptで、配列の重複を除去してソートする関数を書いて。引数はstring[]、戻り値はstring[]。コード例とテストを含めて」
  • C) 「コードを書いて。3回やり直してベストなものを出して」
  • D) 「プロフェッショナルなコードを書いて」
<details> <summary>解答と解説</summary>

正解: B

効果的なプロンプト改善のポイント:

  1. 具体的なタスク: 何をする関数か明記
  2. 技術スタック: TypeScriptを指定
  3. 入出力の型: string[] → string[]
  4. 出力形式: コード例とテストを含める

曖昧な修飾語(「いい」「プロフェッショナル」)はAIの回答品質を向上させません。

</details>

Q3. Few-shot プロンプティングとChain-of-Thoughtの使い分けとして適切なのはどれですか?

  • A) Few-shotは複雑な推論に、CoTはフォーマット統一に使う
  • B) Few-shotは出力フォーマットの統一に、CoTは複雑な分析・推論に使う
  • C) 両者は同じ目的で使えるため、使い分けは不要
  • D) Few-shotはテスト生成に、CoTはドキュメント作成にのみ使う
<details> <summary>解答と解説</summary>

正解: B

使い分けの基準:

  • Few-shot: 入出力の例を示して、フォーマットやスタイルを統一したい場合
    • コミットメッセージの形式統一
    • コーディングスタイルの統一
    • データ変換ルールの伝達
  • Chain-of-Thought: 段階的に考えさせて、推論の精度を上げたい場合
    • 複雑なバグの分析
    • アーキテクチャの比較評価
    • セキュリティレビュー
</details>

Q4. GitHub Copilotの補完精度を最大化するテクニックの組み合わせとして正しいのはどれですか?

  • A) ファイルを全て閉じ、空のファイルでコードを書く
  • B) コメントで意図を記述、型定義を先に書く、関連ファイルをタブで開く
  • C) 補完候補を全てTabで受け入れる
  • D) 日本語でファイル名を付ける
<details> <summary>解答と解説</summary>

正解: B

Copilotの補完精度を上げる3つのテクニック:

  1. コメントで意図を記述: 自然言語で何をしたいか伝える
  2. 型定義を先に書く: 入出力の形が明確になる
  3. 関連ファイルをタブで開く: Copilotが参照するコンテキストが増える

追加で、import文を先に書くことでライブラリの使用もCopilotに伝えられます。

</details>

Q5. AIサービスへの情報入力に関するセキュリティルールとして正しいのはどれですか?

  • A) エンタープライズプランなら何でも入力してよい
  • B) APIキー、パスワード、個人情報はマスキングしてから入力し、社内ポリシーに従う
  • C) オープンソースのコードなら機密情報が含まれていても問題ない
  • D) AIに入力した情報は全て暗号化されるので気にしなくてよい
<details> <summary>解答と解説</summary>

正解: B

セキュリティの基本ルール:

  • APIキー・パスワード: 絶対に入力しない。ダミー値に置換
  • 個人情報: マスキングまたは削除
  • 機密コード: 社内ポリシーを確認
  • エンタープライズプラン: データの学習非使用が保証されるが、それでも機密情報の入力は避けるべき

プランに関わらず、機密情報のマスキングは基本習慣です。

</details>

Q6. AIペアプログラミングで「段階的に進める」ことの主な利点はどれですか?

  • A) AIの課金額を抑えられる
  • B) 各段階で品質を確認でき、問題を早期に発見・修正できる
  • C) コードの行数を最小限に抑えられる
  • D) AIの応答速度が向上する
<details> <summary>解答と解説</summary>

正解: B

段階的に進める利点:

  • 品質確認: 型定義→ロジック→API→テストの各段階で検証
  • 早期発見: 設計の問題を実装前に、ロジックの問題をテスト前に発見
  • 方向修正: 意図と異なる出力にすぐ気づいて修正
  • 理解の維持: 生成されたコード全体を把握できる

一括生成では問題箇所の特定が困難になり、品質が低下します。

</details>

Q7. AI生成コードのレビューで最も見落としやすい問題はどれですか?

  • A) インデントの乱れ
  • B) コメントの不足
  • C) 存在しないAPIの使用やセキュリティの脆弱性
  • D) ファイル名の規約違反
<details> <summary>解答と解説</summary>

正解: C

AI生成コードは見た目がきれいで正しそうに見えるため、以下の問題を見落としがちです:

  • 存在しないAPI: ハルシネーションにより架空のメソッドが使われる
  • セキュリティの脆弱性: 入力バリデーション不足、インジェクション
  • 不完全なエラーハンドリング: ハッピーパスのみでエラー処理が不足
  • 古いパターン: 非推奨のAPIや古い書き方

これらは見た目では判別しにくく、実行時に初めて問題が発覚します。

</details>

Q8. 「Trust but Verify(信用するが、検証する)」の原則を実践するための最も適切な行動はどれですか?

  • A) AIの回答を信用して、テストやドキュメント確認は省略する
  • B) AIの回答は全て間違いだと考え、一切使用しない
  • C) AIの回答を参考にしつつ、コードは実行テストし、API名は公式ドキュメントで確認し、数値は一次情報源で裏取りする
  • D) AIに自分の回答が正しいか再確認させる
<details> <summary>解答と解説</summary>

正解: C

「Trust but Verify」の実践:

  1. コードは実行テスト: 動かしてみて動作を確認
  2. API名は公式ドキュメント: 存在確認と使い方の照合
  3. 数値は一次情報源: 統計やバージョン情報は元の情報源で確認
  4. ビジネスロジックは要件照合: 要件書と実装の整合性を確認

AIは強力なツールですが、最終的な品質保証は人間の責任です。

</details>

結果

7問以上正解の場合

おめでとうございます。卒業です!

Month 8「AIアシスタントを使いこなそう」の全カリキュラムを完了しました。

卒業後にできること

あなたが身につけたスキル:
  ✅ 生成AIの仕組みと限界を正しく理解している
  ✅ 目的に応じた効果的なプロンプトを設計できる
  ✅ ChatGPT/Claudeでコードレビュー、ドキュメント作成、デバッグができる
  ✅ GitHub Copilotのコード補完とChatを活用して開発速度を向上できる
  ✅ AIが生成したコードを適切にレビュー・修正できる
  ✅ 複数のAIツールを組み合わせた開発ワークフローを構築できる
  ✅ AI利用における倫理的リスクを理解し、適切に管理できる

6問以下の場合

もう少し復習しましょう。

問題復習セクション
Q1Step 1: 生成AIの基本
Q2, Q3Step 2: プロンプトエンジニアリング
Q5Step 1: AI利用の倫理とリスク管理
Q4Step 4: GitHub Copilot
Q6, Q7, Q8Step 5: AIとペアプログラミング

卒業メッセージ

「おめでとう。立派にAI活用エンジニアになったな」

中島先輩が満足げに頷いた。

「でも、これがゴールじゃない。AIの世界は猛スピードで進化してる。 今日学んだことの一部は、半年後には古くなってるかもしれない」

「じゃあ、どうすれば...」

学び続けることだ。でも、今日身につけた"AIとの付き合い方"の原則は変わらない。 Trust but Verify。AIは道具であり、使いこなすのは人間だ。 その原則さえ忘れなければ、どんなに技術が進化しても対応できる」

「ありがとうございます、中島先輩。これからもAIと一緒に成長していきます」

「いい心がけだ。困ったらいつでも聞いてこい。 ...まあ、まずAIに聞いてからな(笑)」


まとめ

ポイント内容
生成AIの基本LLMの仕組み、ハルシネーション、倫理リスク
プロンプトエンジニアリング基本原則、パターン、Few-shot、CoT、システムプロンプト
業務活用コードレビュー、ドキュメント、デバッグ、学習
GitHub Copilotコード補完、Chat、テスト生成、リファクタリング
AIペアプロ仕様→コード変換、AI生成コードレビュー、ツール組み合わせ
基本姿勢Trust but Verify を常に実践する

チェックリスト

  • 全8問に挑戦した
  • 合格ラインをクリアした
  • 総合演習のポートフォリオを完成させた

Mission Complete

ミッション「AIアシスタントを使いこなそう」完了

次のミッションでも、AIを味方につけて効率的に学習を進めましょう。


推定読了時間: 60分