LangChain / LangGraph
LLM アプリ構築の Python/JS フレームワーク。チェーン・vectorstore・retriever・tracing 等の部品を提供する LangChain と、状態付きグラフでエージェントを記述する LangGraph からなる。
LangChain
- vectorstore: ActiveLoop、Qdrant 等と連携し retrieval-augmented-generation を構築。
- retriever 拡張: Contextual Compression Retriever、各種
text_splitterなど検索前処理。 - tracing: デバッグ用トレース機能(後発の専用 observability は langfuse)。
LangGraph
StateGraph でノード(関数)とエッジ(遷移)を宣言し、add_conditional_edges で tool 呼び出しの有無により分岐させる。MessagesState を継承した State に独自フィールド(例: recall_memories)を足せる。
永続化は 2 層に分離:
- Checkpointer: スレッド単位 (
thread_id) の状態 snapshot。 - Store: スレッドをまたぐ KVS(embedding 検索可)。
これらを使った長期記憶の実装は llm-agent-memory に詳述。ConversationEntityMemory (v0.2 系) は deprecated で long-term memory agent 方式へ移行。GraphDB のクエリを生成させて QA する graph 連携もある。
関連
- pydantic-ai(同種のエージェントフレームワーク)
- llm-agent-pattern
- _moc-llm-agent