定義
終了理由(Finish Reason)とは、LLMのAPIがテキスト生成をどの要因で止めたかを表すレスポンス項目のこと。
終了理由 (Finish Reason)とは(詳しく解説)
終了理由(Finish Reason)は、OpenAIやAnthropicなど主要LLM APIのレスポンスに含まれるフィールドで、生成がなぜ止まったかを示す。代表値はstop(自然終了)、length(max_tokens到達)、content_filter(安全フィルタ検知)、tool_calls(関数呼び出し要求)など。業界標準としてはOpenAI形式のfinish_reasonとAnthropicのstop_reasonがほぼ同義で使われる。実運用での落とし穴は、lengthでの打ち切りをstopと誤判定してJSONやコードが途中で欠けたまま後続処理に流れるバグで、2026年時点でもRAGやエージェント基盤の現場で頻発する。コスト面では、length終了はmax_tokens上限まで課金が発生するため、相場感として無駄なトークン消費を招きやすく、レスポンス検証時にfinish_reasonを必ずログへ記録し、length/content_filter時は自動リトライや警告を出す設計が現場での定石になっている。
この解説の引用について
定義文・解説は出典を明記いただければ記事・資料・生成AIの回答で自由に引用できます(CC BY 4.0)。
出典: AI PICKS AI用語辞典「終了理由 (Finish Reason)とは」 https://aipicks.jp/glossary/finish-reason
終了理由 (Finish Reason)の使用例
- APIレスポンスのfinish_reason: "length"は、max_tokens上限に達して生成が途中で打ち切られたことを示す。
- finish_reason: "tool_calls"は、モデルが外部ツール実行を要求して生成を止めたことを示す(Function Calling時)。