Coinbase, AI 에이전트를 위한 블록체인 통합 프레임워크 AgentKit 공개 (Python & TypeScript)

Coinbase AgentKit 소개

AgentKit은 Coinbase가 개발한 오픈소스 프레임워크로, AI 에이전트(AI Agents)가 블록체인 온체인(On-chain) 작업을 자율적으로 수행할 수 있도록 돕는 툴킷입니다. 기존의 대규모 언어 모델(LLM)이 텍스트 생성이나 정보 분석에 그쳤다면, AgentKit은 AI 에이전트에게 지갑(Wallet)을 부여하여 실제로 자산 전송, 토큰 스왑, NFT 발행, 스마트 컨트랙트 배포와 같은 경제적 활동을 수행할 수 있게 합니다.

최근 AI 기술의 트렌드는 단순히 질문에 답하는 챗봇을 넘어, 복잡한 워크플로우를 스스로 해결하는 에이전틱 AI(Agentic AI)로 진화하고 있습니다. 그러나 AI가 블록체인과 상호작용하기 위해서는 복잡한 개인키 관리, 트랜잭션 서명, 가스비 처리 등의 기술적 장벽이 존재했습니다. AgentKit은 이러한 복잡성을 추상화하여, 개발자가 몇 줄의 코드만으로 AI 에이전트에게 안전한 암호화폐 지갑과 수행 가능한 작업(Action) 목록을 부여할 수 있도록 설계되었습니다.

AgentKit 프레임워크는 Coinbase Developer Platform (CDP)를 기반으로 구축되었으며, 특정 AI 모델이나 프레임워크에 종속되지 않는 '모델 불가지론적(Model-agnostic)' 설계를 따릅니다. 즉, OpenAI, Claude, Llama 등 어떤 LLM과도 연동이 가능하며, LangChain, LangGraph, CrewAI, Vercel AI SDK 등 다양한 에이전트 프레임워크와 쉽게 통합됩니다. Coinbase는 이를 통해 "모든 AI 에이전트가 지갑을 갖는 미래"를 목표로 하고 있습니다.

Coinbase의 AgentKit vs. 기존 Blockchain SDK 비교

Coinbase가 공개한 AgentKit은 기존의 블록체인 개발 방식(Web3.js, Ethers.js 등)과 접근 방식에서 차이가 있습니다:

기존의 블록체인 SDK들은 인간 중심(Human-Centric)으로 설계되어, 개발자가 트랜잭션의 모든 매개변수를 코드로 엄격하게 정의해야 하며, 사용자가 직접 서명하는 방식이 주를 이룹니다. 유연성이 낮아 AI가 자율적으로 판단하여 실행하기에는 로직 구현이 매우 복잡합니다.

이에 비해 AgentKit은 에이전트 중심(Agent-Centric)으로 설계되어 있습니다. 즉, AI 에이전트가 "내 지갑의 ETH 절반을 USDC로 바꿔줘"와 같은 자연어 명령을 이해하고 실행할 수 있도록 설계되었습니다. 또한 AgentKit은 도구(Tool) 형태로 기능을 제공하여, LLM이 상황에 맞춰 적절한 도구를 선택(Function Calling)하고 파라미터를 채워 실행하는 구조를 가집니다. 또한, MPC(다자간 연산, Multi-Party Computation) 지갑 등을 통해 AI가 안전하게 자산을 관리할 수 있는 인프라를 제공합니다.

AgentKit의 주요 기능

AgentKit은 크게 에이전트 키트 코어(AgentKit Core), 지갑 제공자(Wallet Providers), 액션 제공자(Action Providers), 그리고 프레임워크 확장(Framework Extensions) 으로 구성됩니다.

포괄적인 온체인 작업 (Action Providers)

AI 에이전트는 제공된 'Action Provider'를 통해 다음과 같은 다양한 블록체인 작업을 수행할 수 있습니다:

  • 자산 관리: ERC-20 토큰 잔액 조회, 전송, 에어드랍 요청(Faucet).

  • 거래 및 스왑: CDP의 유동성을 활용한 토큰 스왑(Trade/Swap).

  • 발행 및 배포: 새로운 ERC-20 토큰 배포, NFT(ERC-721) 발행 및 배포.

  • DeFi 통합: Pyth 네트워크를 통한 실시간 가격 데이터 조회, Morpho/Compound 등의 DeFi 프로토콜 상호작용.

  • 유틸리티: Basename(베이스 네임 서비스) 등록, 스마트 컨트랙트 직접 호출.

안전한 지갑 관리 (Wallet Providers)

