什么是 Agent?

Agent 是一个智能体,可以接收用户请求,利用大模型(LLM)的推理能力,自动决定:

  • 自己回答
  • 还是调用外部工具(数据库、API、脚本等)

最终把结果返回给用户。
能够自主做任务拆分、结果反思、行为决策

Agent与workflow的本质区别

Agent(智能体)

  • 类似一个“智能助手”,基于大模型(LLM)或规则引擎,具备自主决策与动态适应能力。
  • 用户只需给目标或问题,Agent会自己规划步骤、调用工具、处理信息。
  • 行为偏“灵活、不确定”。

在这里插入图片描述

Workflow(工作流,如dify、ragflow、langflow等)

  • 类似一条“生产线”,由开发者预先定义步骤,每个节点都有固定的输入输出。
  • 执行过程是确定性的,基本不会偏离设定流程。
  • 行为偏“固定、可预测”。
    在这里插入图片描述

Agent通常配合外部工具工作,工具则通常以MCP方式提供服务,下面简单介绍一下mcp:

什么是MCP

MCP 是 Model Context Protocol(模型上下文协议)的缩写,是由 Anthropic 2024年开发的一个开放标准协议。
用于连接AI模型(如Claude、GPT等)与外部数据源和工具,让AI能够安全、可控地访问和操作外部资源。
与http协议类比:

浏览器 ←→ HTTP协议 ←→ Web服务器  GET /api/users/123 HTTP/1.1    
Host: example.com  
Content-Type: application/json  HTTP协议是让浏览器和网站之间能互相理解的’语言
AI模型 ←→ MCP协议 ←→ 工具服务器 
{"method": "tools/call","params": {"name": "query_service_cost","arguments": {"type": "短信","name": "test"}
}
}
MCP协议是让AI和各种工具之间能互相理解的’语言’

Agent 工作流程

用户提问:  
“运维安全中心服务器费用是多少?”  
Agent 理解问题:  
判断是否需要调用工具, 如需要会自动识别工具、提取参数。  
调用 MCP 工具:  
自动提取“运维安全中心 + 服务器”两个参数传给 MCP 工具。  
工具执行查询并返回结果:  
mcp工具查询数据库查出 “服务器费用 = XXX 元”。  
Agent 整理回答:  
用自然语言告诉用户:20256月运维安全中心服务器费用总计为xxx元,如果您需要查看运维安全中心具体各项目组的费用分布情况,我可以为您进一步分析。 

常见挑战 & 解决思路 & 注意事项

1、用户提问中的“业务词” 和 工具(如数据库)中“标准词” 不一致、提问理解不准确

如运维安全中心6月份的数据库费用是多少?
但数据源存储的是 运维安全部 云数据库MongoDB\云数据库Redis\云数据库MySQL
解决思路

  • 规则/词典映射
    运维安全中心 → 运维安全部,云盘 → 云硬盘等
  • 多轮澄清
    如果不确定,就反问用户(例如:“您是指捕运维安全部吗?”)
  • 模糊匹配(字符串相似度)
    用算法计算用户输入和数据库条目的相似度,对同义词效果有限
  • 向量语义匹配(Embedding)
    用大模型或开源 embedding 模型(如 text-embedding-ada-002、bge-small-zh)把“用户提问中的关键词”和“数据库字段”都转成向量。通过向量相似度找到最接近的数据库字段 RAG。
  • 结合大模型进行纠错/归一化
    让模型帮你做“归一化”:
    用户提问:“运维安全中心6月份的数据库费用是多少?”
    LLM 输出:查询关键词应为 “运维安全部” MongoDB\云数据库Redis\云数据库MySQL 然后再把归一化后的结果传递给工具。
  • 以上组合的智能混合匹配模式
2、模型调用工具混乱
  • 如果工具过多或者描述不准确,会有此问题,可以优化工具描述。
  • 如果工具达到一定量级,可以将工具也做向量化处理,让大模型用向量检索的方式选择工具
  • 考虑使用多agent模式,每个agent负责各自领域内容,由父agent做任务分发
3、出现问题难以排查

