news 2026/6/11 2:07:56

【Agent智能体25 | 规划-结合代码执行的规划】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Agent智能体25 | 规划-结合代码执行的规划】

声明:本篇博客是以吴恩达的【Agent智能体】教程为基础,并对其中的内容做了笔记整理以及个人收获的总结。

结合代码执行的规划,指的是不再让LLM直接输出计划,比如说,不是让它以JSON格式输出,逐行执行每一步。

可以直接让LLM编写代码,这样代码可以涵盖计划中的多个步骤,比如调用这个函数,再调用那个函数等等。

通过LLM生成的代码,实际上可以执行相当复杂的计划,下面我们看看,什么情况下可能会用到这种技术!

使用工具进行规划的挑战

假设你想基于一份包含数据的电子表格,构建一个能回答咖啡机销售问题的系统。

用户提问:“哪个月的热巧克力销量最高?“你可以使用这些工具来回答这个问题,如图右下角。但是我们不难发现,过程是相当复杂的!

  • 步骤 1 & 2:先用filter_rows筛出 1 月份的热巧克力,再用get_column_mean算平均销售额。
  • 步骤 3 & 4:重复上述动作,筛出 2 月份,算平均值。
  • 步骤 5:LLM 被迫输出(或系统被迫执行)针对 3 月到 12 月的无聊重复。如果展开,这至少需要 24 步单独的工具调用。
  • 步骤 6:最后再把这 12 个结果拿出来进行比对。

更复杂的提问如下:

  • 如果有人问上周有多少笔独特的交易这些工具根本无法给出答案,这样你可能需要重新构建一个工具。
  • 或者有人问:”最近几笔交易的金额是多少?“这样你又得创建一个新的工具。
  • 我们不难发现,这样每出现一个需求就创建新工具的方式是复杂且低效的

更好的解决方案

这个图呈现了如何通过系统提示词(System Prompt)引导大语言模型(LLM)直接输出可执行的代码,从而一次性解决用户的复杂问题

  • 系统提示词

    • 预设的指令:

      “Write code to solve the user’s query. Return your answer as python code delimited with<execute_python>and</execute_python>tags.”(编写代码来解决用户的查询。将你的答案作为 Python 代码返回,并用<execute_python>标签包裹。)

    • 这个提示词做到了两件事:

      • 改变输出范式:告诉 LLM 不要输出自然的对话文本,也不要输出零碎的 JSON 工具调用计划,而是直接写代码。
      • 方便系统拦截:通过特定的 XML 标签<execute_python>,外部的 Agent 框架系统可以精准地使用正则表达式提取出这段代码,并直接丢进沙盒环境运行。
  • 实际运作流程

    • 用户输入(红色框):“最后 5 笔交易的金额是多少?”(What were the amounts of the last 5 transactions?)
    • 大模型生成(灰色框):LLM 接收到问题后,立刻调动了其内部的编程知识,输出了一套完整的、逻辑严密的解决方案。
  • 代码逻辑拆解

    右侧灰色框生成的 Python 代码:

    • 加载数据:pd.read_csv一句话搞定数据读取。
    • 数据清洗:pd.to_datetime确保日期格式正确。
    • 排序逻辑:sort_values(ascending=False)直接按时间倒序排列,把最新的交易顶到前面。
    • 截取目标:.head(5)干净利落地切出前 5 行。
    • 输出结果:提取price列并打印。
  • 传统工具调用为了找“最后5笔”,可能要调用“获取列表”->“按日期排序工具”->“切片工具”。而这里,LLM一次思考,一次输出,整个规划都在这段脚本里完成了。

  • 依靠 Python 和 Pandas 生态,过滤、聚合、时间序列处理等复杂逻辑都可以轻松实现,不需要开发者去手写几十个琐碎的专属工具。

这些函数 LLM见过很多调用场景,所以让你的LLM来写代码时,它能从这些数百上千个相关函数中选择,因为它已经见过很多调用数据

所以它能把这个大型库里的不同函数串联起来,来制定一个应对复杂查询的方案。

再看一个问题(有人问上周有多少笔独特的交易)

跟上个图除了系统提示词以外其他都一样,看一下**代码逻辑拆解**

  • 步骤一:预处理时间数据df = pd.read_csv(..., parse_dates=["date"])LLM 非常聪明地在读取 CSV 时,顺手就把文本格式的日期转换成了标准的时间格式,为后面的计算铺路。

  • 步骤二:动态计算时间窗口

    today=pd.Timestamp.today()week_ago=today-pd.Timedelta(days=7)

    自己写出了时间戳的减法逻辑,定义了“上周”的时间边界。

  • 步骤三:数据过滤last_week = df[df["date"].between(week_ago, today)]一句代码,把目标时间段的数据切片拿了出来。

  • 步骤四:去重并计数print(last_week.drop_duplicates().shape[0])直接调用内置的drop_duplicates()删掉重复项,然后用.shape[0]获取最终的行数(也就是笔数)并打印。

