You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.2 KiB
1.2 KiB
Unknown Tools Handler for ReAct Agent
- Demonstrates
UnknownToolsHandlerincompose.ToolsNodeConfigwhen the model emits an unknown tool call. - Mock ChatModel produces three turns: unknown tool call → correct tool call → final answer.
- Builds on the ReAct agent from the flow package.
Rationale
- ReAct agents often rely on the model to select tool names from a provided list. In practice, models may hallucinate a tool name not registered with the
ToolsNode. - Instead of aborting the agent on such an error, the
UnknownToolsHandlerproduces a clear, structured message that is fed back to the ChatModel as the tool result. - This feedback informs the model that the tool name is invalid and encourages it to pick a valid tool in the next turn, improving robustness and convergence.
- The example shows: first turn emits an unknown tool call; the handler returns guidance; the second turn uses the correct tool; the final turn produces the answer.
Run
cd flow/agent/react/unknown_tool_handler_examplego run main.go
Expected
- Prints a handler message for the unknown tool name.
- Executes the
sumtool on the second turn and returns{"sum":3}. - Outputs the final assistant answer
3.