LLM 到底能不能自己做规划
LLM 到底能不能自己做规划

LLM 到底能不能自己做规划

背景概述

今天聊一个最近在面试中非常容易被问到、但不少人答得“云里雾里”的问题“大模型能自己做规划(Planning)吗?”

别看这问题只有一句话,它其实考察的是你对 Agent 框架底层机制的理解深度

很多候选人会脱口而出:“能啊,比如 AutoGPT、BabyAGI 都能自动规划任务。”

但面试官心里清楚:真正懂的人,知道那其实是“被提示词(Prompt)写死的规划”, 而不是模型自己“会想”。

今天我们就把这个话题讲透:

现在的 LLM 究竟怎么做规划? 哪些逻辑靠 Prompt 写死?哪些是模型真在思考? 实际落地该怎么选?

一、先看现状:大多数 Agent,其实是在“伪规划”

在目前主流的 Agent 系统里,不论是 ReAct、BabyAGI 还是 AutoGPT,核心的 “Planning(规划)” 都是写在 Prompt 或代码结构里的。

举个例子

You are an AI assistant. To complete tasks, always think step by step, consider tools you have, and reason before acting.
Use this format:
Think
Decide
Act
Observe

这其实就是在告诉模型如何“装作”会规划

模型的每一步行动、观察、反思,都是在模板引导下按部就班地产生。 它并不是在“主动思考”,而是在“填空题”。

所以你看到 AutoGPT、BabyAGI 看起来很“自动”, 但其实是程序在背后强制规定了循环结构:

「任务 → 拆解 → 执行 → 记录 → 复盘 → 继续」 LLM 不过是负责生成每一步的文字描述。

现在的规划,不是 LLM 自己悟出来的,是我们写给它的。

二、那 LLM 能不能自己做规划?

能,但目前还不“靠谱”。

你可以试试让 GPT 做规划:

“帮我设计一个两周完成移动端小程序的计划。”

它确实能生成一套不错的步骤,但这只是“静态规划”——模型一口气生成一份结果。

而真正的“Agent 规划”,要求的是:

  1. 能动态调整计划;
  2. 能看环境反馈再决定下一步;
  3. 能持续修正目标。

这些,目前 LLM 靠自己还做不到。

所以我们才会看到各种框架都在帮它“补脑”:

  • ReAct:让它“想一步,做一步”;
  • MRKL:帮它“选工具”;
  • BabyAGI:帮它“维护任务列表”;
  • AutoGPT:帮它“循环执行命令”。

它们的本质都一样,让 LLM 看起来像在思考,其实是被程序框架“拎着走”。

三、落地思路:到底哪些逻辑写在 Prompt,哪些写在程序?

这是面试官最喜欢追问的一步。 你要能讲出一个“判断标准”,说明你真的理解 Agent 系统。

我把经验分成三类场景来讲:

1️⃣ 什么时候用 Prompt 让模型来规划?

适合让模型发挥创造性和灵活性的场景。

  • 场景复杂、解法不确定比如“帮我策划一个促销活动”——这种开放性问题,让模型自由规划反而效率高。
  • 频繁变化的流程如果你每周都要改规则,写死在代码里就太麻烦了,不如在 Prompt 里动态指示模型“根据上下文生成方案”。
  • 发散思维 / 内容生成比如写文案、构思创意、生成提纲等,不需要完全确定的逻辑,Prompt 控制即可。

2️⃣ 什么时候要硬编码在程序里?

适合需要高可控性、合规性或安全性的场景。

  • 流程固定、容错率低比如用户登录、实名认证、支付扣款,这类流程绝不能让模型自由发挥。
  • 强合规场景法务、风控、医疗等业务,必须可追溯、可审计——流程要写死。
  • 外部依赖多、需严格顺序执行例如涉及数据库操作、API 调用、任务分发等逻辑,必须程序化定义。

3️⃣ 现实中最常见的:混合模式

几乎所有成熟的系统都走的是这条路。

固定主干流程 + 局部灵活规划

比如:

  • 主流程用代码固定(如订单→支付→发货);
  • 某些环节(如回复客户、推荐方案)让模型通过 Prompt 来发挥。

