diff --git a/examples/plan-and-execute/img/plan-and-execute.png b/examples/plan-and-execute/img/plan-and-execute.png index 967f2cf56..829f2aee8 100644 Binary files a/examples/plan-and-execute/img/plan-and-execute.png and b/examples/plan-and-execute/img/plan-and-execute.png differ diff --git a/examples/plan-and-execute/plan-and-execute.ipynb b/examples/plan-and-execute/plan-and-execute.ipynb index d191a20c5..05fe873de 100644 --- a/examples/plan-and-execute/plan-and-execute.ipynb +++ b/examples/plan-and-execute/plan-and-execute.ipynb @@ -12,6 +12,10 @@ "The core idea is to first come up with a multi-step plan, and then go through that plan one item at a time.\n", "After accomplishing a particular task, you can then revisit the plan and modify as appropriate.\n", "\n", + "\n", + "![plan-and-execute diagram](./img/plan-and-execute.png)\n", + "\n", + "\n", "This compares to a typical [ReAct](https://arxiv.org/abs/2210.03629) style agent where you think one step at a time.\n", "The advantages of this \"plan-and-execute\" style agent are:\n", "\n", @@ -454,12 +458,14 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "id": "8c20341e-267d-4ba0-9a0b-dad055a76b1d", + "cell_type": "markdown", + "id": "8bf585a9-0f1e-4910-bd00-65e7bb05b6e6", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## Conclusion\n", + "\n", + "Congrats on making a plan-and-execute agent! One known limitations of the above design is that each task is still executed in sequence, meaning embarassingly parallel operations all add to the total execution time. You could improve on this by having each task represented as a DAG (similar to LLMCompiler), rather than a regular list." + ] }, { "cell_type": "code", @@ -486,7 +492,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.1" + "version": "3.11.2" } }, "nbformat": 4,