技术

GitHub 推出 Java 版 Copilot SDK,开发框架无关的自主 AI 代理

GitHub 推出了 Copilot SDK for Java 库,使服务器端 Java 应用能够创建 Copilot 代理会话、注册工具、发送提示并接收结构化响应。该库目前为预览版,支持 Jakarta EE 和 Spring 环境以及 BYOK 选项。

2026-08-10
2 分钟阅读
1,914 浏览量
certi.news Editorial Team
GitHub 推出 Java 版 Copilot SDK,开发框架无关的自主 AI 代理

GitHub 宣布推出 Copilot SDK for Java,这是一种客户端库,使服务器端 Java 应用能够通过创建代理会话、注册工具、发送提示并接收结构化响应,以编程方式驱动 Copilot 代理。GitHub 表示,该库旨在独立于 Java 框架,同时支持 BYOK 选项,因此不会绑定到单一人工智能供应商。

该库面向企业应用中的 Java 开发者,可在包括 Jakarta EE 和 Spring 在内的服务器环境中运行。它采用 Java 开发者熟悉的接口,例如 CompletableFuture、注解、lambda 和虚拟线程,而不是强制采用与特定框架绑定的方法。

可用性和要求

该库目前以 Maven 依赖的形式提供,版本为 1.0.7-preview.1。使用它需要满足以下条件:

  • JDK 17 或 JDK 25,建议使用 JDK 25,以利用虚拟线程和其他现代功能。
  • Maven 3.9 或更高版本。
  • 拥有有效 Copilot 订阅的 GitHub 账户。
  • 本地安装 Copilot CLI 1.0.71 或更高版本。

GitHub 的文章展示了一个基于 Jakarta EE 11 构建的完整示例应用,并提供了源代码供体验。该公司还确认,开发者可以使用自己选择的 Java 框架和库构建专属代理。

房地产请求管理示例应用

该示例使用了一个房地产行业潜在客户管理应用。当客户提交请求时,例如寻找伦敦一套价格低于 80 万英镑的三居室住宅,系统会在虚拟线程上为 Copilot 创建一个隔离的代理,在既定工作流中处理该请求。

该应用使用 Jakarta WebSocket 将状态更新从服务器实时发送到浏览器,从而能够在代理调用工具时跟踪其进度。它还可以同时发送多个请求,使每个请求都能在其专属的 Copilot 会话中独立处理。

工具的定义和管理

该库提供 @CopilotTool 接口,用于定义模型可以调用的工具。开发者定义普通的 Java 方法,而库负责生成 JSON 架构、解析参数并分发调用。可以使用 @CopilotToolParam 描述每个参数,以便模型了解所需的值。

该注解接口目前仍处于实验阶段,因此必须通过编译器选项 -Acopilot.experimental.allowed=true 启用实验性 SDK 接口,同时还要在 Maven 配置中将该库注册到注解处理器路径中。处理过程会在编译期间生成工具元数据。

除了注解之外,还可以使用 ToolDefinition.from(...),通过 lambda 方式直接在使用位置定义工具。这样无需专门的方法即可创建工具;此外,overridesBuiltInTool(true) 选项还提供了用自定义行为替换内置工具的方式。也可以将工具放在与代理逻辑分离的类中,然后通过 ToolDefinition.fromObject 进行注册。

消息和代理工作流

SDK 支持通过 SystemMessageMode.CUSTOMIZE 自定义系统消息,可以替换特定部分并保留消息的其余内容,包括安全防护措施。它还提供 APPEND 模式,用于向默认系统消息添加内容而不替换它。

代理的完整工作流通过 sendAndWait(...) 启动。发送提示后,模型可以进行推理并多次调用已注册的工具,然后返回最终结果;库则负责将工具结果传递回模型,直到任务完成。虚拟线程允许通过 get() 进行等待,而无需在等待结果期间占用传统线程。session.on(...) 还支持处理会话发出的事件。

新闻来源
c
作者

certi.news Editorial Team

你需要知道的

GitHub 发布了 Copilot SDK for Java,这是一个目前处于预览阶段的库,可帮助服务器端 Java 应用创建 Copilot 代理,并以编程方式管理其会话和工具。该库以 Maven 依赖的形式提供,支持 Jakarta EE 和 Spring,并支持 BYOK 选项,但需要 GitHub Copilot 订阅账户以及已安装的 Copilot CLI。

  • 当前版本为 1.0.7-preview.1,需要 JDK 17 或 JDK 25,以及 Maven 3.9 或更高版本。
  • SDK 支持为代理创建会话、发送提示、接收结构化响应,以及注册模型可以调用的工具。
  • 该库与 Java 框架无关,支持 Jakarta EE 和 Spring 环境。
  • 可以使用 @CopilotTool 等注解定义工具,也可以通过 ToolDefinition.from 和 ToolDefinition.fromObject 定义工具。
  • 要使用实验性 SDK 接口,需要在编译器设置中启用 -Acopilot.experimental.allowed=true 选项。
  • GitHub 展示了一个房地产请求管理应用示例,该应用使用隔离的代理、Java 虚拟线程,以及通过 Jakarta WebSocket 提供的实时状态更新。

常见问题

什么是 GitHub Copilot SDK for Java?

这是一个客户端库,可让服务器端 Java 应用以编程方式驱动 Copilot 代理,包括创建会话、注册工具、发送提示以及接收结构化响应。

使用该库需要哪些基本条件?

需要 JDK 17 或 JDK 25、Maven 3.9 或更高版本、有效的 GitHub Copilot 订阅账户,以及已安装 1.0.71 或更高版本的 Copilot CLI。

该库支持特定的 Java 框架吗?

该库可在服务器环境中运行,包括 Jakarta EE 和 Spring,并且其设计不依赖于任何特定的 Java 框架。

是否可以使用与单一供应商无关的人工智能提供商?

该库支持 BYOK 选项,GitHub 将其描述为允许用户不受限于单一人工智能供应商。

同一分类

你可能还喜欢

查看所有新闻