agent决策不正确,工具执行结果不准确,出现问题难排查是开发agent时常遇到的问题。

  • 不要用开源的agent框架!一个黑盒,有问题或者想干预策略有点难。
  • 自己手搓的优势:
  1. 透明度:实时展示智能体决策逻辑与执行步骤
  2. 可控性:允许人为干预关键决策节点
  3. 可观测:很自由
4、调用链过长,响应慢

如果你的任务很复杂,Agent 需要多轮次调用工具,多次兜底,响应会变慢。

  • 缓存:对常用中心/资源类型缓存标准化结果
  • 异步并发:并行调用多个工具,再由 Agent 汇总
  • 优化prompt:事先在prompt中预设好一些数据
5、错误处理 & 兜底策略
  • 工具超时、报错,Agent 会输出一堆“模型幻觉”的回答。
  • 兜底提示:比如“暂时无法查询,请稍后再试”
  • 重试机制:失败时自动重试一次
6、安全与权限控制
  • Agent 调用工具时可能越权,比如查询了不该暴露的数据。
  • 结果是否可控、是否可承受
  • 大模型本身的幻觉和不确定性,必然会有错误的决策,结果是否可承受,可承受在考虑使用agent
7、上下文工程、提示词工程的重要性
  • prompt是逐渐迭代的,有演进过程
  • 一个好的上下文和prompt会大大提高agent输出的准确性

下一步:

如何手搓一个Agent

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94868.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94868.shtml
英文地址,请注明出处:http://en.pswp.cn/web/94868.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【VSCode】使用VSCode打开md文件以及转化为PDF

【VSCode】使用VSCode打开md文件以及转化为PDF在 Visual Studio Code (VS Code) 中渲染 Markdown 并保存为 PDF,可以通过以下步骤实现。 首先安装好 VSCode,可以参考下述链接 https://blog.csdn.net/weixin_43848614/article/details/148042035 安装m…

苹果ImageIO零日漏洞分析:攻击背景与iOS零点击漏洞历史对比

苹果公司已紧急发布全生态系统安全更新,修复编号为CVE-2025-43300的ImageIO框架高危零日漏洞(zero-day),该漏洞已被用于复杂的定向攻击。这是苹果在2025年修复的第七个零日漏洞,凸显iOS和macOS设备面临的威胁持续升级。…

面试 TOP101 递归/回溯专题题解汇总Java版(BM55 —— BM61)

8月刷题挑战,多重好礼等你拿 递归/回溯 题号题目名称核心思路时间复杂度空间复杂度代码亮点牛客原题链接BM55没有重复项数字的全排列使用回溯法生成所有排列O(n!)O(n)使用回溯法生成所有排列,逻辑清晰🔗 直达BM56有重复项数字的全排列使用回…

音频相关数学知识

时域(Time domain)是描述数学函数或物理信号对时间的关系,如果声音对应频率正负波动,对应事件x轴为时间,y轴为振幅频域信号在频率方面特性,如射频范围正弦型函数可以用来虚拟音频,正弦&#xff…

SAP-ABAP:SAP HANA 架构解析:主从(Scale-Out)与主备(High Availability)架构深度对比

