计划和执行
计划和执行代理(agent)通过首先计划要做什么,然后执行子任务来实现目标。这个想法在很大程度上受到BabyAGI的启发,然后又得到了“计划与解决”论文的启发。
规划通常由一个LLM完成。
执行通常由一个单独的代理(配备工具)完成。
该代理使用两个步骤的过程:
- 首先,代理使用LLM创建一个计划以通过明确的步骤回答查询。
- 一旦有了计划,它就会使用嵌入式传统行动代理来解决每一步。
这个想法是,规划步骤通过将一个较大的任务分解为较简单的子任务,使LLM更加”跟踪”。然而,与行动代理相比,这种方法需要更多单独的LLM查询,并具有更高的延迟。
注意:此代理目前仅支持聊天模型。
import { Calculator } from "langchain/tools/calculator";
import { SerpAPI } from "langchain/tools";
import { ChatOpenAI } from "langchain/chat_models/openai";
import { PlanAndExecuteAgentExecutor } from "langchain/experimental/plan_and_execute";
const tools = [new Calculator(), new SerpAPI()];
const model = new ChatOpenAI({
temperature: 0,
modelName: "gpt-3.5-turbo",
verbose: true,
});
const executor = PlanAndExecuteAgentExecutor.fromLLMAndTools({
llm: model,
tools,
});
const result = await executor.call({
input: `全球首富是谁?他们的当前年龄的二次幂是多少?`,
});
console.log({ result });