AI知识补全(十六):A2A - 谷歌开源的agent通信协议是什么?
名人说:一笑出门去,千里落花风。——辛弃疾《水调歌头·我饮不须劝》
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
上一篇:AI知识补全(十五):AI可解释性与透明度是什么?
目录
- 一、什么是A2A协议?
- 1. A2A的定义与背景
- 2. A2A的核心概念
- 3.为什么需要A2A?
- 4. 架构设计
- 5. 关键功能
- 三、A2A与其他协议的关系
- 1. A2A与MCP的比较
- 2. A2A与其他代理协议的生态位置
- 四、A2A协议的应用场景
- 1. 企业级应用
- 2. 实际案例分析
- 五、A2A协议的实现与开发
- 1. 技术实现
- 2. 开发路线图
- 六、A2A的行业影响与前景
- 1. 行业合作与影响
- 2. 未来发展趋势
- 七、结论与展望
很高兴你打开了这篇博客,更多AI知识,请关注我、订阅专栏《AI知识图谱》,内容持续更新中…
一、什么是A2A协议?
图片来源:A2A(Google)
1. A2A的定义与背景
A2A(Agent2Agent)是由谷歌(Google)开源的一种全新AI代理通信协议,旨在解决不同框架和供应商开发的AI代理之间通信互操作的问题。这个协议于2025年4月份正式发布,背后有包括Atlassian、Salesforce、Deloitte等50多家主要合作伙伴的支持。
通俗易懂些来理解,就是给AI助手们创造了一种"国际通用语言",让它们能够相互理解和协作。不管是谷歌、微软、亚马逊还是其他公司开发的AI,只要它们都遵循这个A2A协议,就能像人与人交谈一样互相沟通。
图片来源:A2A(Google)
谷歌认为A2A协议将为客户带来显著价值,使他们的AI代理能够跨整个企业应用程序领域工作。这种协作努力标志着一个共同愿景的未来,即AI代理无论其底层技术如何,都能无缝协作,自动化复杂的企业工作流程,推动前所未有的效率和创新水平。
2. A2A的核心概念
A2A协议的核心在于促进独立AI代理之间的通信,其基本概念包括:
- Agent Card(代理卡片):一个公共元数据文件(通常位于/.well-known/agent.json),描述代理的能力、技能、端点URL和身份验证要求。客户端使用它进行发现。
- A2A Server(A2A服务器):一个暴露HTTP端点的代理,实现A2A协议方法(在json规范中定义)。它接收请求并管理任务执行。
- A2A Client(A2A客户端):消费A2A服务的应用程序或另一个代理。它向A2A服务器的URL发送请求(如tasks/send)。
- Task(任务):工作的中央单元。客户端通过发送消息(tasks/send或tasks/sendSubscribe)启动任务。任务有唯一ID并经历各种状态(提交、工作、需要输入、完成、失败、取消)。
- Message(消息):代表客户端(角色:“user”)和代理(角色:“agent”)之间的通信回合。
3.为什么需要A2A?
想象一下这个场景:你要计划一次旅行,需要:
- 查找并比较机票价格
- 根据天气预报选择合适的目的地
- 预订酒店和餐厅
- 安排当地活动和交通
以前,你可能需要打开4-5个不同的应用,手动在它们之间复制粘贴信息。有了A2A协议,你只需告诉你的主AI助手:“帮我计划下周去日本的旅行”,然后它就能自动与专门负责机票查询的AI、天气预报AI、酒店预订AI等进行沟通协作,共同完成这个任务。
所有这些AI助手虽然可能来自不同公司、基于不同技术,但因为都"说"A2A这种"通用语言",所以能无缝协作,就像一个高效的团队。
4. 架构设计
A2A协议促进了"客户端代理"与"远程代理"之间的通信。客户端代理负责从最终用户那里制定和传达任务,而远程代理则根据这些任务采取行动。这种架构设计使得代理之间可以明确地交换信息,无需共享内部状态或记忆。
图1:A2A通信架构图
图2:A2A协议概念图 - 展示了客户端代理与远程代理之间的通信流程,以及任务(Task)和代理卡片(Agent Card)在协议中的核心地位
- 独立运行:代理独立运行并明确沟通以交换信息。
- 符合标准:该协议使用广泛采用的Web技术,如HTTP、JSON-RPC和服务器发送事件(SSE),以最大限度地减少开发人员的摩擦。
- 默认安全:内置身份验证和授权措施旨在保护敏感交易和数据。
- 处理短任务和长任务:A2A支持简短交互(如快速信息请求)和需要持续协作的扩展流程。
- 模态无关:代理可以通过实时共享结构化任务更新来处理文本、视频、音频或其他数据类型。
5. 关键功能
A2A协议依赖于几个关键功能:
- 能力发现:代理可以通过JSON格式的Agent Card"发布其能力",使客户端代理能够确定最佳的远程代理来完成任务。
- 任务管理:确保代理之间的通信仅面向完成请求,并定义任务的生命周期。
- 协作:发送有关上下文回复、工件(任务输出)或指令的消息。
- 用户体验协商:允许客户端和远程代理协商响应最终用户请求所需的正确格式,以及了解用户的UI能力,如iframe、视频、Web表单等。
每条消息包括"部分",这是一个完全形成的内容片段,比如生成的图像。每个部分都有指定的内容类型,允许客户端和远程代理协商所需的正确格式,并明确包括对用户UI能力的协商。
三、A2A与其他协议的关系
1. A2A与MCP的比较
在发布A2A时,谷歌将其定位为与Anthropic的MCP(Model Context Protocol)互补的协议。在公告中,谷歌提到,“A2A是一个开放协议,补充了Anthropic的MCP,后者为代理提供有用的工具和上下文。”
谷歌在标题为"A2A ❤️ MCP"的A2A文档页面中,提供了一个汽车修理店用例示例,以演示A2A和MCP如何协同工作。
如果用类比来解释:如果MCP是扳手,那么A2A就是机械师之间在诊断问题时的对话。A2A还专门设计为支持不透明代理——那些不暴露其内部推理或记忆的代理——这对于需要安全、模块化或供应商抽象的企业用例至关重要。代理不是同步内部状态,而是通过定义明确的"任务"共享上下文,这些任务包括输入、指令、结果(“工件”)和实时状态更新。
2. A2A与其他代理协议的生态位置
谷歌云业务应用平台副总裁兼总经理Rao Surapaneni告诉VentureBeat,A2A使具有不同专业化和数据节点的代理更容易获得所需的上下文。“每个人都有一定的专业化,因为他们拥有数据节点或逻辑节点,或者当前用户群体专注于特定任务”。
A2A协议与Anthropic的模型上下文协议(MCP)不同,但两者可以互补。虽然MCP专注于应用程序和生成式AI模型之间的交互,但A2A协议专注于不同AI代理之间的交互。“你可以将MCP视为提供垂直集成(应用程序到模型),而A2A提供水平集成(代理到代理)”。
四、A2A协议的应用场景
1. 企业级应用
A2A协议的一个突出特点是其企业级关注点。该协议支持延伸数天、数周甚至数月的长期运行任务——如供应链规划或多阶段招聘。它还支持多模态协作,因此AI代理可以在统一工作流程中共享和处理文本、音频和视频。
如果A2A获得牵引力——早期支持表明它可能会——它可能会像Kubernetes标准化云原生应用或OAuth简化跨平台安全访问一样加速代理生态系统。通过在协议级别解决互操作性问题,A2A降低了企业混合搭配不同提供商的代理并最终将它们视为连贯数字劳动力的门槛。
2. 实际案例分析
通过A2A协作,可以显著简化招聘软件工程师的过程。在像Agentspace这样的统一界面中,用户(例如招聘经理)可以指派其代理寻找与工作列表、位置和技能集匹配的候选人。然后,该代理与其他专门的代理交互,寻找潜在的候选人。
A2A的一个真实应用例子是招聘过程。一个代理可能根据特定标准筛选候选人,另一个可能安排面试,而第三个可能管理背景调查。这些专业代理可以通过统一的界面进行通信,同步每个步骤的状态,并确保相关信息安全传递。
五、A2A协议的实现与开发
1. 技术实现
A2A协议基于几个核心概念构建:
- Agent Card(代理卡片):一个公共元数据文件,通常位于
/.well-known/agent.json
,描述代理的能力、技能、端点URL和身份验证要求。客户端使用它进行发现。 - A2A Server(A2A服务器):一个暴露HTTP端点的代理,实现A2A协议方法(在json规范中定义)。它接收请求并管理任务执行。
- A2A Client(A2A客户端):消费A2A服务的应用程序或另一个代理。它向A2A服务器的URL发送请求(如
tasks/send
)。 - Task(任务):工作的中央单元。客户端通过发送消息(
tasks/send
或tasks/sendSubscribe
)启动任务。任务有唯一ID并经历各种状态(submitted、working、input-required、completed、failed、canceled)。 - Message(消息):代表客户端(角色:“user”)和代理(角色:“agent”)之间的通信回合。
图片来源:How A2A works(Google)
2. 开发路线图
未来计划包括改进协议本身和增强示例:
- 正式纳入授权方案和可选凭证直接在AgentCard中。
- 研究QuerySkill()方法,用于动态检查不支持或未预期的技能。
- 支持任务内的动态UX协商(例如,代理在对话中途添加音频/视频)。
- 探索扩展对客户端发起方法的支持(超出任务管理)。
- 改进流式传输可靠性和推送通知机制。
- 简化"Hello World"示例。
- 包括与不同框架集成或展示特定A2A功能的其他示例。
- 为常见客户端/服务器库提供更全面的文档。
- 从JSON Schema生成人类可读的HTML文档。
六、A2A的行业影响与前景
1. 行业合作与影响
谷歌与超过50家技术合作伙伴合作推出了A2A协议,这些合作伙伴包括Atlassian、Box、Cohere、Intuit、Langchain、MongoDB、PayPal、Salesforce、SAP、ServiceNow、UKG和Workday;以及领先的服务提供商,包括Accenture、BCG、Capgemini、Cognizant、Deloitte、HCLTech、Infosys、KPMG、McKinsey、PwC、TCS和Wipro。
对于努力在不同系统上实施AI驱动自动化的企业来说,这一举措意义重大。通过实现专业代理之间的互操作性,A2A解决了扩展代理AI解决方案的关键障碍。德勤等行业领导者强调了它在统一工作流程和降低集成成本方面的潜力。
2. 未来发展趋势
该协议目前作为开源项目在GitHub上提供,谷歌计划在今年晚些时候推出面向生产的版本。对于希望未来保障其AI投资的企业来说,A2A值得认真关注。
Surapaneni表示,谷歌将A2A设计为开放协议,这意味着更大的开源社区可以为A2A项目做出贡献并提出代码更新。“我们将其作为一项社区驱动的努力开放,并且是真正的开源。有一个治理委员会,但我们确实希望它是真正开放和社区驱动的。”
在开发A2A时,谷歌专注于使代理能够"以其自然、非结构化的模式工作,即使它们不共享记忆、工具和上下文"。该协议还建立在HTTP和JSON等现有标准之上,因此它更容易与现有技术栈集成,并默认是安全的。
七、结论与展望
A2A协议代表了AI代理通信领域的重要进步,通过提供标准化的通信框架,它解决了企业AI采用的关键障碍。作为一个开源项目,A2A协议得到了众多技术巨头和咨询公司的支持,这表明行业对统一AI代理生态系统的强烈需求和认可。
随着企业越来越多地采用AI代理来执行从客户服务到供应链管理的任务,A2A代表了朝着充分实现多代理生态系统潜力的关键一步。通过使不同供应商和框架开发的代理能够无缝协作,A2A有望推动企业AI应用的下一波创新浪潮。
对于AI开发者和企业决策者来说,密切关注A2A协议的发展将是至关重要的,因为它有可能成为未来代理通信的事实标准。随着越来越多的组织采用这一协议,我们可能会看到前所未有的AI协作和自动化水平,进一步推动数字化转型和创新。
参考资料:
- Google GitHub A2A仓库: https://github.com/google/A2A
- Google Developers Blog: https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/
- VentureBeat: https://venturebeat.com/ai/googles-agent2agent-interoperability-protocol-aims-to-standardize-agentic-communication/
- MarkTechPost: https://www.marktechpost.com/2025/04/09/google-introduces-agent2agent-a2a-a-new-open-protocol-that-allows-ai-agents-securely-collaborate-across-ecosystems-regardless-of-framework-or-vendor/
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
相关文章:
AI知识补全(十六):A2A - 谷歌开源的agent通信协议是什么?
名人说:一笑出门去,千里落花风。——辛弃疾《水调歌头我饮不须劝》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:AI知识补全(十五):AI可解…...
OOM问题排查和解决
问题 java.lang.OutOfMemoryError: Java heap space 排查 排查手段 jmap命令 jmap -dump,formatb,file<file-path> <pid> 比如 jmap -dump:formatb,file./heap.hprof 44532 使用JVisualVM工具: JVisualVM是一个图形界面工具,它可以帮…...
黑马头条day01
1)课程对比 2)项目概述 2.1)能让你收获什么 2.2)项目课程大纲 2.3)项目概述 随着智能手机的普及,人们更加习惯于通过手机来看新闻。由于生活节奏的加快,很多人只能利用碎片时间来获取信息,因此,对于移动资讯客户端的需求也越来越…...
关于IDEA中使用ctrl跳转源码出现???的解决方案
最近在学习大数据相关课程的时候使用ctrl查看源码时出现源码是问号的情况。写一篇博客来分享一下自己的解决方案: 但我使用ctrl查看源码的时候具体函数的细节使用???来代替,而且点击上方的Download按钮没有反应,这个时候我们需要手动指定…...
第三方API——Spring Boot 集成阿里云短信发送功能
目录 一. 创建阿里云OSS服务并获取密钥,开通短信服务 1.1 注册阿里云服务器 1.2 开通短信服务 1.3 创建对象存储OSS服务 1.4 RAM用户授权短信权限 1.5 新增用户并授权用户短信权限 1.6 获取 AccessKey ID 和 AccessKey Secret 二. 创建项目集成短信发送 2.1…...
【C++】前向声明(Forward Declaration)
前向声明(Forward Declaration)是在C、C等编程语言中,在使用一个类、结构体或其他类型之前,仅声明其名称而不给出完整定义的一种方式。 作用 减少编译依赖:当一个源文件包含大量头文件时,编译时间会显著增…...
Golang|抽奖相关
文章目录 抽奖核心算法生成抽奖大转盘抽奖接口实现 抽奖核心算法 我们可以根据 单商品库存量/总商品库存量 得到每个商品被抽中的概率,可以想象这样一条 0-1 的数轴,数轴上的每一段相当于一种商品,概率之和为1。 抽奖时,我们会生…...
10.第二阶段x64游戏实战-添加计时器
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:9.第二阶段x64游戏实战-创建项目代码获取人物属性 效果图: 当前游戏…...
fbx/obj/glb/gltf/b3dm等通用格式批量转换成osgb
fbx/obj/glb/gltf/b3dm等通用格式批量转换成osgb fbx/obj/glb/gltf/b3dm等通用格式批量转换成osgb...
打造AI应用基础设施:Milvus向量数据库部署与运维
目录 打造AI应用基础设施:Milvus向量数据库部署与运维1. Milvus介绍1.1 什么是向量数据库?1.2 Milvus主要特点 2. Milvus部署方案对比2.1 Milvus Lite2.2 Milvus Standalone2.3 Milvus Distributed2.4 部署方案对比表 3. Milvus部署操作命令实战3.1 Milv…...
使用WindSurf生成贪吃蛇小游戏:从零开始的开发之旅
在当今数字化时代,编程已经成为一项必备技能,而创建游戏无疑是学习编程过程中最具趣味性的项目之一。今天,我将向大家介绍如何使用WindSurf这款强大的代码生成工具来快速生成一个经典的贪吃蛇小游戏。从下载软件到运行游戏,我们将…...
论文学习:《EVlncRNA-net:一种双通道深度学习方法,用于对实验验证的lncRNA进行准确预测》
原文标题:EVlncRNA-net: A dual-channel deep learning approach for accurate prediction of experimentally validated lncRNAs 原文链接:https://www.sciencedirect.com/science/article/pii/S0141813025020896 长链非编码RNA( long non-coding RNAs&…...
LLM Post-Training
1. LLM的后训练分类 Fine-tuning Reinforcement Learning Test-time Scaling 方法 优点 缺点 Fine-tuning 任务适应性:能够针对特定任务或领域进行优化,提升模型在该任务上的性能。 数据驱动优化:利用标注数据直接调整模型参数&#x…...
【LLM】解锁Agent协作:深入了解谷歌 A2A 协议与 Python 实现
人工智能(AI)智能体正迅速成为企业提高生产力、自动化工作流程和增强运营能力的关键工具。从处理日常重复性任务到协助复杂的决策,智能体的潜力巨大。然而,当这些智能体来自不同的供应商、使用不同的框架或被限制在孤立的数据系统…...
FileWriter 详细解析与记忆方法
FileWriter 详细解析与记忆方法 一、FileWriter 核心概念 FileWriter 是 Java 中用于向文件写入字符数据的类,继承自 OutputStreamWriter,属于字符流体系。 1. 核心特点 特性说明继承关系Writer → OutputStreamWriter → FileWriter数据单位字符&am…...
Java笔记5——面向对象(下)
目录 一、抽象类和接口 1-1、抽象类(包含抽象方法的类) 1-2、接口 编辑编辑 二、多态 编辑 1. 自动类型转换(向上转型) 示例: 注意: 2. 强制类型转换(向下转型) 示…...
c++------模板进阶
目录 一、模板 1.1 非类型模板参数 二、模板的特化 2.1 概念 2.2 函数模板特化 2.3 类模板特化 全特化 偏特化 (1)部分特化 (2)参数更进一步的限制 三、模板分离编译 3.1 什么是分离编译 3.2 模板的分离编译 3.3 解决…...
《轨道力学讲义》——第四讲:轨道计算与预测
第四讲:轨道计算与预测 引言 在轨道力学的研究中,轨道计算与预测是将理论付诸实践的关键环节。当我们掌握了轨道运动的基本规律和数学描述后,下一步便是要能够准确地计算航天器在任意时刻的位置和速度,并对其未来的运动轨迹进行…...
鸿蒙开发-页面跳转
1.路由使用 //1.引入路由 import router from ohos.router//2.使用跳转router.pushUrl({url: "pages/Show"})2.页面跳转 import { router } from kit.ArkUI;Entry Component struct LoginPage {State message: string 登陆页;build() {Row() {Column() {Text(this…...
数据大屏只能撑撑场面?
很多人对数据大屏的看法就是“没有用”、“花架子”,实际上,它的作用绝不止于此。 业财猫全新升级的经营驾舱模块,以精准的行业洞察与场景化设计,重新定义了这一工具的价值。 作为专为财税代账行业打造的一站式运营管理平台&…...
第十九讲 | XGBoost 与集成学习:精准高效的地学建模新范式
🟨 一、为什么要学习集成学习? 集成学习(Ensemble Learning) 是一种将多个弱学习器(如决策树)组合成一个强学习器的策略。它在地理学、生态学、遥感分类等领域表现尤为突出。 📌 应用优势&#…...
大数据面试问答-批处理性能优化
1. 数据存储角度 1.1 存储优化 列式存储格式:使用Parquet/ORC代替CSV/JSON,减少I/O并提升压缩率。 df.write.parquet("hdfs://path/output.parquet")列式存储减少I/O的核心机制: 列裁剪(Column Pruning) …...
关于 软件开发模型 的分类、核心特点及详细对比分析,涵盖传统模型、迭代模型、敏捷模型等主流类型
以下是关于 软件开发模型 的分类、核心特点及详细对比分析,涵盖传统模型、迭代模型、敏捷模型等主流类型: 一、软件开发模型分类及核心特点 1. 瀑布模型(Waterfall Model) 核心特点: 线性阶段划分:需求分…...
【STL】set
在 C C C S T L STL STL 标准库中, s e t set set 是一个关联式容器,表示一个集合,用于存储唯一元素的容器。 s e t set set 中的元素会自动按照一定的顺序排序(默认情况下是升序)。这意味着在 s e t set set 中不能…...
信奥还能考吗?未来三年科技特长生政策变化
近年来,科技特长生已成为名校录取的“黄金敲门砖”。 从CSP-J/S到NOI,编程竞赛成绩直接关联升学优势。 未来三年,政策将如何调整?家长该如何提前布局? 一、科技特长生政策趋势:2025-2027关键变化 1. 竞…...
几何建模基础-拓扑命名实现及优化
1.背景介绍 1.1 什么是拓扑? 拓扑是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的一个学科。它只考虑物体间的位置关系而不考虑它们的形状和大小。 Body对象的拓扑可以理解为面(Face)与边(Edge)、边…...
浙江大学DeepSeek系列专题线上公开课第二季第五期即将上线!deepseek音乐创作最强玩法来了!
浙江大学DeepSeek系列专题线上公开课第二季第5期即将在今晚进行直播! 其中,今晚8点10分左右,浙大AI大佬张克俊教授将带来硬核的deepseek公开课讲座。 讲座 主题: 人工智能与音乐创作 主讲人: 张克俊 教授 人工智能作…...
electron-builder参数详解
electron-builder 是一个用于打包和构建 Electron 应用的工具,支持 macOS、Windows 和 Linux 平台,并提供了丰富的参数配置选项。 1、安装: npm install electron-builder --save-dev2、参数详解 命令: electron-builder build…...
PVE+CEPH+HA部署搭建测试
一、基本概念介绍 Proxmox VE Proxmox Virtual Environment (Proxmox VE) 是一款开源的虚拟化管理平台,基于 Debian Linux 开发,支持虚拟机和容器的混合部署。它提供基于 Web 的集中管理界面,简化了计算、存储和网络资源的配置与监控。P…...
Android Studio 日志系统详解
文章目录 一、Android 日志系统基础1. Log 类2. 日志级别 二、Android Studio 中的 Logcat1. 打开 Logcat2. Logcat 界面组成3. 常用 Logcat 命令 三、高级日志技巧1. 自定义日志工具类2. 打印方法调用栈3. 打印长日志4. JSON 和 XML 格式化输出 四、Logcat 高级功能1. 自定义日…...
【LLM】A2A 与 MCP:剖析 AI Agent 互联时代的两种关键协议
随着人工智能技术的飞速发展,AI Agent(智能体)正从理论走向实践,有望成为提升生产力的关键。然而,正如历史上任何新兴技术领域一样,标准的缺失导致了“筒仓效应”——不同来源、不同框架构建的 Agent 难以有…...
解析大尺寸液晶屏视觉检测,装配错位如何避免?
在3C电子产品种类飞速发展的今天,大尺寸液晶屏已成为市场主流,消费刚需。消费者对手机屏幕的视觉体验要求不断攀升,屏占比的提升成为各大手机厂商竞争的焦点。然而,大尺寸液晶屏在生产过程中面临着诸多检测难题,严重影…...
巴法云平台-TCP设备云-微信小程序实时接收显示数据-原理
微信小程序通过WebSocket或HTTP长轮询连接平台(而非直接使用TCP)!!! 物联网平台对协议层的一种封装设计——将底层通信协议(如TCP)与应用层业务逻辑(如主题路由)解耦&am…...
ElementNotInteractableException原因及解决办法
在自动化测试中,ElementNotInteractableException是一个常见的异常,它通常发生在尝试与网页上的某个元素进行交互(例如点击、输入等操作)时,但由于该元素当前不可交互。这可能由多种原因引起,以下是一些常见的原因及其解决方法: 元素未完全加载 如果尝试与页面上的元素交…...
信息系统项目管理师-工具名词解释(上)
本文章记录学习过程中,重要的知识点,是否为重点的依据,来源于官方教材和历年考题,持续更新共勉 本文章记录学习过程中,重要的知识点,是否为重点的依据,来源于官方教材和历年考题,持续更新共勉 数据收集 头脑风暴 在短时间内获得大量创意,适用于团队环境,需要引导者…...
CSI-external-provisioner
main() 这段Go代码是一个CSI(容器存储接口)Provisioner(供应器)的实现,用于在Kubernetes集群中动态提供持久卷。代码涉及多个组件和步骤,下面是对关键部分的解释: 初始化和配置 命令行标志和…...
OpenAI为抢跑AI,安全底线成牺牲品?
几年前,如果你问任何一个AI从业者,安全测试需要多长时间,他们可能会淡定地告诉你:“至少几个月吧,毕竟这玩意儿可能改变世界,也可能毁了它。”而现在,OpenAI用实际行动给出了一个新答案——几天…...
单片机任意普通IO引脚使用定时器扩展外部中断的巧妙方法
在嵌入式系统中,将任意一个IO端口配置为外部中断源是一种常见的需求,尤其是在硬件资源有限的情况下。通过定时器扩展外部中断的方法,可以在不依赖专用中断引脚的情况下,实现对外部信号的实时响应。以下是一种基于定时器扩展外部中…...
arcgis几何与游标(1)
本节我们对几何进行展开学习 ArcPy 的几何对象 在 ArcPy 中,几何对象是表示地理空间数据的核心。它包括点(Point)、多点(Multipoint)、线(Polyline)和面(Polygon)等类型…...
安全密码处理实践
1. 引言 在现代应用程序中,密码存储和验证的安全性 直接关系到用户数据的保护。密码泄露事件频繁发生,通常是由于不安全的存储方式 或 弱加密处理 导致的。为了提高密码的安全性,开发者需要遵循一系列安全密码处理 的最佳实践。 本篇文章将详细介绍如何在应用程序中安全地…...
can‘t set boot order in virtualbox
Boot order setting is ignored if UEFI is enabled https://forums.virtualbox.org/viewtopic.php?t99121 如果勾选EFI boot order就是灰色的 传统BIOS就是可选的 然后选中任意介质,通过右边的上下箭头调节顺序,最上面的应该是优先级最高的 然后就…...
电池分选机详细介绍
在当今这个科技飞速发展的时代,电池作为能源存储的重要载体,其性能的一致性和稳定性对于各类电子设备和电动汽车等应用至关重要。而电池分选机,作为电池生产过程中的关键环节,正扮演着越来越重要的角色。本文将带您深入了解电池分…...
深入理解浏览器的 Cookie:全面解析与实践指南
在现代 Web 开发中,Cookie 扮演着举足轻重的角色。它不仅用于管理用户会话、记录用户偏好,还在行为追踪、广告投放以及安全防护等诸多方面发挥着重要作用。随着互联网应用场景的不断丰富,Cookie 的使用和管理也日趋复杂,如何在保障…...
浙江大学DeepSeek系列专题线上公开课第二季第五期即将上线!deepseek人文艺术之美专场来啦!
浙江大学DeepSeek系列专题线上公开课第二季第五期即将重磅上线! 其中,今晚7点半,浙大AI大神陈为教授将带来硬核的deepseek公开课讲座。 讲座 主题: DeepSeek时代,让AI更懂中国文化的美与善 主讲人: 陈为 …...
5分钟学会接口自动化测试框架
今天,我们来聊聊接口自动化测试。 接口自动化测试是什么?如何开始?接口自动化测试框架如何搭建? 自动化测试 自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发…...
Flink DataStream API深度解析(Scala版):窗口计算、水位线与状态编程
在前面的文章中Flink 编程基础:Scala 版 DataStream API 入门-CSDN博客,我们已经介绍了 Flink 的 Datastream API 编程模型、窗口划分以及时间语义(处理时间、事件时间等)。本篇文章将深入讲解窗口计算的进阶内容,包括…...
【从零实现高并发内存池】内存池整体框架设计 及 thread cache实现
📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...
#MES系统中的一些相关的名词
📌MES系统 部分 术语表 缩写英文全称中文名称详细解释MESManufacturing Execution System制造执行系统用于连接计划系统与生产现场,实时管理和控制整个生产过程,覆盖物料、人员、设备、质量、指令等。ERPEnterprise Resource Planning企业资…...
《灵活的接口设计:如何支持多种后端数据存取实现》
《灵活的接口设计:如何支持多种后端数据存取实现》 一、引言:从单一适配到多样需求 在现代软件开发中,系统通常需要与不同的数据存储后端进行交互,例如关系型数据库(MySQL、PostgreSQL)、NoSQL 数据库(MongoDB、Redis)或文件存储(JSON、CSV)。为了增强系统的可扩展性…...
Spark-SQL核心编程(一)
一、Spark-SQL 基础概念 1.定义与起源:Spark SQL 是 Spark 用于结构化数据处理的模块,前身是 Shark。Shark 基于 Hive 开发,提升了 SQL-on-Hadoop 的性能,但因对 Hive 依赖过多限制了 Spark 发展,后被 SparkSQL 取代&…...