当前位置: 首页 > article >正文

【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools

📌 引言

随着大语言模型(LLM)的发展,AI 已经不再只是“回答问题”的工具,而是可以主动执行任务、调用外部资源、甚至构建完整工作流的智能系统。

为了更好地理解和使用这些能力,我们需要了解 AI 交互中几个关键的核心概念:

  • Prompt(提示词)
  • Agent(智能体)
  • MCP(Model Context Protocol,模型上下文协议)
  • Function Calling(函数调用)
  • Tools(工具)

这些概念看似抽象,但它们共同构成了现代 AI 系统的工作机制。本文将从定义、功能到实际应用,逐一进行深入解析,帮助你理解它们在 AI 交互中的角色与协作方式。


一、Prompt —— 用户与 AI 的沟通桥梁

✅ 定义与作用

Prompt 是用户输入给 AI 的一段文本,用于引导其生成特定类型的输出。它可以是问题、指令,甚至是对话历史的一部分。

例如:

"请帮我写一封道歉邮件。"
"计算一下365天后的日期。"

🔁 工作原理

  1. 用户输入 Prompt;
  2. AI 对 Prompt 进行语义理解;
  3. 结合上下文生成响应;
  4. 输出结果返回给用户。

📌 Prompt 是整个 AI 交互流程的起点,它的质量和设计直接影响 AI 输出的效果。


二、Agent —— 具备自主决策能力的智能实体

✅ 定义与特性

Agent 是一种具备感知、决策和行动能力的 AI 实体。它不仅能理解用户的指令,还能根据环境变化自主规划任务并执行。

例如一个旅行助手 Agent:

  • 接收用户指令:“我想去成都玩。”
  • 自动查询天气、景点、交通信息;
  • 提供推荐行程;
  • 甚至帮你订票或酒店。

🔁 Agent 与 Prompt 的关系

  • Prompt 是 Agent 的初始输入;
  • Agent 可以基于 Prompt 生成新的 Prompt,实现多轮对话;
  • 在执行过程中不断调整策略,提升任务完成效率。

三、MCP(Model Context Protocol)—— 构建标准化上下文通信机制

✅ 定义与目的

MCP 是一种为大语言模型设计的开源协议,用于统一模型与外部系统之间交换上下文信息的方式。

简单来说,它就像是 AI 和外界沟通的“翻译器”。

🔍 主要功能

  • 统一数据格式(JSON、YAML等)
  • 支持模型访问数据库、API、文件等外部资源
  • 实现安全、高效的数据传输

🔄 MCP 的作用

  • 使 AI 能够获取实时、准确的上下文信息;
  • 让不同平台、服务之间无缝协作;
  • 是 Function Calling 和 Tools 高效运行的基础。

四、Function Calling —— 让 AI 真正“做事”的能力

✅ 定义与功能

Function Calling 是指 AI 模型在生成响应时,能够调用预定义的函数或服务的能力。这使得 AI 不仅能“说”,还能“做”。

例如:

  • 查天气:get_weather("北京", "明天")
  • 查股票:get_stock_price("贵州茅台")
  • 发送邮件:send_email("hello@example.com", "你好")

⚙️ 工作流程

  1. AI 判断是否需要调用某个函数;
  2. 生成调用请求(含参数);
  3. 请求通过 MCP 或其他接口发送给目标服务;
  4. 服务执行后返回结果;
  5. AI 根据结果生成最终回复。

📌 Function Calling 是 AI 从“对话”走向“执行”的关键一步


五、Tools —— AI 可调用的功能模块集合

✅ 定义与分类

Tools 是封装好的、可供 AI 调用的功能模块,通常包括:

  • 数据处理工具(如 Pandas、NumPy)
  • API 接口(如 OpenWeatherMap、Google Maps)
  • 第三方服务(如支付、物流、搜索)
  • 本地脚本或插件

🔗 Tools 与 Function Calling 的关系

  • Tools 是被调用的对象;
  • Function Calling 是调用的手段;
  • Together,它们让 AI 成为一个真正的“执行者”。

六、总结:它们是如何协同工作的?