这样既能保证安全,又能保留大模型的创造力。

四、实战案例讲透区别

为了让你在面试中能讲得有血有肉,我选几个典型场景👇

Case 1:电商客服机器人

  • 程序定义部分
    • 身份验证(账号、订单号)
    • 售后流程(七天无理由退货)
    • API 查询逻辑
  • Prompt 调用部分
    • 问答类客服对话
    • 商品推荐、活动介绍文案

规则写死在代码里,语言交互交给模型。

Case 2:企业知识库问答

  • 程序定义部分:权限控制、文档检索逻辑
  • Prompt 调用部分:总结、对比、自然语言解释

模型负责“说人话”,程序负责“拿数据”。

Case 3:合同审查与合规审核

  • 程序定义部分:法务规则、审批流、风险分级
  • Prompt 调用部分:条款分析、修改建议

合规逻辑要定死,文字分析可交模型。

Case 4:内部项目管理 Agent

  • 程序定义部分:任务分配、权限验证、提醒机制
  • Prompt 调用部分:需求拆解、沟通建议、风险提示

程序管框架,模型管内容。

五、主流框架的“规划模块”到底怎么做的?

聊完应用,再看底层。

目前主流的 Agent 框架在“Planning”上的设计,大体分四派:

1️⃣ ReAct —— 即时规划(边想边做)

论文《ReAct: Synergizing Reasoning and Acting in Language Models》

思路:在 Prompt 模板里强制写出三步循环:Thought → Action → Observation → Thought → …

模型每次先思考,再执行,再观察结果,再思考下一步。

特点:

  • “规划”嵌在循环中;
  • 模型一步步决定下一步该干啥;
  • 外部代码负责解析 Action 并实际执行。

ReAct 让模型像“人”一样边想边干,但走不出提示词设定的轨道。

2️⃣ MRKL —— 模块化推理系统

出自 OpenAI 示例框架 “MRKL System”

思路:模型像“中控大脑”, 面对一堆工具(天气API、计算器、数据库等), 通过推理决定“我该用哪个工具”。

规划机制:Prompt 里列出工具清单,让模型在每轮对话中决定调用哪个。

特点:

  • 强依赖提示模板;
  • 规划体现在“工具选择”上;
  • 执行仍靠外部程序。

MRKL 是“我有很多工具,模型只负责挑”。


3️⃣ BabyAGI —— 任务循环调度器

GitHub 爆火项目,基于 LangChain + OpenAI

思路:维护一个任务列表(Task List), 循环执行:

  1. 执行当前任务;
  2. 根据结果创建新任务;
  3. 调整任务优先级;
  4. 重复。

核心模块:

  • Task Creation Agent(新建任务)
  • Task Prioritization Agent(任务排序)
  • Execution Agent(执行任务)

特点:

  • “规划”体现在任务生成和排序;
  • 外部程序控制循环;
  • LLM 只是在不断“补任务”。

BabyAGI 看似能自我成长,其实脚本早就帮它安排好了人生轨迹。

4️⃣ AutoGPT —— 强化版自动循环

思路:给定目标后,模型能自己:

  • 搜索网络、执行命令、读写文件;
  • 自我总结、更新计划、继续执行。

规划机制:在代码里写死了“主循环”:

  1. 生成下一个 Action;
  2. 执行;
  3. 记录;
  4. 反馈给模型;
  5. 再生成下一个 Action。

特点:

  • 模型负责生成命令;
  • 代码负责执行与记忆;
  • 整体像在“模拟自由意志”。

AutoGPT 是“最像 AI 自己行动”的框架,但其实每一步都被写好了格式。

六、总结:当前的“智能规划”,是人写的,不是模型悟的

你可以这样总结这道题👇

“目前主流 Agent 的规划逻辑,几乎都由 Prompt + 外部代码实现。

LLM 在这些框架里只是‘执行规划’或‘辅助规划’,它自己并不会从零开始制定完备计划。

未来如果要实现真正的自主规划,需要结合强化学习(RL)和更深层的多代理系统,让模型能自我反思、自我纠错、自我改进。”

发表回复

您的电子邮箱地址不会被公开。