Agentic AI アプリケーションアーキテクチャ
4.5 ノードの定義
ノードの仕組み #
このアプリにおける LangGraph のノードは、状態を受け取り、更新された状態を返すシンプルな Python 関数です。
例えば、フライト専門エージェントは以下のようになります
python
def flight_specialist_node(state: PlannerState) -> PlannerState:
llm = _create_llm(
"flight_specialist", temperature=0.4, session_id=state["session_id"]
)
step = (
f"Find an appealing flight from {state['origin']} to {state['destination']} "
f"departing {state['departure']} for {state['travellers']} travellers."
)
messages = [
SystemMessage(content="You are a flight booking specialist. Provide concise options."),
HumanMessage(content=step),
]
result = llm.invoke(messages)
state["flight_summary"] = result.content
state["messages"].append(result)
state["current_agent"] = "hotel_specialist"
return stateこれは一般的なノードパターンを示しています
- LLM を作成またはアクセスする
- 構造化された状態からプロンプトを構築する
- モデルを呼び出す
- 結果を状態に保存する
- 次のノードを設定する
ホテルノードとアクティビティノードも同じ構造に従っているため、ワークフローの説明が容易です。
知識チェック #
flight_specialist ノードの LLM を作成する際に、temperature を 0.4 に指定しました。これはどういう意味でしょうか?
