ADK向けJavaクイックスタート¶
このガイドでは、Java向けAgent Development Kitのセットアップと実行方法について説明します。開始する前に、以下がインストールされていることを確認してください。
- 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開発Web 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 Webユーザーインターフェイスを使用して、ADKエージェントを実行できます。これらのオプションの両方で、エージェントをテストして対話できます。
コマンドラインインターフェイスで実行¶
次のMavenコマンドを使用して、コマンドラインインターフェイスAgentCliRunnerクラスでエージェントを実行します。
# キーと設定を読み込むことを忘れないでください:source .envまたはenv.bat
mvn compile exec:java -Dexec.mainClass="com.example.agent.AgentCliRunner"

Webインターフェイスで実行¶
次のMavenコマンドを使用して、ADK Webインターフェイスでエージェントを実行します。
# キーと設定を読み込むことを忘れないでください: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"
このコマンドは、エージェント用のチャットインターフェイスを備えたWebサーバーを起動します。(http://localhost:8000)でWebインターフェイスにアクセスできます。左上隅でエージェントを選択し、リクエストを入力します。

次へ:エージェントの構築¶
ADKをインストールして最初のエージェントを実行したので、ビルドガイドを使用して独自のエージェントを構築してみてください。
```