LangChain Agent API


create_agent() 完全なパラメータ

パラメータ型デフォルト値説明
modelstr または BaseChatModelなし(必須)言語モデル
toolsSequence または NoneNoneツールリスト。@tool 関数、Pydantic モデル、dict をサポート
system_promptstr または SystemMessage または NoneNoneシステムプロンプト
middlewareSequence[AgentMiddleware]()ミドルウェアリスト
response_formatResponseFormat または type または dict または NoneNone構造化出力設定
state_schematype[AgentState] または NoneNoneカスタム状態構造
context_schematype または NoneNoneランタイムコンテキスト構造
checkpointerCheckpointer または NoneNone会話の永続化
storeBaseStore または NoneNoneセッション間ストレージ
interrupt_beforelist[str] または NoneNoneこれらのノードの前に一時停止
interrupt_afterlist[str] または NoneNoneこれらのノードの後に一時停止
debugboolFalse詳細ログを出力するかどうか
namestr または NoneNoneAgent 名
cacheBaseCache または NoneNoneキャッシュ設定

CompiledStateGraph メソッド

メソッド説明
invoke(input, config=None)同期実行し、最終状態を返す
ainvoke(input, config=None)非同期実行し、最終状態を返す
stream(input, config=None, stream_mode="updates")同期ストリーミング実行
astream(input, config=None, stream_mode="updates")非同期ストリーミング実行
get_state(config)現在の状態スナップショットを取得
update_state(config, values)状態を手動で更新

AgentState 構造

フィールド型必須かどうか説明
messageslist[AnyMessage]であるメッセージ履歴(add_messages reducer)
jump_to"tools" または "model" または "end" または None否フロー遷移(ephemeral)
structured_responseAny否構造化出力結果(OmitFromInput)

一般的な使用例

実例

from langchain.agents import create_agent

# 基本的な使い方
agent = create_agent(model="deepseek:deepseek-v4-flash", tools=[tool1, tool2])
result = agent.invoke({"messages": [HumanMessage(content="こんにちは")]})

# 完全な設定
agent = create_agent(
    model="deepseek:deepseek-v4-flash",
    tools=[tool1, tool2],
    system_prompt="あなたはアシスタントです。",
    middleware=[my_middleware],
    response_format=MySchema,
    checkpointer=checkpointer,
    store=store,
    name="my_agent",
)

# ストリーミング実行
for chunk in agent.stream(inputs, stream_mode="updates"):
    print(chunk)

# 状態の取得
state = agent.get_state({"configurable": {"thread_id": "1"}})
その他の拡張