Google가 AI 에이전트를 위한 ADK를 출시했습니다. 저는 몇 달 전 MCP를 사용해 .NET으로 비슷한 것을 만들었습니다. 제가 배운 점은 다음과 같습니다.

발행: (2026년 5월 3일 PM 01:34 GMT+9)
12 분 소요
원문: Dev.to

Source: Dev.to

4월 30일에 구글로부터 GEAR라는 이름의, ADK(Agent Development Kit)를 사용해 AI 에이전트를 구축하는 새로운 프로그램에 관한 이메일을 받았습니다. 가입하고 소개 영상을 시청했으며, 익숙한 느낌이 들었습니다.

그 패턴은 익숙했습니다: 도구를 정의하고, 설명을 작성하고, AI 모델을 그 도구들과 연결한 뒤, 사용자가 무엇을 물어보는지에 따라 모델이 어떤 도구를 호출할지 스스로 결정하도록 하는 것이었습니다.

저는 2월에 .NET으로 바로 이와 같은 시스템을 만들었는데, ADK 대신 MCP를 사용했고 데이터베이스 대신 쿠버네티스 클러스터를 대상으로 했습니다.

ADK와 MCP가 해결하려는 문제

두 프레임워크가 다루는 문제는 동일합니다. 여러분은 AI 모델을 가지고 있으며, 그 모델이 단순히 텍스트를 생성하는 것이 아니라 실제 세상에서 일을 수행하기를 원합니다. 이를 위해 모델은 도구가 필요합니다. 도구는 모델이 호출할 수 있는 함수에 불과합니다: 웹 검색, 데이터베이스 조회, 서버 재시작, 파일 생성 등.

핵심은 모델에게 각 도구가 무엇을 하는지 충분히 명확히 알려줘서 올바른 도구를 선택하게 하는 것입니다. ADK와 MCP 모두 **설명(description)**을 사용해 이 문제를 해결합니다. 각 도구에 대한 설명을 작성하면, 모델은 그 설명을 읽고 어떤 도구를 호출할지 결정합니다.

  • ADK는 Python, Java, TypeScript, Go에서 이를 수행합니다. 이름, 모델, 지시문, 도구 목록을 가진 에이전트를 정의하면, 프레임워크가 나머지를 처리합니다.
  • MCP는 서버 프로토콜을 통해 이를 구현합니다. 이름, 설명, 입력 스키마를 가진 도구를 정의하면, Claude Desktop을 포함한 모든 MCP 호환 클라이언트가 서버에 연결해 자연어를 통해 해당 도구를 사용할 수 있습니다.

내가 만든 것

내 MCP 서버는 Claude가 자연어를 통해 Kubernetes 클러스터를 관리하도록 합니다. “idp-platform 배포를 재시작해”와 같이 입력하면 Claude가 어떤 도구를 호출해야 하는지, 어떤 매개변수를 전달해야 하는지 파악하고 실행합니다.

서버는 총 여덟 가지 도구를 제공합니다:

  1. 파드 목록 조회
  2. 파드 로그 가져오기
  3. 배포 스케일링
  4. 배포 재시작
  5. 노드 설명 조회
  6. 클러스터 이벤트 가져오기
  7. …그리고 몇 가지 추가 도구

각 도구에는 Claude에게 해당 도구가 무엇을 하는지, 언제 사용해야 하는지 등을 알려주는 상세 설명이 포함되어 있습니다.

.NET 예시 도구 정의

[McpServerTool, Description(
    "Scale a Kubernetes deployment to a specific number of replicas. " +
    "Use this when you need to increase or decrease the number of running instances. " +
    "Provide the deployment name and namespace. " +
    "Returns the updated replica count and deployment status.")]
public async Task ScaleDeployment(
    [Description("The name of the deployment to scale")] string deploymentName,
    [Description("The Kubernetes namespace")] string namespaceName,
    [Description("The desired number of replicas")] int replicas)

설명은 많은 역할을 합니다: 도구가 무엇을 하는지, 언제 사용해야 하는지, 어떤 입력이 필요한지, 그리고 어떤 결과를 반환하는지를 Claude에게 알려줍니다. 이는 ADK 도구 설명이 하는 일과 정확히 동일합니다.

두 프레임워크가 공유하는 핵심 통찰

도구 설명은 문서가 아니라 인터페이스 계층이다.

도구에 대한 설명을 작성할 때, 개발자를 위한 것이 아니라 AI 모델을 위한 것이다. 이는 설명을 작성하는 방식 전반을 바꾼다.

  • 이 도구를 언제 사용해야 하는지, 유사한 도구와 구분해서 구체적으로 명시한다.
  • 입력값이 의미하는 바를 명확히 한다.
  • 출력값에 무엇이 포함되는지 명확히 한다.

