LangGraph TS 移行 設計指針メモ — Dify 退役の対応表
TL;DR(このページは何か・専門語ゼロ): これは古い土台から新しい土台へ作り直したときの引っ越し対応表です。判断審査の仕組みを、ある外部サービス上の構成から自前の実装基盤へ移すにあたり、古い設計書を「どれを捨て、どれを書き直し、どれを新しく作るか」を一覧で整理しています。あわせて、古い構成にあった 13 個の処理部品が新しい土台のどの部品に置き換わるかの対応も示します。すでに引っ越しは済んでおり、当時の段取りをたどるための履歴記録です。
位置付け: 本メモは ADR〔Architecture Decision Record=技術判断の記録〕-0019 (Decision Pipeline LangGraph〔ランググラフ=判断審査の流れを組む実装基盤〕 移行) の補助資料。Dify〔ディファイ=かつて使った外部のワークフロー構築サービス〕 Phase 2a 既存設計書 6 本を どう書き換える / 退役マークするか の対応表を提供し、main session で実装着手時の「何を退役・何を新設する」地図として機能する。
本セッション (sub) のスコープ: 対応表のみ作成。既存 Dify 設計書本体の編集 (退役マーク追加・退役記載) は main session 担当 (sub の担当境界外、
docs/_internal/workspace_rules.md参照)。
移行の前提
- ADR-0019 で 3 点を同時に決定済 (Decision Pipeline LangGraph 移行 / adr-kit 採用 / Dify 退役)
- Phase 2a 未着手 = 並行稼働期間なし
- Phase 1 投資 (Triage〔トリアージ=記録に残す価値があるかの選別〕 v0.2 / Scoring v0.1 プロンプト) は LangGraph node〔ノード=処理の流れを構成する 1 つ 1 つの部品〕 に手作業移植 (半日〜1 日)
- 既存 ADR テンプレ
docs/adr/_template.md/ ADR-0001〜0018 は不変更 (canonical 移行不採用)
既存 Dify 設計書 6 本の処遇対応表
| 既存ファイル | 移行アクション | 後継ファイル | 担当 |
|---|---|---|---|
decision_pipeline/README.md | 冒頭に「LangGraph TS 移行 (ADR-0019)」セクション追加。既存 Phase 計画は退役記載。アーキテクチャ図を LangGraph + Hono + LiteLLM Gateway 版に差し替え | 同ファイル更新 | main session |
decision_pipeline/phase2a_design.md | 退役マーク追加 (Status: Retired (2026-05-08, ADR-0019))。LangGraph 後継先へのリンク追記 | langgraph_migration/architecture.md (新規, main session) | main session |
decision_pipeline/dify_workflow_spec.md | 退役マーク追加。N1〜N13 ノード定義を LangGraph 用に再設計 (StateGraph + channels) | langgraph_migration/node_specs.md (新規, main session) | main session |
decision_pipeline/dify_setup_instructions.md | 退役マーク追加。Dify Cloud のセットアップは不要に | langgraph_migration/deployment.md (新規, main session, Cloudflare Workers + Cloud Run + GCP Secret Manager の手順) | main session |
05_how-to/operator_guide.md | UI 入口を Dify Cloud Console から Hono Web form に差替。スクリーンショット差替 | 同ファイル更新 | main session |
decision_pipeline/test_cases.md | テストケース ID 維持 (TC-01〜TC-07)。LangGraph 実装にフィットするよう入力 / 出力チャネル名を調整 | 同ファイル更新 | main session |
ノード対応表 (Dify N1〜N13 → LangGraph node)
| Dify ノード | 担当ゲート | LangGraph node ファイル | 参照プロンプト |
|---|---|---|---|
| N1 Triage (LLM) | Gate 0 | src/nodes/triage.ts | Phase 1 で確定した Triage v0.2 |
| N2 分岐: ADR 要否 | — | StateGraph の conditional edge | — |
| N3 終了 (対象外) | — | END node | — |
| N4 Scoring (LLM) | Gate 4 | src/nodes/scoring.ts | Phase 1 で確定した Scoring v0.1 (50 点満点) |
| N5 分岐: pass? | — | StateGraph の conditional edge | — |
| N6 終了 (差戻し) | — | END node + 起案者向けレスポンス整形 | — |
| N7 ADR 本文生成 (LLM) | — | src/nodes/body_generation.ts | docs/adr/_template.md を system prompt に注入 |
| N8 Slug 生成 (LLM) | — | src/nodes/slug.ts | タイトル → snake_case |
| N9 採番 | — | src/nodes/numbering.ts (GitHub Actions に webhook 委譲、排他制御) | — |
| N10 ブランチ作成 | — | GitHub Actions ワークフロー側 | — |
| N11 ファイル書込 | — | GitHub Actions ワークフロー側 | — |
| N12 PR 作成 | — | GitHub Actions ワークフロー側 | — |
| N13 起案者通知 | — | Hono レスポンス + (Optional) Slack webhook | — |
adr-kit との棲み分け
| タイミング | 担当 | 備考 |
|---|---|---|
| 通常起案 (新規 ADR) | LangGraph + GitHub Actions | 採番は GitHub Actions、本文生成は LangGraph N7 |
| 既存 ADR の lint チェック | adr-kit (/adr-kit:lint) | 4 ゲート pass/fail、file:line citations |
| Phase 0 遺産 ADR 発掘 | adr-kit (/adr-kit:migrate) | legacy ADR を canonical 化、ただし本リポは _template.md 厳守のため migrate 結果は _template.md に手動マッピング |
| コード ↔ ADR 双方向リンク | adr-kit subagent | リポジトリ全体スキャン |
重要: /adr-kit:setup は 実行しない。実行すると CLAUDE.md に「ADR Kit Rules」セクションが追加され、LangGraph 採番ルールと衝突する。adr-kit のテンプレも使わず、_template.md を参照させる (docs/_internal/adr_skill_setup/langgraph-adrkit-boundary.md に記載)。
main session で main_workspace_checklist.md を実行する順番
- プロジェクト構造作成 (Cloudflare Workers Paid plan upgrade 含む)
- LangGraph node 実装 (Triage / Scoring / 本文生成 / Slug / Webhook)
- LiteLLM Gateway を GCP Cloud Run にデプロイ + LangGraph 統合
- Hono Web UI 最小自作
- GitHub Actions 連携
- adr-kit 導入 (
/plugin marketplace add→/plugin install、/adr-kit:setupは 実行しない) - lint 動作検証 (非破壊)
- Dify 退役 (Workflow Archive、設計書 6 本に Retired マーク追加)
詳細は main_workspace_checklist.md を参照。
このメモの位置付け再確認
- ADR-0019 = 決定の根拠と撤退条件
- 本メモ (migration_overview.md) = main session が「何をどう動かすか」を理解するための地図
- main_workspace_checklist.md = main session が手順通りに実行するためのチェックリスト
decision_pipeline/langgraph_migration/architecture.md/node_specs.md/deployment.md(main session で新規作成) = 実装の SSoT
参照
- ADR-0019 (
docs/adr/0019-drp-migration.md) - RQ-038 (
docs/_internal/research_prompts/RQ-038_adr_skill_architecture_result.md) - workspace_rules.md (
docs/_internal/workspace_rules.md) — 担当境界