기술

GitHub, 프레임워크에 종속되지 않는 AI 에이전트 개발을 위한 Java용 Copilot SDK 출시

GitHub는 Java 서버 애플리케이션이 Copilot 에이전트 세션을 생성하고, 도구를 등록하며, 프롬프트를 보내고, 구조화된 응답을 받을 수 있도록 하는 Copilot SDK for Java 라이브러리를 공개했습니다. 이 라이브러리는 현재 실험 버전으로 제공되며 Jakarta EE와 Spring 환경 및 BYOK 옵션을 지원합니다.

2026-08-10
3 분 읽기
1,914 조회수
certi.news Editorial Team
GitHub, 프레임워크에 종속되지 않는 AI 에이전트 개발을 위한 Java용 Copilot SDK 출시

GitHub는 Copilot SDK for Java를 발표했습니다. 이는 Java 서버 애플리케이션이 프로그래밍 방식으로 Copilot 에이전트를 제어할 수 있도록 하는 클라이언트 라이브러리로, 에이전트 세션을 생성하고 도구를 등록하며 프롬프트를 보내고 구조화된 응답을 받을 수 있습니다. GitHub는 이 라이브러리가 Java 프레임워크에 독립적으로 설계되었으며 BYOK 옵션도 지원하므로 특정 AI 공급업체에 종속되지 않는다고 설명합니다.

이 라이브러리는 엔터프라이즈 애플리케이션의 Java 개발자를 대상으로 하며 Jakarta EE와 Spring을 비롯한 서버 환경에서 작동합니다. 특정 프레임워크에 종속된 접근 방식을 강제하는 대신 CompletableFuture, 어노테이션, 람다, 가상 스레드 등 Java 개발자에게 익숙한 API를 사용합니다.

가용성 및 요구 사항

이 라이브러리는 현재 Maven 의존성으로 제공되며 버전은 1.0.7-preview.1입니다. 사용하려면 다음이 필요합니다.

  • JDK 17 또는 JDK 25. 가상 스레드와 기타 최신 기능을 활용하려면 JDK 25 사용이 권장됩니다.
  • Maven 3.9 이상.
  • 활성 Copilot 구독이 있는 GitHub 계정.
  • 버전 1.0.71 이상의 Copilot CLI가 로컬에 설치되어 있어야 합니다.

GitHub의 게시물은 Jakarta EE 11을 기반으로 구축된 완전한 예제 애플리케이션을 소개하며, 실험을 위한 소스 코드도 제공합니다. 또한 회사는 개발자가 원하는 Java 프레임워크와 라이브러리를 사용해 자체 에이전트를 구축할 수 있다고 강조합니다.

부동산 요청 관리 예제 애플리케이션

이 예제는 부동산 부문의 잠재 고객을 관리하는 애플리케이션을 사용합니다. 고객이 런던에서 침실 3개인 주택을 80만 파운드 미만의 가격으로 찾아 달라는 요청과 같은 요구를 보내면, 시스템은 가상 스레드에서 격리된 Copilot 에이전트를 생성해 정의된 작업 흐름에 따라 요청을 처리합니다.

이 애플리케이션은 Jakarta WebSocket을 사용해 서버에서 브라우저로 실시간 상태 업데이트를 보내므로, 도구가 호출되는 동안 에이전트의 진행 상황을 확인할 수 있습니다. 또한 여러 요청을 동시에 보낼 수 있으며, 각 요청은 자체 Copilot 세션에서 독립적으로 처리됩니다.

도구 정의 및 관리

이 라이브러리는 모델이 호출할 수 있는 도구를 정의하기 위한 @CopilotTool 인터페이스를 제공합니다. 개발자는 일반적인 Java 메서드를 정의하고, 라이브러리가 JSON 스키마 생성, 인수 분석 및 호출 배포를 처리합니다. 각 인수를 설명하기 위해 @CopilotToolParam을 사용할 수 있으며, 이를 통해 모델이 요구되는 값을 알 수 있습니다.

이 어노테이션 인터페이스는 현재 실험 단계이므로 컴파일러 옵션 -Acopilot.experimental.allowed=true를 통해 실험적 SDK 인터페이스를 활성화해야 하며, Maven 설정에서 해당 라이브러리를 어노테이션 프로세서 경로에 등록해야 합니다. 프로세서는 컴파일 과정에서 도구 메타데이터를 생성합니다.

어노테이션 외에도 ToolDefinition.from(...)을 사용한 람다 방식으로 사용 위치에서 직접 도구를 정의할 수 있습니다. 이를 통해 전용 메서드 없이 도구를 생성할 수 있으며, overridesBuiltInTool(true) 옵션을 사용하면 내장 도구를 사용자 지정 동작으로 대체할 수 있습니다. 또한 에이전트 로직과 분리된 클래스에 도구를 배치한 다음 ToolDefinition.fromObject를 통해 등록할 수도 있습니다.

메시지 및 에이전트 작업 흐름

SDK는 SystemMessageMode.CUSTOMIZE를 통해 시스템 메시지를 사용자 지정할 수 있도록 하며, 특정 섹션만 대체하고 안전장치를 포함한 나머지 메시지는 유지할 수 있습니다. 또한 기본 시스템 메시지를 대체하지 않고 콘텐츠를 추가하는 APPEND 모드도 제공합니다.

에이전트의 전체 작업 흐름은 sendAndWait(...)를 통해 시작됩니다. 프롬프트가 전송되면 모델은 추론하고 등록된 도구를 여러 차례 호출한 뒤 최종 결과를 반환할 수 있으며, 라이브러리는 작업이 완료될 때까지 도구 결과를 모델에 전달합니다. 가상 스레드를 사용하면 결과를 기다리는 동안 기존 스레드를 점유하지 않고 get()을 통해 대기할 수 있습니다. 또한 session.on(...)을 사용하면 세션에서 발생하는 이벤트를 처리할 수 있습니다.

뉴스 출처
GitHub Blog
원문 보기 ↗
c
작성자

certi.news Editorial Team

핵심 내용

GitHub는 서버의 Java 애플리케이션이 Copilot 에이전트를 프로그래밍 방식으로 생성하고 세션과 도구를 관리할 수 있도록 지원하는 Copilot SDK for Java 라이브러리를 출시했습니다. 현재 프리뷰 버전으로 제공되며 Maven 의존성으로 사용할 수 있고 Jakarta EE, Spring 및 BYOK 옵션을 지원합니다. 단, Copilot 구독이 포함된 GitHub 계정과 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 이상, 활성 Copilot 구독이 포함된 GitHub 계정, 그리고 1.0.71 이상 버전의 Copilot CLI 설치가 필요합니다.

라이브러리는 특정 Java 프레임워크를 지원하나요?

서버 환경에서 작동하며 Jakarta EE와 Spring을 포함한 다양한 환경을 지원합니다. 특정 Java 프레임워크에 종속되지 않도록 설계되었습니다.

특정 공급업체에 종속되지 않은 AI 제공업체를 사용할 수 있나요?

라이브러리는 BYOK 옵션을 지원하며, GitHub는 이를 통해 특정 AI 공급업체에 종속되지 않을 수 있다고 설명합니다.

같은 카테고리

추천 기사

모든 뉴스 보기