这五个概念就像一套完整的 AI 工作链:

  • 用户通过 Prompt 下达命令;
  • Agent 接收并分析任务;
  • 通过 MCP 获取所需信息;
  • 利用 Function Calling 调用 Tools 执行任务;
  • 最终将结果反馈给用户。

📌 如果你对 AI 技术感兴趣,或者正在学习大模型相关知识,这篇文章可以帮助你建立一个系统的认知框架。

💬 欢迎留言交流你在项目中使用这些技术的经验,或者你遇到的相关问题,我们一起探讨 AI 技术的发展与实践!

相关文章:

【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools

📌 引言 随着大语言模型(LLM)的发展,AI 已经不再只是“回答问题”的工具,而是可以主动执行任务、调用外部资源、甚至构建完整工作流的智能系统。 为了更好地理解和使用这些能力,我们需要了解 AI 交互中几…...

如何有效删除 iPhone 上的所有内容?

“在出售我的 iPhone 之前,我该如何清除它?我担心如果我卖掉它,有人可能会从我的 iPhone 中恢复我的信息。” 升级到新 iPhone 后,你如何处理旧 iPhone?你打算出售、以旧换新还是捐赠?无论你选择哪一款&am…...

AI大模型学习三十二、飞桨AI studio 部署 免费Qwen3-235B与Qwen3-32B,并导入dify应用

一、说明 ‌Qwen3-235B 和 Qwen3-32B 的主要区别在于它们的参数规模和应用场景。‌ 参数规模 ‌Qwen3-235B‌:总参数量为2350亿,激活参数量为220亿‌。‌Qwen3-32B‌:总参数量为320亿‌。 应用场景 ‌Qwen3-235B‌:作为旗舰模型&a…...

操作系统中的设备管理,Linux下的I/O

1. I/O软件分层 I/O 层次结构分为五层: 用户层 I/O 软件设备独立性软件设备驱动程序中断处理程序硬件 其中,设备独立性软件、设备驱动程序、中断处理程序属于操作系统的内核部分,即“I/O 系统”,或称“I/O 核心子系统”。 2.用…...

炉石传说 第八次CCF-CSP计算机软件能力认证

纯链表模拟&#xff0c;各种操作熟知就很简单 #include<iostream> #include<bits/stdc.h> using namespace std;int n;struct role {int attack;int health;struct role* next;role() : attack(0), health(0), next(nullptr) {}role(int attack, int health) : at…...

AI应用工程师面试

技术基础 简述人工智能、机器学习和深度学习之间的关系。 人工智能是一个广泛的概念,旨在让机器能够模拟人类的智能行为。机器学习是人工智能的一个子集,它专注于开发算法和模型,让计算机能够从数据中学习规律并进行预测。深度学习则是机器学习的一个分支,它利用深度神经网…...

LabVIEW与Modbus/TCP温湿度监控系统

基于LabVIEW 开发平台与 Modbus/TCP 通信协议&#xff0c;设计一套适用于实验室环境的温湿度数据采集监控系统。通过上位机与高精度温湿度采集设备的远程通信&#xff0c;实现多设备温湿度数据的实时采集、存储、分析及报警功能&#xff0c;解决传统人工采集效率低、环境适应性…...

Cursor 1.0 版本 GitHub MCP 全面指南:从安装到工作流增强

Cursor 1.0 版本 GitHub MCP 全面指南:从安装到工作流增强 简介 GitHub MCP (Machine Coding Protocol) 是一种强大的工具,能够自动化代码生成、管理和分析,从而显著提升开发效率。本文将全面介绍 GitHub MCP 的安装、配置、使用以及如何将其融入您的工作流。 本文介绍两种…...

自主设计一个DDS信号发生器

DDS发生器 DDS信号发生器是直接数字频率合成技术&#xff0c;采用直接数字频率合成(Direct Digital Synthesis&#xff0c;简称DDS)技术&#xff0c;把信号发生器的频率稳定度、准确度提高到与基准频率相同的水平&#xff0c;并且可以在很宽的频率范围内进行精细的频率调节。采…...

鸿蒙UI(ArkUI-方舟UI框架)- 使用弹框

返回主章节 → 鸿蒙UI&#xff08;ArkUI-方舟UI框架&#xff09; 文章目录 弹框概述使用弹出框(Dialog)弹出框概述不依赖UI组件的全局自定义弹出框(openCustomDialog)(推荐)生命周期自定义弹出框的打开与关闭更新自定义弹出框内容更新自定义弹出框的属性完整示例 基础自定义弹…...

