ADK용 Java 빠른 시작¶
이 가이드에서는 Java용 에이전트 개발 키트를 시작하고 실행하는 방법을 보여줍니다. 시작하기 전에 다음이 설치되어 있는지 확인하십시오.
- Java 17 이상
- Maven 3.9 이상
에이전트 프로젝트 만들기¶
다음 파일 및 디렉터리 구조로 에이전트 프로젝트를 만듭니다.
my_agent/
src/main/java/com/example/agent/
HelloTimeAgent.java # 기본 에이전트 코드
AgentCliRunner.java # 명령줄 인터페이스
pom.xml # 프로젝트 구성
.env # API 키 또는 프로젝트 ID
명령줄을 사용하여 이 프로젝트 구조 만들기
에이전트 코드 정의¶
getCurrentTime()이라는 ADK 함수 도구의 간단한 구현을 포함하여 기본 에이전트의 코드를 만듭니다. 프로젝트 디렉터리의 HelloTimeAgent.java 파일에 다음 코드를 추가합니다.
package com.example.agent;
import com.google.adk.agents.BaseAgent;
import com.google.adk.agents.LlmAgent;
import com.google.adk.tools.Annotations.Schema;
import com.google.adk.tools.FunctionTool;
import java.util.Map;
public class HelloTimeAgent {
public static BaseAgent ROOT_AGENT = initAgent();
private static BaseAgent initAgent() {
return LlmAgent.builder()
.name("hello-time-agent")
.description("지정된 도시의 현재 시간을 알려줍니다.")
.instruction("""
당신은 도시의 현재 시간을 알려주는 유용한 도우미입니다.
이 용도로 'getCurrentTime' 도구를 사용하십시오.
""")
.model("gemini-2.5-flash")
.tools(FunctionTool.create(HelloTimeAgent.class, "getCurrentTime"))
.build();
}
/** 모의 도구 구현 */
@Schema(description = "지정된 도시의 현재 시간을 가져옵니다.")
public static Map<String, String> getCurrentTime(
@Schema(name = "city", description = "시간을 가져올 도시 이름") String city) {
return Map.of(
"city", city,
"forecast", "시간은 오전 10시 30분입니다."
);
}
}
프로젝트 및 종속성 구성¶
ADK 에이전트 프로젝트에는 pom.xml 프로젝트 파일에 다음 종속성이 필요합니다.
<dependencies>
<dependency>
<groupId>com.google.adk</groupId>
<artifactId>adk-core</artifactId>
<version>0.3.0</version>
</dependency>
</dependencies>
다음 구성 코드를 사용하여 이 종속성 및 추가 설정을 포함하도록 pom.xml 프로젝트 파일을 업데이트합니다.
프로젝트에 대한 전체 pom.xml 구성
다음 코드는 이 프로젝트에 대한 전체 pom.xml 구성을 보여줍니다.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.agent</groupId>
<artifactId>adk-agents</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 사용할 Java 버전 지정 -->
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- ADK 핵심 종속성 -->
<dependency>
<groupId>com.google.adk</groupId>
<artifactId>google-adk</artifactId>
<version>0.3.0</version>
</dependency>
<!-- 에이전트를 디버그하기 위한 ADK 개발 웹 UI -->
<dependency>
<groupId>com.google.adk</groupId>
<artifactId>google-adk-dev</artifactId>
<version>0.3.0</version>
</dependency>
</dependencies>
</project>
API 키 설정¶
이 프로젝트는 API 키가 필요한 Gemini API를 사용합니다. 아직 Gemini API 키가 없는 경우 Google AI Studio의 API 키 페이지에서 키를 만듭니다.
터미널 창에서 API 키를 프로젝트의 .env 파일에 작성하여 환경 변수를 설정합니다.
ADK에서 다른 AI 모델 사용
ADK는 많은 생성 AI 모델의 사용을 지원합니다. ADK 에이전트에서 다른 모델을 구성하는 방법에 대한 자세한 내용은 모델 및 인증을 참조하십시오.
에이전트 명령줄 인터페이스 만들기¶
명령줄에서 HelloTimeAgent를 실행하고 상호 작용할 수 있도록 AgentCliRunner.java 클래스를 만듭니다. 이 코드는 에이전트를 실행하기 위한 RunConfig 객체와 실행 중인 에이전트와 상호 작용하기 위한 Session 객체를 만드는 방법을 보여줍니다.
package com.example.agent;
import com.google.adk.agents.RunConfig;
import com.google.adk.events.Event;
import com.google.adk.runner.InMemoryRunner;
import com.google.adk.sessions.Session;
import com.google.genai.types.Content;
import com.google.genai.types.Part;
import io.reactivex.rxjava3.core.Flowable;
import java.util.Scanner;
import static java.nio.charset.StandardCharsets.UTF_8;
public class AgentCliRunner {
public static void main(String[] args) {
RunConfig runConfig = RunConfig.builder().build();
InMemoryRunner runner = new InMemoryRunner(HelloTimeAgent.ROOT_AGENT);
Session session = runner
.sessionService()
.createSession(runner.appName(), "user1234")
.blockingGet();
try (Scanner scanner = new Scanner(System.in, UTF_8)) {
while (true) {
System.out.print("\nYou > ");
String userInput = scanner.nextLine();
if ("quit".equalsIgnoreCase(userInput)) {
break;
}
Content userMsg = Content.fromParts(Part.fromText(userInput));
Flowable<Event> events = runner.runAsync(session.userId(), session.id(), userMsg, runConfig);
System.out.print("\nAgent > ");
events.blockingForEach(event -> {
if (event.finalResponse()) {
System.out.println(event.stringifyContent());
}
});
}
}
}
}
에이전트 실행¶
정의한 대화형 명령줄 인터페이스 AgentCliRunner 클래스 또는 ADK에서 AdkWebServer 클래스를 사용하여 제공하는 ADK 웹 사용자 인터페이스를 사용하여 ADK 에이전트를 실행할 수 있습니다. 이 두 가지 옵션 모두 에이전트를 테스트하고 상호 작용할 수 있습니다.
명령줄 인터페이스로 실행¶
다음 Maven 명령을 사용하여 명령줄 인터페이스 AgentCliRunner 클래스로 에이전트를 실행합니다.
# 키 및 설정 로드: source .env 또는 env.bat
mvn compile exec:java -Dexec.mainClass="com.example.agent.AgentCliRunner"

웹 인터페이스로 실행¶
다음 Maven 명령을 사용하여 ADK 웹 인터페이스로 에이전트를 실행합니다.
# 키 및 설정 로드: source .env 또는 env.bat
mvn compile exec:java \
-Dexec.mainClass="com.google.adk.web.AdkWebServer" \
-Dexec.args="--adk.agents.source-dir=target --server.port=8000"
이 명령은 에이전트용 채팅 인터페이스가 있는 웹 서버를 시작합니다. (http://localhost:8000)에서 웹 인터페이스에 액세스할 수 있습니다. 왼쪽 상단에서 에이전트를 선택하고 요청을 입력합니다.

다음: 에이전트 빌드¶
이제 ADK를 설치하고 첫 번째 에이전트를 실행했으므로 빌드 가이드를 사용하여 자신만의 에이전트를 빌드해 보세요.
```