콘텐츠로 이동

ADK 에이전트용 Claude 모델

ADK에서 지원Python v0.1.0Java v0.2.0

Python과 Java 모두에서 ADK와 함께 Anthropic의 Claude 모델을 사용할 수 있습니다. 아래에서 사용하는 언어 및 백엔드에 맞는 경로를 선택하세요.

Python

Python에서 다음과 같은 방법으로 Claude 모델을 사용할 수 있습니다:

  • Agent Platform 네이티브: Claude 모델 문자열을 직접 전달하면 ADK의 레지스트리가 이를 Claude 래퍼로 라우팅합니다. 자세한 내용은 Agent Platform의 Anthropic Claude를 참조하세요.
  • LiteLLM을 통한 직접 Anthropic API: Anthropic API 키와 함께 LiteLlm 커넥터를 사용합니다. 자세한 내용은 LiteLLM을 참조하세요.

Java

Java에서는 ADK의 Claude 래퍼 클래스를 사용하여 Anthropic API 키 또는 Agent Platform 백엔드를 통해 Claude 모델을 직접 통합할 수 있습니다. Google Cloud Agent Platform 서비스를 통해서도 Claude에 액세스할 수 있습니다. 자세한 내용은 Agent Platform의 타사 모델을 참조하세요.

시작하기

다음 코드 예시는 에이전트에서 Claude 모델을 사용하기 위한 기본 구현을 보여줍니다:

public static LlmAgent createAgent() {

  AnthropicClient anthropicClient = AnthropicOkHttpClient.builder()
      .apiKey("ANTHROPIC_API_KEY")
      .build();

  Claude claudeModel = new Claude(
      "claude-sonnet-4-6", anthropicClient
  );

  return LlmAgent.builder()
      .name("claude_direct_agent")
      .model(claudeModel)
      .instruction("You are a helpful AI assistant powered by Anthropic Claude.")
      .build();
}

사전 요구사항

  • 종속성: Java ADK의 com.google.adk.models.Claude 래퍼는 Anthropic의 공식 Java SDK 클래스에 의존하며, 일반적으로 전이 종속성으로 포함됩니다. 자세한 내용은 Anthropic Java SDK를 참조하세요.
  • Anthropic API 키: Anthropic에서 API 키를 발급받고 비밀 관리자(Secret Manager)를 사용하여 안전하게 관리하세요.

구현 예시

원하는 Claude 모델 이름과 API 키로 구성된 AnthropicOkHttpClient를 제공하여 com.google.adk.models.Claude를 인스턴스화합니다. 그런 다음 아래 예시와 같이 Claude 인스턴스를 LlmAgent에 전달합니다:

import com.anthropic.client.AnthropicClient;
import com.google.adk.agents.LlmAgent;
import com.google.adk.models.Claude;
import com.anthropic.client.okhttp.AnthropicOkHttpClient; // Anthropic SDK

public class DirectAnthropicAgent {

  private static final String CLAUDE_MODEL_ID = "claude-sonnet-4-6"; // 또는 선호하는 Claude 모델

  public static LlmAgent createAgent() {

    // 보안 구성에서 중요한 키를 로드하는 것이 좋습니다
    AnthropicClient anthropicClient = AnthropicOkHttpClient.builder()
        .apiKey("ANTHROPIC_API_KEY")
        .build();

    Claude claudeModel = new Claude(
        CLAUDE_MODEL_ID,
        anthropicClient
    );

    return LlmAgent.builder()
        .name("claude_direct_agent")
        .model(claudeModel)
        .instruction("You are a helpful AI assistant powered by Anthropic Claude.")
        // ... 기타 LlmAgent 구성
        .build();
  }

  public static void main(String[] args) {
    try {
      LlmAgent agent = createAgent();
      System.out.println("Successfully created direct Anthropic agent: " + agent.name());
    } catch (IllegalStateException e) {
      System.err.println("Error creating agent: " + e.getMessage());
    }
  }
}