【MCP】MCP 协议 (2025-06-18)之认证
引言
目的和范围
模型上下文协议在传输级别提供授权功能,使MCP客户端能够代表资源所有者向受限制的MCP服务器发出请求。本规范定义了基于HTTP的传输的授权流。
协议要求
授权对于MCP实施是可选的。支持时:
- 使用基于HTTP的传输的实现应该符合此规范。
- 使用STDIO传输的实现不应遵循此规范,而应从环境中检索凭据。
- 使用替代传输的实现必须遵循其协议的既定安全最佳实践。
标准符合性
这种授权机制基于下面列出的既定规范,但实现了其功能的选定子集,以确保安全性和互操作性,同时保持简单性:
【智能体开发】用Spring AI构建有效代理(上)
在最近的一篇研究出版物《构建有效的代理》中,Anthropic分享了关于构建有效的大型语言模型(LLM)代理的宝贵见解。这项研究特别有趣的是,它强调简单性和可组合性,而不是复杂的框架。让我们探讨一下这些原则是如何使用Spring AI转化为实际实现的。

代理系统
虽然模式描述和图表来源于Anthropic的原始出版物,但我们将重点介绍如何使用Spring AI的模型可移植性和结构化输出功能来实现这些模式。我们建议先阅读原始论文。
代理模式项目实现了下面讨论的模式。
代理系统
该研究出版物对两种类型的代理系统进行了重要的架构区分:
【企业AI智能体】用Java和Spring构建企业AI代理
【AI平台】coze-loop架构
Coze loop采用微服务架构,基于领域驱动设计(DDD)原则构建,为AI应用程序开发和运营提供一站式平台。总体架构如下:

该结构可分为三个部分:
【AI 平台】谷歌Vertex AI 代理生成器概述
Vertex AI Agent Builder是一套用于构建和部署AI代理的功能。它由以下组件组成:
Agent Garden
是一个库,您可以在其中查找和探索旨在加速开发的示例代理和工具。
前往Agent Garden
预览:对Agent Garden的支持正在预览中。
Agent Development Kit(ADK)
是一个开源框架,它简化了构建复杂多代理系统的过程,同时保持了对代理行为的精确控制。
预览:对ADK的支持正在预览中。
Vertex AI Agent Engine
是一组服务,使开发人员能够在生产中部署、管理和扩展AI代理。Vertex AI Agent Engine提供全面管理的运行时、评估、会话和内存库等服务。
代理工具是您可以装备ADK代理使用的工具,包括:
【提示工程】谷歌设计多模态提示
Vertex AI中的Gemini API允许您发送包括文本、图像和视频在内的多模式输入,作为Gemini模型提示的一部分。本页提供了设计多模式提示的最佳实践,以及在提示未按预期工作时如何进行故障排除。有关快速设计的一般指导,请参阅我们推荐的快速设计策略,或参阅以下多式联运特定最佳实践列表。
快速设计基础
使用具体说明
清晰详细的提示可提供最佳结果。如果您心中有一个特定的输出,请在提示中包含该要求,以增加获得正确输出的可能性。
即使写提示的人似乎很清楚提示,提示也可能没有明确说明。要自定义模型行为,请考虑如何解释您的提示,并确保您给出的说明具体明了。
如果你在提示中包含了下面机场板的图像,要求模型只“描述这张图像”就可以生成一个总体描述。如果您需要模型从图像中解析时间和城市,请将该请求直接包含在提示中。
【提示策略】谷歌提示策略概述
虽然设计提示没有对错之分,但您可以使用一些常见的策略来影响模型的响应。严格的测试和评估对于优化模型性能仍然至关重要。
大型语言模型(LLM)在大量文本数据上进行训练,以学习语言单元之间的模式和关系。当给出一些文本(提示)时,语言模型可以预测接下来可能会发生什么,就像一个复杂的自动补全工具。因此,在设计提示时,要考虑可能影响模型预测结果的不同因素。
提示的工程工作流程
快速工程是一个测试驱动的迭代过程,可以提高模型性能。在创建提示时,重要的是要明确界定每个提示的目标和预期结果,并对其进行系统测试,以确定需要改进的领域。
下图显示了提示工程工作流程:

