QUIZ 30分

クイズの説明

Step 2で学んだTool Useとファンクションコーリングについて理解度をチェックします。

  • 全5問
  • 不合格の場合は復習してから再挑戦してください

問題

Q1. ツール設計の「単一責任の原則」として正しい実践はどれですか?

  • A) 1つのツールで注文の検索・キャンセル・更新をすべて処理する
  • B) 注文検索、注文キャンセル、注文更新をそれぞれ別のツールとして設計する
  • C) すべてのAPIを1つの汎用ツールにまとめて、パラメータで振り分ける
  • D) ツール数を最小にするため、なるべく多機能なツールを設計する
答えを見る

正解: B

単一責任の原則では、1つのツールは1つの明確な責務を持つべきです。search_orderscancel_orderupdate_order のように分割することで、LLMが正しいツールを選択しやすくなり、パラメータも明確になります。


Q2. ファンクションコーリングで、LLMがツール呼び出しを返した後の正しい処理フローはどれですか?

  • A) LLMの出力をそのままユーザーに返す
  • B) ツールを実行し、結果をLLMに返却して次の判断を仰ぐ
  • C) ツールを実行し、結果を直接ユーザーに返す
  • D) ツール呼び出しをキューに入れて非同期で処理する
答えを見る

正解: B

ファンクションコーリングでは、LLMがツール呼び出しを返却 → アプリケーションがツールを実行 → 結果をメッセージとしてLLMに返却 → LLMが結果を踏まえて最終回答を生成、というフローが正しいです。ツールの実行結果をLLMに戻すことで、適切な文脈での回答が生成されます。


Q3. ツールのパラメータバリデーションが重要な理由として正しいものはどれですか?

  • A) LLMは常に正確なパラメータを生成するため、バリデーションは不要
  • B) LLMが生成するパラメータは常に正しいとは限らず、不正な値でツールが誤動作する可能性がある
  • C) バリデーションはパフォーマンス向上のために必要
  • D) APIの利用規約でバリデーションが義務付けられている
答えを見る

正解: B

LLMが生成するパラメータは必ずしも正しいとは限りません。フォーマットの誤り、範囲外の値、必須パラメータの欠落などが発生する可能性があります。Zodなどのバリデーションライブラリで検証し、不正な場合はLLMが理解できるエラーメッセージを返すことが重要です。


Q4. Exponential Backoffによるリトライ戦略の説明として正しいものはどれですか?

  • A) リトライの間隔を一定に保つ(1秒、1秒、1秒…)
  • B) リトライの間隔を指数的に広げる(1秒、2秒、4秒…)
  • C) リトライ回数に上限を設けず、成功するまで繰り返す
  • D) すべてのエラーに対して同じリトライ戦略を適用する
答えを見る

正解: B

Exponential Backoffは、リトライの間隔を指数的に広げる戦略です(1秒、2秒、4秒…)。これにより、一時的な負荷やレート制限が解消される時間を確保しつつ、無駄なリトライを減らします。また、リトライは一時的なエラー(タイムアウト、レート制限等)にのみ適用し、永続的なエラーには適用しません。


Q5. ツールのエラーレスポンスに含めるべき情報として、最も重要なものはどれですか?

  • A) スタックトレースの全文
  • B) エラーコード、メッセージ、LLMへの次のアクション提案
  • C) エラーが発生したサーバーのIPアドレス
  • D) エラー発生時のメモリ使用量
答えを見る

正解: B

ツールのエラーレスポンスには、エラーコード(機械的な判別用)、人間可読なメッセージ(何が起きたか)、次のアクション提案(LLMが何をすべきか)を含めるべきです。スタックトレースやサーバー情報はセキュリティリスクになり、LLMの判断にも不要です。


結果

4問以上正解の場合

合格です。Step 2「Tool Useとファンクションコーリングを実装しよう」を完了しました。 次はStep 3「LangGraphでワークフローを構築しよう」に進みましょう。

3問以下の場合

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

問題復習セクション
Q1step2_1 Tool設計の原則
Q2step2_2 ファンクションコーリング
Q3step2_2 パラメータバリデーション
Q4step2_4 エラーハンドリングとリトライ
Q5step2_4 エラーレスポンス設計

推定所要時間: 30分