모호한 설명은 모델이 잘못된 도구를 선택하거나 잘못된 매개변수로 호출하게 만든다.

나는 이를 직접 겪으며 배웠다. 처음 만든 scale deployment 도구의 설명이 단순히 “배포를 확장한다.” 라고만 적혀 있었는데, Claude가 이를 재시작 도구와 혼동했다. 확장이 의미하는 바와 재시작을 구분해서 구체적으로 적으니 즉시 해결되었다.

차이점

항목ADKMCP
범위전체 프레임워크: 다중 에이전트 시스템, 양방향 스트리밍, 세션 관리, Google Cloud 배포, 평가, 가시성.프로토콜: 가볍고, 보다 집중된, 모델에 구애받지 않음.
클라이언트Google 중심 환경을 위해 설계됨.MCP를 사용하는 모든 AI 클라이언트(Claude Desktop, Cursor 등).
사용 사례다중 에이전트, 감사 로그, 클라우드 규모를 갖춘 기업용 프로덕션 애플리케이션.개발 단계 또는 경량 통합으로, AI 클라이언트가 서비스를 호출할 수 있는 신뢰할 수 있는 방법만 필요할 때.

제 사용 사례에서는 MCP가 올바른 선택이었습니다. 개발 중에 Claude가 로컬 Kubernetes 클러스터를 제어하도록 하고 싶었습니다. 다중 에이전트 오케스트레이션이나 관리형 클라우드 배포가 필요하지 않았고, Claude Desktop이 기본적으로 사용할 수 있는 프로토콜이 필요했습니다.

만약 다중 에이전트, 감사 로그, 클라우드 규모를 갖춘 비즈니스를 위한 프로덕션 AI 시스템을 구축한다면 ADK가 더 적합할 것입니다.

.NET 관점

ADK와 MCP 모두 기본 언어로서 공식 .NET 지원을 제공하지 않습니다.

  • ADK는 Python, Java, TypeScript, Go를 지원합니다.
  • 공식 MCP SDK는 Python과 TypeScript를 지원합니다.

커뮤니티에서 유지 관리하는 .NET MCP SDK가 잘 작동하며, 제가 사용한 것이 바로 그것입니다. .NET 개발자라면 두 프레임워크 모두에 대해 공식 도구 체계 밖에서 약간 작업하게 된다는 의미입니다.

그럼에도 불구하고, SDK만 있으면 .NET에서 MCP 서버를 구축하는 것은 간단합니다. 도구, 테스트, 배포 방식은 다른 .NET 애플리케이션과 동일합니다.

나를 감동시킨 ADK의 기능

  • 내장 Dev UI – ADK 에이전트를 로컬에서 실행하면 에이전트가 무엇을 생각하고 있는지, 어떤 도구를 호출했는지, 어떤 매개변수를 전달했는지, 그리고 어떤 결과가 돌아왔는지를 보여주는 브라우저 인터페이스가 제공됩니다. 에이전트의 추론 과정을 볼 수 있다는 점은 제가 MCP 서버 디버깅을 위해 직접 구축해야 했던 기능입니다.
  • 멀티‑에이전트 지원 – ADK는 기본 에이전트가 전문 에이전트에게 작업을 위임할 수 있는 계층 구조를 정의할 수 있게 해줍니다. 아직은 사용해보지는 않았지만 복잡한 워크플로우에 왜 중요한지 이해가 됩니다.

Source code

My MCP Kubernetes Manager는 오픈 소스입니다. 또한 AI‑생성 릴리즈‑노트 파이프라인을 포함하고 있어, 병합된 모든 PR이 자동으로 구조화된 체인지로그 항목을 생성합니다.

AI 에이전트 프레임워크 선택

Claude와 GitHub Actions 사용.

만약 AI 에이전트를 구축하는 데 관심이 있는 .NET 개발자라면, 공식 도구가 따라잡는 동안에도 MCP를 살펴볼 가치가 있습니다. 프로토콜은 견고하고, 커뮤니티 SDK도 잘 작동합니다.

새롭게 시작하고 언어 유연성이 중요하다면, ADK를 진지하게 고려해 볼 만합니다. 구글이 실제 엔지니어링을 투입한 것이 분명합니다.

어쨌든, 사고 모델은 동일합니다: 도구, 설명, 그리고 이를 읽는 AI. 어떤 프레임워크를 사용하든 이 부분은 변하지 않습니다.

0 조회
Back to Blog

관련 글

더 보기 »