欢迎来到格策美文网
更新日期:2025-07-05 13:48
写作核心提示:
标题:软件建设合同撰写注意事项
正文:
在信息技术高速发展的今天,软件建设合同作为规范双方权利义务、保障项目顺利进行的重要法律文件,其撰写质量直接影响到项目的成功与否。以下是在撰写软件建设合同时应注意的几个事项:
一、明确项目背景和目标
1. 详细描述项目背景,包括项目发起方、项目需求、项目规模等; 2. 明确项目目标,包括预期成果、交付时间、质量标准等。
二、明确双方权利义务
1. 项目发起方权利: (1)对项目进度、质量、成果进行监督; (2)对项目变更进行审批; (3)对项目验收、付款等环节进行管理。 2. 项目承接方权利: (1)按照合同约定完成项目开发、测试、交付等工作; (2)对项目变更提出意见和建议; (3)在合同约定范围内,对项目进度、质量、成果进行自我管理。 3. 项目发起方义务: (1)按照合同约定支付项目款项; (2)提供项目所需资料、数据等; (3)对项目验收、付款等环节进行配合。 4. 项目承接方义务: (1)按照合同约定完成项目开发、测试、交付等工作; (2)对项目变更进行响应; (3)保证项目进度、质量、成果符合合同约定。
三、明确
模型上下文协议、Agent2Agent协议和代理通信协议对人工智能代理通信采取略有不同的方法。让我们把它们拆开。
与响应单个提示(如ChatGPT的基本问答模式)的传统人工智能模型不同,人工智能代理可以通过与工具、数据源、API甚至其他代理交互来计划、推理和执行多步骤任务。
听起来很抽象吗?那是因为它是。虽然大多数人可能同意这个定义或对代理人工智能能做什么的期望,但它是如此理论性,以至于今天可用的许多人工智能代理不会获得评级。
正如我的同事Sean Falconer最近指出的那样,人工智能代理正处于“标准化前阶段”。虽然我们可能广泛同意他们应该或可以做什么,但今天的人工智能代理缺乏互操作性,他们不仅需要做一些事情,而且要真正做重要的工作。
想想您或您的应用程序每天需要访问多少个数据系统,例如Salesforce、Wiki页面或其他CRM。如果这些系统目前没有集成或缺乏兼容的数据模型,您刚刚在日程安排中增加了更多工作(或浪费了等待的时间)。如果没有人工智能代理的标准化通信,我们只是在构建一种新型的数据孤岛。
无论行业如何变化,拥有将人工智能研究潜力转化为生产系统和业务成果的专业知识都将使你与众不同。我将分解代理生态系统中出现的三个开放协议,并解释它们如何帮助您构建有用的人工智能代理——即为复杂的现实世界问题提供可行、可持续的解决方案的代理。
人工智能代理开发的现状
在我们进入人工智能协议之前,让我们回顾一下一个实际的例子。想象一下,我们有兴趣了解更多关于商业收入的信息。我们可以使用以下提示向代理提出一个简单的问题:
给我一个关于我们云产品第三季度收入的预测。
从软件工程的角度来看,代理程序使用其人工智能模型来解释这一输入,并自主地构建一个实现预期目标的执行计划。它如何实现该目标完全取决于它可以访问的工具列表。
当我们的代理唤醒时,它将首先在其/tools目录中搜索工具。该目录将有指导文件来评估其能力范围内的内容。例如:
/tools/list/Planner/GenSQL/ExecSQL/Judge您也可以根据这张图表来查看它:
接收提示的主要代理充当控制器。控制器具有发现和管理能力,并负责与其工具和其他代理直接沟通。这在五个基本步骤中起作用:
控制器呼叫规划代理。
规划代理返回执行计划。
法官审查执行计划。
控制器利用GenSQL和ExecSQL来执行计划。
法官审查最终计划,并提供反馈,以确定计划是否需要修改和重新运行。
你可以想象,控制器和其他代理之间存在多个事件和消息。这就是我们将称之为人工智能代理通信的内容。
人工智能代理通信的萌芽协议
业内正在为标准化代理通信的正确方法而展开一场斗争。我们如何让人工智能代理更容易访问工具或数据、与其他代理沟通或处理人际互动?
今天,我们有模型上下文协议(MCP)、Agent2Agent(A2A)协议和代理通信协议(ACP)。让我们来看看这些人工智能代理通信协议是如何工作的。
模型上下文协议
由Anthropic创建的模型上下文协议(MCP)旨在标准化人工智能代理和模型如何跨任务、工具和多步骤推理管理、共享和利用上下文。它的客户端-服务器架构将人工智能应用程序视为从服务器请求信息的客户端,该服务器提供对外部资源的访问。
让我们假设所有数据都存储在Apache Kafka主题中。我们可以建立一个专用的Kafka MCP服务器,而Anthropic的人工智能模型Claude可以充当我们的MCP客户。
在GitHub上的这个示例中,由Athavan Kanapuli撰写,Akan要求Claude连接到他的Kafka经纪人,并列出其中包含的所有主题。使用MCP,Akan的客户端应用程序不需要知道如何访问Kafka经纪人。在幕后,他的客户端将请求发送到服务器,服务器负责翻译请求并运行相关的Kafka功能。
就Akan而言,没有可用的主题。然后,客户询问Akan是否想创建一个具有专用数量的分区和复制的主题。就像Akan的第一个请求一样,客户端不需要访问有关如何创建或配置Kafka主题和分区的信息。从这里开始,Akan要求代理人创建一个“国家”主题,然后描述Kafka主题。
为了做到这一点,您需要定义服务器可以做什么。在Athavan Kanapuli的Akan项目中,代码在handler.go文件中。此文件包含服务器可以处理和执行的功能列表。以下是CreateTopic示例:
// CreateTopic创建了一个新的Kafka主题//可以通过FuncArgs传递的可选参数是:// - NumPartitions:主题的分区数量// - ReplicationFactor:主题的复制系数func (k *KafkaHandler) CreateTopic(ctx context.Context, req Request) (*mcp_golang.ToolResponse, error) { 如果错误:= ctx.Err();错误!=零{ 返回零,err } 如果err:= k.Client.CreateTopic(req.Topic,req.NumPartitions,req.ReplicationFactor);err!=零{ 返回零,err } return
mcp_golang.NewToolResponse(mcp_golang.NewTextContent(fmt.Sprintf("Topic %s is created", req.Topic))), nil}
虽然这个例子使用了Apache Kafka,一种被广泛采用的开源技术,但Anthropic推广了该方法并定义了主机。主机是启动连接的大型语言模型(LLM)应用程序。如Anthropic的MCP架构图中所述,每个主机都可以有多个客户端:
数据库的MCP服务器将通过类似的处理程序公开所有数据库功能。但是,如果您想变得更加复杂,您可以定义专用于您服务的现有提示模板。
例如,在医疗保健数据库中,您可以为患者健康数据提供专用功能。这简化了体验,并提供了及时的护栏,以保护敏感和私密的患者信息,同时确保准确的结果。还有很多东西需要学习,你可以在这里更深入地了解 MCP。
Agent2Agent协议
由谷歌发明的Agent2Agent(A2A)协议允许人工智能代理直接相互通信、协作和协调,以解决复杂的任务,而无需框架或供应商锁定。A2A与谷歌的代理开发工具包(ADK)有关,但却是一个独特的组件,而不是ADK软件包的一部分。
A2A导致代理应用程序之间的通信不透明。这意味着交互代理不必公开或协调他们的内部架构或逻辑来交换信息。这让不同的团队和组织可以自由地构建和连接代理,而无需增加新的限制。
在实践中,A2A要求在身份文件中用被称为代理卡的元数据来描述代理。A2A客户端将请求作为结构化消息发送到A2A服务器以供使用,并针对长期运行的任务进行实时更新。您可以在谷歌的A2A GitHub repo中探索核心概念。
A2A的一个有用例子是这个医疗保健用例,其中提供商的代理使用A2A协议与不同地区的另一个提供商进行通信。代理必须确保数据加密、授权(OAuth/JWT)以及使用Kafka进行结构化健康数据的异步传输。
再次,如果您想了解更多,请查看A2A GitHub repo。
代理通信协议
由IBM发明的代理通信协议(ACP)是一种用于人工智能代理、应用程序和人类之间通信的开放协议。根据IBM的说法:
在ACP中,代理是一种通过多模态消息进行通信的软件服务,主要由自然语言驱动。该协议与代理内部功能无关,只指定了平稳互操作性所需的最低假设。
如果你看一下ACP GitHub repo中定义的核心概念,你会发现ACP和A2A是相似的。两者都是为了消除代理供应商锁定,加快开发速度,并使用元数据来轻松发现社区构建的代理,无论实施细节如何。有一个关键的区别:ACP通过利用IBM的BeeAI开源框架为代理实现通信,而A2A则帮助来自不同框架的代理进行通信。
让我们更深入地看看BeeAI框架,以了解其依赖性。截至目前,BeeAI项目有三个核心组成部分:
BeeAI平台——发现、运行和编写人工智能代理;
BeeAI框架——用于在Python或TypeScript中构建代理;
代理通信协议——用于代理对代理通信。
代理人工智能的下一步是什么?
在高层次上,这些通信协议中的每一个都解决了构建自主人工智能代理的略有不同的挑战:
来自Anthropic的MCP将代理与工具和数据联系起来。
谷歌的A2A标准化了代理对代理的协作。
来自IBM的ACP专注于BeeAI代理协作。
如果您有兴趣观看MCP的操作,请查看这个关于用自然语言查询Kafka主题的演示。谷歌和IBM最近才发布了代理通信协议,以应对Anthropic成功的MCP项目。我渴望与您一起继续这段学习之旅,看看他们的采用和进化如何进展。
随着代理人工智能世界的不断扩大,我建议您优先考虑学习和采用协议、工具和方法,以节省您的时间和精力。您的人工智能代理越具有适应性和可持续性,您就越能专注于完善它们,以解决具有现实世界影响的问题。
作者:Adi Polak是Confluent的宣传和开发人员体验工程总监。
本站部分资源搜集整理于互联网或者网友提供,仅供学习与交流使用,如果不小心侵犯到你的权益,请及时联系我们删除该资源。