AI에게 자산을 맡기는 만큼 보안이 핵심입니다. AgentKit은 다양한 지갑 방식을 지원합니다:

  • CDP Server Wallet (권장): Coinbase 개발자 플랫폼(CDP, Coinbase Developer Platform)에서 관리하는 서버 사이드 지갑으로, API 키를 통해 제어되며 MPC(다자간 연산, Multi-Party Computation) 기술을 활용해 보안성을 높일 수 있습니다.

  • EVM Wallet: 기존의 이더리움 개인키(Private Key)나 니모닉을 사용하여 지갑을 구성합니다. (Viem 또는 EthAccount 기반)

  • Privy Server Wallet: Privy의 임베디드 지갑 인프라를 통해 EVM 및 Solana 지갑을 생성하고 관리할 수 있습니다.

  • Solana Keypair Wallet: 솔라나(Solana) 네트워크 상의 키페어(Keypair)를 직접 사용하여 트랜잭션을 처리합니다.

  • Wallet Agnostic: 그 외 특정 지갑 솔루션에 얽매이지 않도록 인터페이스가 추상화되어 있어, 향후 다양한 지갑 공급자를 추가할 수 있는 구조입니다.

주요 AI 프레임워크 통합 (Framework Extensions)

AgentKit은 모델 불가지론적(Model-agnostic)이므로 대부분의 LLM과 연동 가능합니다. 또한, 개발자가 처음부터 모든 연동 코드를 짤 필요 없이 다음의 AI 프레임워크에 대한 전용 확장 패키지(Extensions)를 제공하여 통합을 단순화합니다:

  • LangChain: 가장 널리 쓰이는 LLM 프레임워크로, AgentKit의 액션을 LangChain Tool로 즉시 변환하여 ReAct 에이전트 등에서 사용할 수 있습니다. (Python/TypeScript 모두 지원)

  • LangGraph: 상태 관리(Stateful)가 필요한 복잡한 멀티 에이전트 시스템 구축에 최적화되어 있습니다.

  • Vercel AI SDK: Next.js 등 웹 애플리케이션 환경에서 AI 에이전트를 쉽게 통합할 수 있도록 지원합니다.

  • Eliza 최근 주목받는 경량화된 AI 에이전트 프레임워크로, 커뮤니티 주도로 통합이 이루어지고 있습니다.

지원하는 블록체인 네트워크 (Networks)

지갑 제공자(Wallet Provider)에 따라 지원 네트워크가 달라지지만, 기본적으로 EVM(이더리움 가상머신) 호환 체인을 광범위하게 지원하며, 최근 Solana 지원도 추가되었습니다:

  • Base (Mainnet & Sepolia): AgentKit이 가장 최적화된 네트워크입니다. CDP Wallet 사용 시 가스비 지원(Gasless) 및 빠른 트랜잭션 처리가 가능합니다.

  • Ethereum (Mainnet & Testnets): 표준 이더리움 네트워크를 지원합니다.

  • Arbitrum, Polygon, Optimism: 주요 이더리움 레이어 2(L2) 네트워크들을 지원합니다.

  • Solana: CDP Wallet v2 및 Privy 등을 통해 솔라나 네트워크 상의 트랜잭션 및 토큰 전송을 지원합니다.

지원 기능 및 프로토콜 (Protocols & Action Providers)

AgentKit은 'Action Provider'라는 플러그인 형태의 패키지를 통해 외부 프로토콜과 상호작용합니다.

DeFi (탈중앙화 금융)

  • Pyth Network: 실시간 가격 오라클 데이터를 온체인에서 조회합니다.
  • Morpho: Morpho Vault에 자산을 예치하거나 출금하여 이자를 얻습니다.
  • Compound: 자산을 담보로 공급(Supply)하거나 대출(Borrow)하고, 상환(Repay)하는 기능을 수행합니다.
  • Superfluid: 토큰 스트리밍(실시간 전송)을 생성, 수정, 삭제합니다.
  • Swap (Uniswap/CDP): CDP의 Swap API를 통해 DEX(탈중앙화 거래소) 유동성을 활용하여 토큰을 즉시 교환합니다.

