一文定義
LLMの自然言語出力を構造化データ(JSON・リスト・オブジェクト)に変換するコンポーネント。LangChainのOutputParserが代表例。
詳細解説
出力パーサー(Output Parser)とは、LLMが生成した自然言語テキストを、プログラムで処理可能な構造化データ(JSONオブジェクト・Pythonデータクラス・リスト・数値等)に変換するコンポーネントです。LLMの出力を後続のシステムやアプリケーションに接続する際の「橋渡し」役を担います。
LangChainが提供する主要なOutputParserとして、(1)StrOutputParser:テキストをそのまま文字列として返す最もシンプルなパーサー、(2)JsonOutputParser:LLMの出力をJSONとしてパース。JSON Modeと組み合わせて安定性を高める、(3)PydanticOutputParser:Pydanticモデルの定義に従ってLLM出力を型付きオブジェクトに変換。スキーマをプロンプトに自動挿入する機能付き、(4)CommaSeparatedListOutputParser:カンマ区切りのリストを分割してPythonリストに変換、(5)DatetimeOutputParser:日時形式の出力をdatetimeオブジェクトに変換があります。
出力パーサーが必要な理由として、LLMは確率的な生成モデルであるため、「必ずJSON形式で回答してください」と指示しても完全な準拠を保証できません。パーサーがパース失敗を検出した際に、エラーメッセージとともにLLMに再生成を依頼するリトライロジックを組み込むことで堅牢なシステムを構築できます。
instructorライブラリはPydanticモデルをベースにOpenAI/Anthropic APIの出力を自動的にパース・バリデーションし、失敗時の自動リトライまで統合した実用的な選択肢として開発者に広く採用されています。
参考情報・出典
- ▸Output parsers – LangChain Documentation— LangChain(参照日: 2026-02-26)
- ▸instructor – Structured outputs from LLMs— instructor(参照日: 2026-02-26)