クイズの説明
Step 3で学んだLangGraphによるワークフロー構築について理解度をチェックします。
- 全5問
- 不合格の場合は復習してから再挑戦してください
問題
Q1. LangGraphのStateGraphを構成する主要な要素はどれですか?
- A) データベース、テーブル、カラム、インデックス
- B) State(状態)、Node(ノード)、Edge(エッジ)
- C) Controller、Model、View、Template
- D) Producer、Consumer、Topic、Partition
答えを見る
正解: B
LangGraphのStateGraphは、State(ワークフロー全体で共有されるデータ構造)、Node(処理を行う関数)、Edge(ノード間のデータの流れ)の3つの主要要素で構成されます。
Q2. LangGraphの条件分岐(Conditional Edge)の説明として正しいものはどれですか?
- A) ランダムにノードを選択する
- B) ルーティング関数がStateの値に基づいて次のノードを動的に選択する
- C) すべてのノードを並列実行する
- D) エラーが発生した場合にのみ分岐する
答えを見る
正解: B
Conditional Edgeは、ルーティング関数がState(現在の状態)の値を評価し、条件に応じて次に実行するノードを動的に選択する仕組みです。add_conditional_edges メソッドで定義します。
Q3. Human-in-the-Loopで interrupt_before を使う目的は何ですか?
- A) ワークフローの実行速度を制限する
- B) 特定のノードの実行前にワークフローを中断し、人間の入力を待つ
- C) エラーが発生した場合にワークフローを停止する
- D) メモリ使用量を削減する
答えを見る
正解: B
interrupt_before は、指定したノードが実行される前にワークフローを自動的に中断する機能です。中断中に人間が承認・修正・フィードバックなどの入力を行い、update_state で状態を更新した後、ワークフローを再開できます。
Q4. LangGraphのCheckpointer(チェックポイント)の役割として正しいものはどれですか?
- A) コードの文法チェックを行う
- B) ワークフローの各ステップでStateのスナップショットを保存し、中断・再開を可能にする
- C) LLMのレスポンスをキャッシュしてコストを削減する
- D) ツールの実行権限を管理する
答えを見る
正解: B
Checkpointerは、ワークフローの各ノード実行後にStateのスナップショットを永続化する仕組みです。これにより、Human-in-the-Loopの中断・再開、障害からの復旧、状態履歴の確認が可能になります。MemorySaver(開発用)やPostgresSaver(本番用)などの実装があります。
Q5. LangGraphの thread_id の役割として正しいものはどれですか?
- A) LLMのモデルバージョンを指定する
- B) 複数のユーザーやセッションのワークフロー状態を個別に管理する
- C) ツールの実行順序を制御する
- D) エラーログのフィルタリングに使用する
答えを見る
正解: B
thread_id は、異なるユーザーやセッションのワークフロー状態を個別に管理するための識別子です。同じグラフを複数のユーザーが同時に使用する場合、thread_id によって各ユーザーの状態が独立して管理されます。
結果
4問以上正解の場合
合格です。Step 3「LangGraphでワークフローを構築しよう」を完了しました。 次はStep 4「マルチエージェントシステムを設計しよう」に進みましょう。
3問以下の場合
もう少し復習しましょう。
| 問題 | 復習セクション |
|---|---|
| Q1 | step3_1 LangGraph基礎 |
| Q2 | step3_2 条件分岐とルーティング |
| Q3 | step3_3 Human-in-the-Loop |
| Q4-Q5 | step3_4 状態の永続化 |
推定所要時間: 30分