Resume Review Agent: LangGraphによるマルチエージェント履歴書最適化システム
portfolio
langgraph
multi-agent
LangGraph StateGraphを用いた5つの専門AIエージェントのオーケストレーション設計と実装
はじめに
履歴書の最適化は、採用担当者へのアピールとATS対策の両立が求められる複合的なタスクです。私はこの課題に対して、LangGraph StateGraph を用いたマルチエージェントシステム「Resume Review Agent」を設計・実装しました。
システムアーキテクチャ

システム概要
Resume Review Agent は、以下の5つの専門エージェントで構成されています:
- Recruiter Agent: 採用担当者視点でのコンテンツ評価
- Tech Writer Agent: 技術コンテンツの正確性・明確性
- Copywriter Agent: 読みやすさとインパクト
- UX Designer Agent: 視覚的レイアウトと情報階層
- Visual Designer Agent: 美的要素とブランディング
主要な設計判断
Fan-out/Fan-in パターン
各エージェントは独立して並列実行可能なため、LangGraph の Fan-out/Fan-in パターンを採用。処理時間を短縮しました。
ハイブリッド・マルチモデル構成
| Agent | Model | 理由 |
|---|---|---|
| Recruiter | Claude 3.5 Sonnet | 汎用的な評価に優れる |
| Tech Writer | Gemini 1.5 Pro | 技術コンテンツの理解が深い |
| Visual Designer | GPT-4V | 視覚的分析が必要 |
この構成によりコスト効率を改善しました。
自動検証リトライループ
Quarto のビルドエラーを自動検出し、最大3回まで自動修正を試みるリトライループを実装。これにより、LLM出力の不安定性を吸収し、安定した出力を保証します。
実装のハイライト
# LangGraph StateGraph の定義
from langgraph.graph import StateGraph
workflow = StateGraph(ReviewState)
# Fan-out: 並列エージェント実行
workflow.add_node("router", router_node)
workflow.add_node("recruiter", recruiter_node)
workflow.add_node("tech_writer", tech_writer_node)
workflow.add_node("copywriter", copywriter_node)
# Fan-in: 結果集約
workflow.add_node("aggregator", aggregator_node)
workflow.add_node("revisor", revisor_node)詳細なコードは GitHub リポジトリ で公開しています。