一架梯子,一头程序猿,仰望星空!
LangChain教程(JS版本) > 内容正文

计划和执行设计模式


计划和执行

计划和执行代理(agent)通过首先计划要做什么,然后执行子任务来实现目标。这个想法在很大程度上受到BabyAGI的启发,然后又得到了“计划与解决”论文的启发。

规划通常由一个LLM完成。

执行通常由一个单独的代理(配备工具)完成。

该代理使用两个步骤的过程:

  1. 首先,代理使用LLM创建一个计划以通过明确的步骤回答查询。
  2. 一旦有了计划,它就会使用嵌入式传统行动代理来解决每一步。

这个想法是,规划步骤通过将一个较大的任务分解为较简单的子任务,使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 });


关联主题