对于可以通过编写代码完成的任务,让LLM用软件代码表达方案 并直接执行,是一种让它制定丰富计划的强大方式。

当然在工具使用模块提到的注意事项也适用:比如你需要考虑寻找安全的执行环境 如沙箱。虽然这可能不是最佳实践,但也有很多开发者并没有用沙箱,事实证明用代码规划效果很好,看下文。

使用代码进行规划可以提高性能

  • 三种 Action Mode
    • Text as Action(纯文本 - 紫色条):模型直接输出自然语言来描述它想做什么。这是最原始、最不精确的方式,系统很难解析并自动化执行。
    • JSON as Action(JSON格式 - 粉色条):这就是第一张图里那种传统的工具调用(Tool Calling)模式。模型输出结构化的 JSON 数据来调用预设的 API 或函数。
    • Code as Action(代码执行 - 绿色条):这对应第二张图的模式,模型直接编写完整的 Python 等可执行代码来解决问题。

观察图表中的柱状图长度和虚线的趋势,我们可以得出极其明确的结论:“Code as Action”(绿色条)在所有测试的模型中都取得了最高的任务成功率(Successful task completion rate)。

  • 对于顶级模型(如 GPT-4 家族):提升最为显著。以最上面的gpt-4-1106-preview为例,使用传统的 JSON 工具调用时,成功率在 50% 左右;但切换到代码执行后,成功率飙升到了 70% 以上,实现了质的飞跃。
  • 跨模型的普适性:无论是强如 Claude-2、GPT-4,还是相对较小的开源模型(如最下方的 Llama-2-70b),绿色的柱子永远是最长的。这说明“用代码规划”不是某个特定模型的专利,而是一种降维打击般的范式优势

总结

事实证明 如果你让这些高级智能编程辅助工具为你编写复杂软件,它可能会先制定详细计划 先构建软件的某个组件,再构建第二个,甚至可能在过程中规划测试这些组件,接着形成一个清单,按步骤逐一执行

这种方式在构建越来越复杂的软件时效果非常好,对于其他应用场景,规划的使用还在不断增长和发展,规划的一个缺点是:开发者没有明确告诉系统具体要做什么 因此控制起来会稍微困难一些,而且你无法提前预知运行时会发生什么 ,但放弃部分控制权,确实能显著扩大模型可能尝试的方案范围,所以这项重要技术算是前沿领域,且有很大的上升空间!

如果这篇文章对你有帮助,欢迎点赞、评论、关注、收藏。你们的支持是我前进的动力!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 1:07:54

java环境安装

1.jdk下载&#xff1a;Java Downloads | Oracle 2、下载21版本&#xff0c;Windows x64 Installer&#xff0c;点击后面的链接下载。 3、安装D盘 4、配置环境变量&#xff0c; 点击新建 变量名&#xff1a;Java_Home 变量值&#xff1a;点击预览目录&#xff0c;选择你自己…

作者头像 李华
网站建设 2026/6/10 1:02:54

Anthropic安全白皮书4|用AI对抗AI:自动化安全运营的实战方法

当攻击者用AI发起攻击&#xff0c;你还在手动处理告警信息吗&#xff1f; 如果你的安全团队每天收到上千条告警&#xff0c;真正看的不到10%&#xff0c;剩下的淹没在队列里——你已经被AI攻击者甩在身后了。 白皮书第V部分指出&#xff1a;攻击者利用AI可以将漏洞利用时间从数…

作者头像 李华
网站建设 2026/6/10 1:01:14

AI率降不下来?2026这5款工具亲测好用,附保姆级使用教程

大家为了给初稿降ai肯定搜过各种各样的免费降ai率工具&#xff0c;甚至去尝试过那些乱七八糟的文本重写偏方。我听有的伙伴说自己改了一通宵&#xff0c;结果钱花了也没能有效优化文本&#xff0c;文章反而被改得语无伦次排版全乱。 作为经历过这些的过来人&#xff0c;我太懂…

作者头像 李华
网站建设 2026/6/11 1:43:52

Windows苹果触控板完美驱动:5分钟解锁原生级触控体验

Windows苹果触控板完美驱动&#xff1a;5分钟解锁原生级触控体验 【免费下载链接】mac-precision-touchpad Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad 项目地址: https://gitcode.com/gh_mirrors/ma/mac-precision-touchpad …

作者头像 李华
网站建设 2026/6/10 0:50:06

2026年硬核测评:10款降AIGC平台深度横评(附对比表)

随着高校对论文中AIGC内容的审查日益严格&#xff0c;越来越多的学生开始感受到前所未有的压力。不少同学为了完成一篇高质量的论文&#xff0c;熬红了双眼&#xff0c;反复修改&#xff0c;可最终检测结果却依然显示AI痕迹过高&#xff0c;让人无比沮丧。更糟糕的是&#xff0…

作者头像 李华