学习笔记(24): 机器学习之数据预处理Pandas和转换成张量格式[2]

学习笔记(24): 机器学习之数据预处理Pandas和转换成张量格式[2] 学习机器学习&#xff0c;需要学习如何预处理原始数据&#xff0c;这里用到pandas&#xff0c;将原始数据转换为张量格式的数据。 学习笔记(23): 机器学习之数据预处理Pandas和转换成张量格式[1]-CSDN博客 下面…...

在不同型号的手机或平板上后台运行Aidlux

在不同型号的手机或平板上后台运行Aidlux 一、鸿蒙/HarmonyOS手机与平板 二、小米手机与平板 三、OPPO手机与平板 四、vivo手机与平板 一、鸿蒙/HarmonyOS手机与平板 &#xff08;系统版本有差异&#xff0c;但操作原理相通&#xff09; 第一步&#xff1a;点击设置——应用和…...

【SSM】SpringBoot学习笔记1:SpringBoot快速入门

前言&#xff1a; 文章是系列学习笔记第9篇。基于黑马程序员课程完成&#xff0c;是笔者的学习笔记与心得总结&#xff0c;供自己和他人参考。笔记大部分是对黑马视频的归纳&#xff0c;少部分自己的理解&#xff0c;微量ai解释的内容&#xff08;ai部分会标出&#xff09;。 …...

1.企业可观测性监控三大支柱及开源方案的横评对比

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] &#x1f4e2; 大家好&#xff0c;我是 WeiyiGeek&#xff0c;一名深耕安全运维开发&#xff08;SecOpsDev&#xff09;领域的技术从业者&#xff0c;致力于探索DevOps与安全的融合&#xff08;De…...

Neo4j图数据库管理:原理、技术与最佳实践

Neo4j作为领先的图数据库,其高效管理是发挥图计算潜力的关键。本文基于官方技术文档,深入探讨其管理原理、核心操作及生产环境最佳实践。 一、 管理架构与核心原理 多数据库架构 系统数据库 (system):管理元数据(用户、角色、权限、其他数据库信息)。标准数据库:存储实际…...

Elasticsearch中的地理空间(Geo)数据类型介绍

在Elasticsearch中,地理空间(Geo)数据类型用于存储和处理与地理位置相关的数据,支持基于地理坐标的查询、过滤和分析。这类数据类型允许用户在分布式环境中高效地处理地理空间相关的搜索、聚合和可视化需求,广泛应用于地图应用、物流追踪、位置服务(LBS)等场景。 一、核…...

[论文阅读] 软件工程 | 如何挖掘可解释性需求?三种方法的深度对比研究

如何挖掘可解释性需求&#xff1f;三种方法的深度对比研究 研究背景&#xff1a;当软件变复杂&#xff0c;我们需要“说明书” 想象你买了一台智能家电&#xff0c;却发现它的运行逻辑完全看不懂&#xff0c;按钮按下后毫无反应&#xff0c;故障时也不提示原因——这就是现代…...

双空间知识蒸馏用于大语言模型

Dual-Space Knowledge Distillation for Large Language Models 发表&#xff1a;EMNLP 2024 机构&#xff1a;Beijing Key Lab of Traffic Data Analysis and Mining 连接&#xff1a;https://aclanthology.org/2024.emnlp-main.1010.pdf 代码&#xff1a;GitHub - songmz…...

OpenCV CUDA模块特征检测------角点检测的接口createMinEigenValCorner()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数创建一个 基于最小特征值&#xff08;Minimum Eigenvalue&#xff09;的角点响应计算对象&#xff0c;这是另一种经典的角点检测方法&…...

Git 提交备注应该如何规范

Git 提交备注应该如何规范 在软件开发过程中&#xff0c;Git 作为版本控制系统被广泛使用&#xff0c;而规范的提交备注对于代码的可维护性、团队协作以及项目的长期发展都有着至关重要的意义。良好的提交备注能够清晰地记录代码变更的原因、范围和影响&#xff0c;方便团队成…...

