diff --git a/examples/agent_executor/many_tools.ipynb b/examples/agent_executor/many_tools.ipynb index b6e636dc1..00aebc53c 100644 --- a/examples/agent_executor/many_tools.ipynb +++ b/examples/agent_executor/many_tools.ipynb @@ -282,12 +282,21 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "id": "871d160e-a2a3-4b13-bbd6-f7426b8f2f8d", + "cell_type": "markdown", + "id": "177aedfa-cec5-45d0-82ad-efc0233aa6b4", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## Next steps\n", + "\n", + "This guide provides a minimal implementation for dynamically selecting tools. There is a host of possible improvements and optimizations:\n", + "\n", + "- **Repeating tool selection**: To manage errors from incorrect tool selection, we could revisit the `select_tools` node. Options include:\n", + " - Modify `select_tools` to generate the vector store query using all messages in the state (e.g., with a chat model) and add an edge routing from `tools` to `select_tools`;\n", + " - Equip the agent with a `reselect_tools` tool, allowing it to re-select tools at its discretion.\n", + "- **Optimizing tool selection**: In general, the full scope of [retrieval solutions](https://python.langchain.com/v0.2/docs/concepts/#retrieval) are available for tool selection. Additional options include:\n", + " - Group tools and retrieve over groups;\n", + " - Use a chat model to select tools or groups of tool." + ] } ], "metadata": {