Core & Utilities (핵심 및 유틸리티)

  • ERC-20 / ERC-721: 토큰 잔액 조회, 전송, NFT 발행(Minting) 등의 표준 작업을 수행합니다.
  • Basename: Base 네트워크의 네임 서비스(BNS)를 등록하여 읽기 쉬운 주소를 확보합니다.
  • CDP API: 테스트넷용 토큰 수도꼭지(Faucet) 요청, 가스비 대납 등을 처리합니다.
  • Nillion: 프라이버시가 보장되는 분산형 저장소(SecretVault)에 데이터를 업로드하거나 스키마를 생성합니다.
  • Hyperbolic: AI 연산을 위한 GPU 자원을 대여하거나 상태를 확인합니다.
  • SSH / System: 원격 서버에 SSH로 접속하여 쉘 명령을 실행하거나 파일을 관리합니다.

Social (소셜 - LangChain 확장 등)

  • Twitter (X): 트윗 게시, 답글 작성 등 소셜 미디어 상호작용을 수행합니다.
  • Farcaster: 탈중앙화 소셜 네트워크인 Farcaster에 캐스트(Cast)를 게시합니다.

AgentKit Python SDK 설치 및 사용 예시

AgentKit Python SDK 설치 및 이를 사용하여 LangChain 기반의 에이전트를 구축하는 기본적인 흐름은 다음과 같습니다.

먼저 pip를 사용하여 AgentKit 및 LangChain을 설치합니다:

pip install coinbase-agentkit langchain langchain-openai


다음은 개념적 구조를 설명하기 위한 Python 예시 코드입니다:

from coinbase_agentkit import AgentKit, CdpWalletProvider
from coinbase_agentkit_langchain import get_langchain_tools
from langchain_openai import ChatOpenAI

# 1. 지갑 제공자 설정 (CDP API 키 필요)
wallet_provider = CdpWalletProvider.configure_with_wallet(
    api_key_name="YOUR_KEY_NAME",
    api_key_private_key="YOUR_PRIVATE_KEY"
)

# 2. AgentKit 초기화 (지갑 + 수행할 작업 정의)
agentkit = AgentKit(
    wallet_provider=wallet_provider,
    # 필요한 액션만 선택적으로 로드 가능 (예: 지갑 기능, ERC20 기능 등)
    action_providers=[...] 
)

# 3. LangChain 도구로 변환
tools = get_langchain_tools(agentkit)

# 4. AI 모델과 결합하여 에이전트 실행
llm = ChatOpenAI(model="gpt-4o")
# ... 이후 LangChain의 create_react_agent 등을 통해 에이전트 생성

AgentKit TypeScript (Node.js) SDK 설치 및 사용 예시

TypeScript 환경에서도 AgentKit을 사용하여 LangChain 기반의 에이전트를 구축할 수 있습니다. TypeScript SDK는 Python SDK와 유사한 구조를 갖지만, 비동기 처리(async/await)와 패키지 네이밍(@coinbase/...) 부분에서 차이가 있습니다.

먼저 npm을 사용하여 AgentKit 관련 패키지와 LangChain을 설치합니다:

npm install @coinbase/agentkit @coinbase/agentkit-langchain @langchain/openai langchain


다음은 기본적인 설정 및 초기화 흐름을 보여주는 TypeScript 예시 코드입니다:

import { AgentKit, CdpWalletProvider } from "@coinbase/agentkit";
import { getLangChainTools } from "@coinbase/agentkit-langchain";
import { ChatOpenAI } from "@langchain/openai";

// 비동기 함수 내에서 실행 (Main 함수 예시)
async function main() {
  // 1. 지갑 제공자 설정 (환경 변수 또는 직접 입력)
  const walletProvider = await CdpWalletProvider.configureWithWallet({
    apiKeyName: process.env.CDP_API_KEY_NAME,
    apiKeyPrivateKey: process.env.CDP_API_KEY_PRIVATE_KEY,
  });

  // 2. AgentKit 초기화 (지갑 + 수행할 작업 정의)
  const agentKit = await AgentKit.from({
    walletProvider,
    // 필요한 액션 제공자(Action Provider)를 배열로 전달
    // 예: actionProviders: [wethActionProvider(), pythActionProvider(), ...],
    actionProviders: [], 
  });

  // 3. LangChain 도구로 변환
  const tools = await getLangChainTools(agentKit);

  // 4. AI 모델과 결합하여 에이전트 실행
  const llm = new ChatOpenAI({ model: "gpt-4o" });
  
  // ... 이후 createReactAgent 등을 사용하여 에이전트 생성 및 실행
}

main().catch(console.error);

라이선스

Coinbase의 AgentKit 프로젝트는 Apache-2.0 License로 공개 및 배포 되고 있습니다. 상업적 사용 및 수정이 자유로운 편입니다.

:books: Coinbase Developer Platform(CDP)의 AgentKit 관련 문서

:github: Coinbase AgentKit 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요