Skip to content

Commit

Permalink
docs: add an FAQ note for command vs cond edge (#2697)
Browse files Browse the repository at this point in the history
  • Loading branch information
vbarda authored Dec 10, 2024
1 parent 60d742e commit 6115886
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions docs/docs/concepts/low_level.md
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,12 @@ def my_node(state: State) -> Command[Literal["my_other_node"]]:

Check out this [how-to guide](../how-tos/command.ipynb) for an end-to-end example of how to use `Command`.

### When should I use Command instead of conditional edges?

Use `Command` when you need to **both** update the graph state **and** route to a different node. For example, when implementing [multi-agent handoffs](./multi_agent.md#handoffs) where it's important to route to a different agent and pass some information to that agent.

Use [conditional edges](#conditional-edges) to route between nodes conditionally without updating the state.

### Using inside tools

A common use case is updating graph state from inside a tool. For example, in a customer support application you might want to look up customer information based on their account number or ID in the beginning of the conversation. To update the graph state from the tool, you can return `Command(update={"my_custom_key": "foo", "messages": [...]})` from the tool:
Expand Down

0 comments on commit 6115886

Please sign in to comment.