文章探讨任务型Agent工具设计的关键因素,包括工具定义、参数格式处理、执行结果展示及用户确认机制。介绍工具领域模型中的prompt描述、参数值格式设计、工具抽象层次和执行状态机。分析MCP协议与Function Call区别,探讨用户交互设计及工具池与上下文限制的解决方案。强调Less code, more intelligence理念,为构建高效AI系统提供实践指导。

一、前言

从 Agent 具备使用工具的能力,一直到 MCP 协议的出现,是工具逐渐走标准化和协议统一的过程。工具设计技术难度不大,这里将结合任务型 Agent 的实际应用,深入探讨工具设计时需要考虑的关键因素:

  • 工具怎么定义?通常工具被定义为接口函数,但同时可以是大模型调用、一段代码等。
  • 在工具调用过程中,涉及多个不同工具的集成与调用,参数值的格式定义与适配是确保系统兼容性与调用成功率的关键环节。由于各类工具对外暴露的接口规范、数据结构和序列化方式各不相同,必须建立统一的参数描述与转换机制。
  • 工具的执行结果是直接返回原始输出,还是由大模型进行摘要总结?如果使用者希望查看工具的原始执行结果,应采用何种更优的交互形式来呈现,例如通过表格、格式化SQL、代码高亮等方式提升可读性与用户体验?
  • 个别工具(如执行时间长的异步工具)参数需要用户确认怎么处理?

二、工具领域模型

任务型 Agent 的工具调用具有异步执行特性,工程上抽取了”工具组“的概念,异步工具组由提交(submit)、查询(query)和中止(terminate)三个工具组成,同步工具组仅由提交(submit)工具组成,如图:

2.1 工具 prompt 描述

“工具 prompt 描述”是在准备 prompt 过程中填充的工具的描述信息,示例:

=工具编码:submitOptimizeTask

*工具描述: 提交优化任务

*参数列表:

       id:ID,必填,

       name:名称,必填,

       taskDesc:描述,非必填,

       ----------------以下参数只能成对出现一个----------------

       A:这是参数A的描述

       B:这是参数B的描述

       C:这是参数C的描述

       D:这是参数D的描述

       ----------------以下参数只能成对出现一个----------------

       extra:扩展信息,非必填

从示例中看出工具的描述信息不能通过代码结构化实现,所以单独存储到 promptValue 字段中,这样不仅能减小 prompt 上下文的 token 数量,还能保留工具参数的可描述性。

2.2 工具参数值格式

在基于 Reflection 自主规划模式下,执行计划的节点可具象化成 function 类型节点。当一个工具执行结束后,大模型会根据工具执行结果刷新当前执行计划的结构,刷新过程中会填充“下一个待执行”节点的参数。那么核心问题来了:节点(工具)的参数值以什么格式组装到执行计划节点中?工具格式设计需兼顾大模型的理解能力、上下文 token 的节省,以及工程解析的便捷性。

任务型 Agent 工具参数值采用如下格式来组装:

参数名1:[参数值1,参数值1]|参数名2:参数值2|参数名3:{参数名a:参数值a|参数名b:参数值b...}|参数名4:[{参数名a:参数值a|参数名b:参数值b...}...]...

2.3 工具的抽象

在执行计划中,节点可根据不同的 Agent 模式定义为 function、agent 或多 function 组合等形式。从更高层次的抽象视角来看,无论是面向 function 的流程编排,还是具体的单个 function,均可视为节点的不同具象表现。更进一步,函数签名、变量命名等细节,也已可由大模型通过自主学习生成。这引发了一个更深层的问题:大模型是否具备自动生成工具的能力?然而,无论抽象层级多高,最终仍需落地到具体的工程框架中。实践中我们发现,抽象层级越低的 Agent,越难以适应未来模型能力的演进和业务需求的变化。这印证了那句理念:Less code, more intelligence。但在这条演进路径上,团队往往不可避免地陷入两种极端观点的博弈之中:

  • 理想化的观点:工程代码尽量抽象,少做些逻辑限制,事情都交由大模型来做。
  • 业界采用最多的观点:因大模型能力有限,工程代码出现了各种“分治”和“兜底”的场景,多少智能多少人力。

相信在不久将来,随着大模型能力的提升,理想化的观点会划清“业务”和“框架”的职责界限。

2.4 工具执行状态机

工具执行由异步框架来驱动,执行状态机由系统推进,非大模型驱动。

三、MCP

Function Call 概念最早由 OpenAI 于 2023 年 6 月提出,旨在将其深度集成至大模型能力中,通常与特定大模型厂商的技术栈紧密绑定。而 MCP(Model Context Protocol)则是由 Anthropic 公司于 2024 年 11 月 25 日正式推出的开放协议。可以这样理解:MCP 的目标是打破平台壁垒,为跨模型、跨平台的工具调用提供统一的标准接口,从而实现更灵活、可互操作的 AI 系统集成。因此,MCP 与传统 Function Call 在设计理念和适用范围上存在本质区别。

本项目所实现的工具机制,本质上可视为一种自定义的 MCP 流程。具体而言,在 Spring 容器启动过程中,通过解析带有自定义注解的 Bean 完成工具的注册与加载。新工具的接入方式示例如下:

@Component

@ToolGroup(name="ptimize")

publicclassOptimize {

    @ToolMethod(name="submitOptimize")

    publicResultsubmit(Requestrequest) {

        //......

    }

    @ToolMethod(name="queryOptimize")

    publicResultquery(Requestrequest) {

        //......

    }

    @ToolMethod(name="terminateOptimize")

    publicResultterminate(Requestrequest) {

        //......

    }

}

四、思考

4.1 用户与工具的交互

任务型Agent下异步工具往往执行比较久,造成用户等待和试错成本较高,所以执行成本高的工具在执行之前需要用户确认一下“方案”(比如参数填写是否符合预期等),流程如下:

再浅谈一些经验:

  • 工具参数尽量内置化,有些异步工具参数比较复杂,曾遇到过50个以上都有,这种情况下大模型出现幻觉概率会很大,参数不全时若频繁地反问用户会极大降低用户的体验。参数多的工具在对话框弹出表单更适合用户。
  • 工具参数是由大模型根据上下文提取的,与传统工程显示传递不太一样,要转变这个思维。但有些场景下交给大模型存在训练成本,能方便工程传递的尽量使用工程手段。

4.2 MCP 未来设想

看到过一段话,自行理解:

所以未来很有可能每个企业都有自己的MCP Server市场,在MCP Server市场里分门别类,每类MCP Server有专门的研发团队负责,不用太需要考虑统一返回格式,不用考虑开发语言统一。运营、市场、产品等业务方有业务需求或者有新的产品功能需求时,可以通过统一界面用大白话快速构建AI应用,MCP+LLM来实现业务编排,实现PRD既产品(PRD as a Product)的新的开发模式。

4.3 工具池与 prompt 上下文限制的矛盾

随着 Agent 可调用工具的增多,Prompt 中工具候选集的扩张将直接导致上下文 Token 数量增长。业界常采用基于意图识别的工具预筛选机制以缓解此问题,但该方案引入了额外的分类逻辑与系统复杂性。


如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

Logo

更多推荐