提示工程工作流程图
如何创建有效的提示
提示的两个方面最终会影响其有效性:内容和结构。
【提示工程】谷歌设计聊天提示
多回合聊天是指模型跟踪聊天对话的历史记录,然后将该历史记录用作响应的上下文。本页向您展示了如何使用能够进行多回合聊天的模型来为聊天机器人或数字助理供电。
聊天机器人用例
以下是聊天机器人的常见用例:
- 客户服务:回答客户问题,排除故障,并提供信息。
- 销售和营销:产生潜在客户,确定潜在客户资格,并回答问题。
- 生产力:安排约会、创建任务和查找信息。
- 教育和培训:根据学生的水平,回答问题并给予反馈。
- 研究:收集数据、进行调查和分析数据。
聊天提示组件
您可以在聊天提示中添加以下类型的内容:
- 消息(必填)
- 上下文(推荐)
- 示例(可选)
消息(必填)
消息包含作者消息和聊天机器人响应。聊天会话包括多条消息。聊天生成模型响应聊天会话中的最新作者消息。聊天会话历史记录包括最新消息之前的所有消息。
令牌限制决定了聊天生成模型保留多少条消息作为对话上下文。当历史记录中的消息数量接近令牌限制时,将删除最旧的消息并添加新消息。
以下是一条示例消息:
【图像提示工程】谷歌提示和图像属性指南
要在Vertex AI上使用Imagen,您必须提供要生成或编辑的内容的文本描述。这些描述称为提示,这些提示是您在Vertex AI上与Generative AI沟通的主要方式。
本指南向您展示了修改文本到图像提示的部分内容如何产生不同的结果,并为您提供了可以创建的图像示例。本指南还提供了如何使用文本提示和迭代编辑图像的指导。
产品使用
要查看与Vertex AI上的Imagen相关的使用标准和内容限制,请参阅使用指南。
内容过滤-输入文本、上传的图像和生成的图像
生成的图像会被过滤掉不需要或有害的内容。同样,Vertex AI上的Imagen接收到的任何输入都会被检查是否有冒犯性内容。这包括图像编辑时的输入文本提示和上传的照片。有关更多信息,请参阅Imagen的负责任人工智能和使用指南。
您还可以使用Google Cloud上的报告可疑滥用表单,报告Vertex AI上Imagen的可疑滥用行为或任何包含不适当材料或不准确信息的生成输出。
快速写作基础(主题、上下文和风格)
虽然没有一种方法可以写出好的提示,但添加一些关键字和修饰语将帮助你更接近最终目标。提示不需要很长或很复杂,但大多数好的提示都是描述性和清晰的。
【提示工程】提高快速工程能力的技巧
随着人工智能工具的日益普及,快速工程正成为开发人员需要掌握的技能。大型语言模型(LLM)和其他生成基础模型需要上下文、特定和定制的自然语言指令来生成所需的输出。这意味着开发人员需要编写清晰、简洁和信息丰富的提示。
在本博客中,我们将探讨六种最佳实践,这些实践将使您成为一名更高效的快速工程师。通过遵循我们的建议,您可以开始创建更个性化、更准确、更符合上下文的应用程序。那么,让我们开始吧!
提示#1:了解模型的优缺点
随着人工智能模型的发展和变得越来越复杂,开发人员必须了解它们的能力和局限性。作为一名开发人员,了解这些优缺点可以帮助您避免犯错,并创建更安全、更可靠的应用程序。
例如,经过训练以识别蓝莓图像的AI模型可能无法识别草莓图像。为什么?因为该模型仅在蓝莓图像的数据集上训练。如果开发人员使用此模型构建一个应该同时识别蓝莓和草莓的应用程序,该应用程序可能会出错,导致无效的结果和糟糕的用户体验。