初识Agent、Prompt、Function Coding、MCP

什么是Agent?

以我们的豆包为例,最典型的例子就是AI对话,最基础的就是聊天式的问答的场景

我(用户) 向大模型(AI)提问,豆包(Agent)是用户和大模型之间的桥梁

Prompt

我们初步的将Prompt分为System Prompt和User Prompt

像我们正常的跟AI大模型对话,在没有System Prompt的情况下,发送User Prompt,AI会给我们通用的回复

当我们给AI大模型加上Prompt的时候,就相当于给了AI一个角色、性格、背景知识、语气等等设定,只要不是用户输入的,都可以是System Prompt

System Prompt:就是提前给Agent预设好的人设,比如豆包这里,你可以选择你的Agent的方向

User Prompt:用户说的话,如下图:什么是Java

Agent Tool

根据上面的了解,AI还只是一个能够进行问答的机器人,实际完成任务,动手的还是你自己,那能不能让AI自己去完成任务呢?

比如说我想让AI帮我管理电脑里的文件,那得先写好一些文件的管理函数,比如list_files用于列目录和read_file用来读文件等等

使用方法将这些能力注册到AI中,AI就会根据这些能力去生成System Prompt,让AI模型知道用户给了你哪些工具 ,Agent将系统预设和用户消息发送给AI,并将工具信息一同放在System Prompt中

AI收到消息后进行任务的执行

但是AI其实还是一个概率模型,会出现AI返回的格式不对,此时Agent就会进行反复的重试(消耗很多Token)

Function Coding

我们通过将工具的信息和调用格式发送给了AI,在System Prompt中,但是这些描述都是通过自然语言随意写的,只要AI看得懂就行

Function Coding则对这些描述进行了标准化,比如将工具的信息都通过json的格式进行描述

json 复制代码
{
		"name": "list_files",	// 工具名
		"desc": "列出目录",	// 工具描述
		"params": {		// 工具调用所需要的参数
                    "path": "str"		
		}
}

AI调用工具时的回复也进行了标准化

json 复制代码
{
		"type": "call",
		"name": "list_files",
		"args": {
                    "path": "/"
		}
}

做好了标准化之后,可以将工具信息和调用格式从System Prompt中抽取出来了,此时那么此时整个调用链就变成了:

MCP

上面我们一直都在聊的是AI Agent和AI大模型之间的通信方式,那么AI Agent是怎么和Agent Tool进行通信的呢

最简单的方式,就是将Tool和Agent放在同一个程序里面,直接通过函数调用的方式就可以进行通信

可是这样的方式会导致很多Tool的功能其实是通用的,但是要在多个Agent中都写一份,这样显然是不合理的

把Tool变成服务,让所有的Agent都来调用,MCP其实就是通信协议,专门用来规范Agent和Tool服务之间是怎么交互的

MCP我们分为MCP Server和MCP Client

MCP Server也可以提供类似文件读写的服务如resources,也可以通过prompts来提供专门的提示词模版

MCP Server和MCP Client可以两者都跑在一个机器上,通过标准的输入输出进行通信,也可以部署在网络上,通过http协议进行通信

MCP虽然是为了AI而定制出来的标准,但是MCP和AI大模型是没有关系的,MCP只负责帮Agent管理工具、资源和提示词

总结

回顾上面的全部流程,我们总结成一张图,将上述的内容全部串联起来

相关推荐
该昵称用户已存在17 分钟前
从边缘计量到碳足迹追踪:MyEMS 开源一体化架构的全栈拆解
架构·开源
福大大架构师每日一题43 分钟前
ollama v0.22.1 重大更新全解析:新增Poolside集成、模型推荐机制与多架构适配
架构·ollama
该昵称用户已存在1 小时前
以开源筑基,架构先行——深度拆解 MyEMS 微服务能源管理系统的技术内核
微服务·架构·开源
生成论实验室2 小时前
《事件关系阴阳博弈动力学:识势应势之道》第一篇:生成正在发生——从《即事经》到事件-关系网络
人工智能·科技·算法·架构·创业创新
:mnong2 小时前
打造 AI 级 Agent 架构
人工智能·架构
永远不会的CC4 小时前
浙江华昱欣实习(4月23日~ 4月19日)
后端·学习
直奔標竿5 小时前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring
嘟嘟MD5 小时前
程序员副业 | 2026年4月复盘
后端·创业
时空系5 小时前
认识Rust——我的第一个程序 Rust中文编程
开发语言·后端·rust
DevilSeagull5 小时前
Windows 批处理 (Batch) 编程: 从入门到入土. (一) 基础概念与环境配置
开发语言·windows·后端·batch·语言