SAP HANA 架构解析:主从(Scale-Out)与主备(High Availability)架构深度对比 一、架构概述 在SAP HANA数据库系统中,两种核心架构模式解决了不同的业务需求:主从架构(Scale-Out&#…

【Hadoop】HDFS 分布式存储系统

Namenode是整个HDFS文件系统的前端,只有一个,管理数据块映射信息,配置副本策略,处理客户端的读写请求。Secondary namenode是namenode的热备,当active namenode出现故障时,快速切换为新的active namenode。…

[特殊字符] 如何在自己的仓库开发,同时保持同步原作者更新(超详细教程)

在开源协作开发中,很多时候我们会遇到这样一种情况: 👉 我们想基于一个开源项目继续开发,代码要推送到自己的仓库里; 👉 但原作者可能还会更新,我们也希望能随时把最新的改动同步过来。 本文以 …

Spring Ai (Function Calling / Tool Calling) 工具调用

1.工具调用介绍 工具调用是现代大语言模型(LLM)的一项重要能力,允许模型在生成回复时“决定”是否需要调用某个外部函数来获取信息或执行操作。例如: 联网搜索 (实现查询到大模型未学习和RAG知识库中不存在的数据&am…

LabVIEW 正弦波噪声滤波

利用 LabVIEW 搭建程序,先合成含噪正弦波(正弦信号与高通滤波后的噪声叠加),再通过低通滤波提取纯净正弦波,实现噪声去除,常用于信号处理、测试测量场景,验证滤波算法对正弦信号的降噪效果。​功…

基于django的梧桐山水智慧旅游平台设计与开发(代码+数据库+LW)

摘要 随着信息技术的飞速发展,旅游行业面临着用户需求多样化、信息获取不便、服务体验不佳等问题。传统的旅游服务多依赖人工管理和线下宣传,难以高效整合资源与提供个性化服务。为解决这些问题,本文设计开发一个基于Django的梧桐山水智慧旅…

微服务相关面试题

写在前面 🔥我把后端Java面试题做了一个汇总,有兴趣大家可以看看!这里👉 ⭐️在反复复习面试题时,我发现不同资料的解释五花八门,容易造成概念混淆。尤其是很多总结性的文章和视频,要么冗长难…

循环神经网络——pytorch实现循环神经网络(RNN、GRU、LSTM)

循环神经网络——pytorch实现循环神经网络(RNN、GRU、LSTM) 本文将深入探讨循环神经网络的理论基础,并通过PyTorch深度学习框架来展示如何实现循环神经网络模型。我们将首先介绍循环神经网络的基本概念。通过PyTorch代码示例,我们…

系统架构设计师备考第8天——嵌入式系统

一、嵌入式系统概述定义 为特定应用构建的专用计算机系统,软硬件紧密结合,满足功能、可靠性、成本、体积、功耗等严格要求。核心特征:专用性强、技术融合(计算机通信半导体技术)、软硬一体以软件为主、资源受限、程序固…

HarmonyOS 中的 sharedTransition:实现流畅的页面过渡动画

HarmonyOS 中的 sharedTransition:实现流畅的页面过渡动画 在移动应用开发中,页面之间的过渡动画是提升用户体验的关键因素之一。HarmonyOS 提供了 sharedTransition 功能,让开发者能够轻松实现元素在不同页面间的平滑过渡效果,创…

【服务器】Apache Superset MCP接入与使用

1. 概述 Apache Superset MCP 集成(superset-mcp)是一个基于 Model Control Protocol(MCP)的服务器工具,旨在实现 AI 代理与 Apache Superset 的程序化交互。该项目通过提供标准化的工具接口,使 AI 助手&a…

Postman接口测试:postman设置接口关联,实现参数化

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快postman设置接口关联在实际的接口测试中,后一个接口经常需要用到前一个接口返回的结果, 从而让后一个接口能正常执行,这个过程的…

第一个,QT版本问题:no member named SkipEmptyParts‘in namespace ‘Qt

这是我朋友给我发过来的代码,但是在我电脑上报错了,遇到的问题是 Qt 版本兼容导致的编译错误。这是因为我的是5.12版本,他的是6.4版本,Qt::SkipEmptyParts只能在6版本使用,无法在5.12甚至更早的版本使用,具…

【PostgreSQL内核学习:通过 ExprState 提升哈希聚合与子计划执行效率(二)】

PostgreSQL内核学习:通过 ExprState 提升哈希聚合与子计划执行效率(二)引言ExecBuildHash32FromAttrs示例 SQL 查询函数运行流程与代码解释最终 ExprState 结构执行示例总结ExecComputeSlotInfo示例 SQL 查询函数注释与解释作用参数返回值执行…

技术分析 | Parasoft C/C++test如何突破单元测试的隔离难题

单元测试是保证软件质量的第一道防线,但其推行往往面临两大阻力:一是编写和维护测试用例耗时费力,二是难以与现有项目和团队习惯无缝集成。Parasoft C/Ctest 通过其强大的图形化测试创建能力、自动桩函数技术以及卓越的生态集成性&#xff0c…

K8S架构与组件完全解析

目录 K8S-组件介绍 一、概述 K8S的由来 K8S的功能 K8S解决的问题 K8S的特性 二、K8S架构与组件 K8S架构 K8S组件 master 节点组件 Kube-apiserver Kube-controller-manager Kube-scheduler etcd node节点组件 Kubelet Kube-Proxy Controller Runtime Pod 三…