青少年编程与数学 02-020 C#程序设计基础 17课题、WEB与移动开发

青少年编程与数学 02-020 C#程序设计基础 17课题、WEB与移动开发 一、C#语言Web和移动项目开发1. Web项目开发2. 移动项目开发 二、ASP.NET Core1. ASP.NET Core 基础架构1.1 请求处理管道1.2 主机模型1.3 服务器选项 2. 核心新特性2.1 NativeAOT 支持2.2 增强的身份验证方案2.…...

Qt OpenGL 实现交互功能(如鼠标、键盘操作)

一、基本概念 1. Qt 事件系统与 OpenGL 渲染的协同 Qt 提供了完善的事件处理机制,而 OpenGL 负责图形渲染。交互的实现本质上是: 事件捕获:通过 Qt 的事件系统(如 mousePressEvent、keyPressEvent)捕获用户输入。 状态更新:根据输入事件更新场景状态(如相机位置、模型…...

【Go语言基础【3】】变量、常量、值类型与引用类型

文章目录 一、值&#xff08;Value&#xff09;与字面量&#xff08;Literal&#xff09;1. 值2. 字面量 二、变量&#xff08;Variable&#xff09;1. 声明方式2. 赋值方式3. 变量默认值4. 类型与值的匹配 三、常量&#xff08;Constant&#xff09;1. 声明方式2. 常量的特性3…...

8天Python从入门到精通【itheima】-69~70(字符串的常见定义和操作+案例练习)

目录 69节-字符串的定义和操作 1.学习目标 2.数据容器视角下的字符串 3.字符串的下标索引 4.字符串是一个无法修改的数据容器 5.字符串的常用操作 【1】index方法 【2】replace方法&#xff1a;进过替换&#xff0c;得到一个新的字符串 【3】split方法&#xff1a;将字…...

在 Linux 中查看文件并过滤空行

在 Linux 中查看文件并过滤空行 在 Linux 中查看文件内容时过滤掉空行有多种方法&#xff0c;以下是几种常用的方法&#xff1a; 方法 1&#xff1a;使用 grep grep -v ^$ filename-v&#xff1a;反转匹配&#xff0c;只显示不匹配的行^$&#xff1a;表示空行的正则表达式&a…...

GC1809:高性能音频接收与转换芯片

GC1809 是一款高性能音频接收与转换芯片&#xff0c;适用于多种音频设备&#xff0c;如 A/V 接收器、多媒体音响设备、机顶盒等。本文将简要介绍该芯片的主要特性、性能参数及应用。 主要特性 多协议兼容&#xff1a;兼容 IEC60958、S/PDIF、EIAJ CP1201 和 AES3 协议。 多种…...

项目实战——C语言扫雷游戏

这是一款9*9的扫雷游戏 扫雷游戏 1.需求分析2.程序框架设计3.分函数实现打印游戏菜单界面游戏主逻辑函数程序主入口初始化游戏棋盘随机布置地雷显示当前棋盘状态计算指定位置周围的地雷数量玩家排雷主逻辑 4.分文件实现&#xff08;1&#xff09;test.c&#xff08;2&#xff0…...

【Java】CopyOnWriteArrayList

一&#xff0c;概述 CopyOnWriteArrayList作为List接口的实现之一&#xff0c;它区分于ArrayList在于它是线程安全的。如它名字一样&#xff0c;所有的写操作均复制了原数组的值&#xff0c;虽说代价较大&#xff0c;但读多写少的环境下&#xff0c;是可接受的。笔者在此简单看…...

【JS进阶】ES6 实现继承的方式

ES6 实现继承的方式 基本语法 class Parent {constructor(name) {this.name name;this.colors [red, blue];}sayName() {console.log(this.name);} }class Child extends Parent {constructor(name, age) {super(name); // 必须调用super()&#xff0c;且在使用this之前thi…...

mac 电脑Pycharm ImportError: No module named pip

这个错误表明 PyCharm 在尝试使用 pip 时找不到该模块,通常是由于 Python 环境中的 pip 未正确安装或损坏引起的。以下是针对 Mac 系统的完整解决方案: 解决方案步骤: 检查终端中的 pip 状态 打开终端(Terminal),执行以下命令: bash python3 -m ensurepip --upgrade pi…...