AI

大模型 AI Agent 是怎么进行 Action 的?🌀

背景


AI Agent 是怎么执行一个 Action 的?比如大模型要去调 api 查资料,他是怎么去走到调 api 的代码逻辑里的,我理解大模型只能输出一些文本,这些文本是怎么触发一个应用层操作的。是底层给他预设了一些 action,让他在里面选一个,然后进入到某个 ifelse 分支里面吗?

  

回答


Agent 使用的是 Function Calling技术实现的,也就是函数回调。

先回答疑问:大模型是不可能去调你的函数的,他只是告诉你需要调这个函数,你自己来写程序来判断并用调,并把调用结果传给大模型。

1、你(自己的应用程序)告诉大模型:

  • (1)我有3个函数,每个函数是干什么用的,参数是什么。
  • (2)我要问的问题是什么。

2、大模型自己分析问题和函数描述,如果需要调用函数,则他就会回传一个消息,说要调哪个函数,参数是什么。

3、你(应用程序)在收到消息后,调用函数,并将结果传给大模型。

4、大模型综合之前的问题和本次函数调用结果,组织语言来回答问题,并回传答案。

 

参考 Gemini 的函数调用文档


参考 Gemini 的函数调用文档[1],函数调用功能的运行流程如下,OpenAI 中此功能的工作原理基本相同:

  • 1. 用户向应用程序发出提示词(prompt)
  • 2. 应用程序会传递用户提供的提示词和函数声明(Function Declaration(s)),即对模型所需工具的描述信息
  • 3. 根据函数声明,模型会给出工具选取建议和相关的请求参数。注意,模型仅会输出建议的工具和请求参数,并不会实际调用函数
  • 4. & 5. 应用程序根据模型响应调用相关 API
  • 6. & 7. 将 API 的响应内容再次输入模型,生成人类可读的内容
  • 8. 应用程序将最终响应返回给用户,然后再次回到第 1 步,如此循环往复