
직접 Claude를 만들어봤어 (생각보다 쉬움)
요약
Claude Agent SDK를 사용하여 Claude Code의 강력한 기능을 상속받는 AI 에이전트를 구축하는 방법을 소개합니다. 파일 읽기/쓰기, 웹 검색, 메모리 등 복잡한 기능을 단 몇 줄의 Python 또는 TypeScript 코드로 구현할 수 있습니다.
핵심 포인트
- Claude Agent SDK를 통해 Claude Code의 도구와 기능을 직접 상속 가능
- 파일 시스템, Bash, 웹 검색, MCP 서버 연결 등 강력한 도구 지원
- 메모리, 세션 관리, 권한 설정 기능이 SDK에 내장되어 있음
- 단 5줄의 Python 코드로 기본적인 AI 에이전트 구현 가능
Video: 직접 Claude를 만들어봤어. (생각보다 쉬움)
Channel: 노마드 코더 Nomad Coders
Duration: 5m 29s
Language: ko
Transcript:
Claude Code는 현재 세계에서 가장 많이 사용되는 AI 에이전트 (AI agent)입니다. 하지만 특히 코딩 작업에 최적화되어 있습니다. 전 세계의 개발자들이 자신만의 AI 에이전트를 구축하고 있습니다. 영업을 위해, 연구를 위해, 고객 지원을 위해, 그리고 그 외 모든 것을 위해서 말이죠. 아마 여러분도 직접 시도해 보셨을 것입니다. 프레임워크 (framework)를 차례차례 사용해 보았을 것이고, 심지어 자신만의 에이전트 루프 (agent loop)를 처음부터 직접 작성해 보았을 수도 있습니다. 하지만 결코 진짜처럼 느껴지지는 않았을 것입니다. 거의 아무도 지름길이 있다는 사실을 모릅니다. 만약 여러분이 원하는 어떤 에이전트든 처음부터(from zero)가 아니라 만들 수 있다면 어떨까요? Claude Code Harness가 이미 가지고 있는 모든 것을 가져와서, 그 위에 여러분만의 것을 추가하는 것입니다. 네, 가능합니다. 그것을 Claude Agent SDK라고 부릅니다. Claude Agent SDK를 사용하면, 여러분의 에이전트는 Claude Code가 이미 가지고 있는 모든 것을 상속받습니다. 파일을 읽고 쓰는 도구 (tools), bash, 웹 검색 (web search), 웹 페치 (web fetch), 할 일 목록 (to-dos), 계획 (plan) 등등 말이죠. 또한 기능들도 포함됩니다. 권한 설정 (configuring permissions), 기술 로딩 (loading skills), 하위 에이전트 생성 (spawning sub-agents), 슬래시 명령어 실행 (running slash commands), MCP 서버 연결 (connecting MCP servers), 그리고 메모리 (memory), 세션 (sessions), 압축 (compaction), 시스템 프롬프트 (system prompts)까지 말입니다. 여러분이 터미널에서 Claude Code가 수행하는 것을 보았던 모든 것을, 이제 여러분의 코드에서 Python과 TypeScript로 수행할 수 있습니다. 참고로, 이미 AI Agents Masterclass 강의를 구매하셨다면, Claude Agent SDK에 대한 무료 보너스 섹션이 이미 업로드되어 여러분을 기다리고 있습니다. 그곳에서 우리는 Claude Agent SDK를 사용하여 연구 에이전트 (research agent)를 구축하고, 이를 서버 뒤에 배치한 뒤 UI를 제공할 것입니다. 이제, 가장 단순한 에이전트는 단 다섯 줄의 Python 코드입니다. 그게 전부입니다. 다섯 줄의 Python 말이죠. query를 임포트(import)하고, 프롬프트 (prompt)와 함께 호출한 다음, 스트리밍되는 모든 메시지를 출력하면 됩니다. 실행하면 끝입니다. 그것이 여러분의 에이전트 전부입니다. 별것 아닌 것처럼 보이지만, 그것이 바로 Claude Code를 실행하는 하네스 (harness)입니다. 바로 그곳에, 다섯 줄 안에 말이죠. query 함수는 원샷 (one shot) 방식입니다. 질문하면 답하고, 끝납니다. 대화가 종료되는 것이죠. 실제 주고받는 대화를 위해서는 Claude SDK 클라이언트 (client)를 사용합니다.
클라이언트를 열고, 메시지를 보내고, 돌아오는 응답을 읽으면 됩니다. 그리고 동일한 클라이언트를 통해 이 과정을 반복할 수 있습니다. 제가 태국 음식을 가장 좋아한다고 말했습니다. 그러고 나서 제가 가장 좋아하는 음식이 무엇인지 물었더니, 제가 다시 말하지 않았음에도 태국 음식이라고 답했습니다. 이것이 우리가 앞서 이야기했던 메모리 (Memory)입니다. SDK에 내장되어 있습니다. 직접 연결할 필요가 없습니다. Cloud Code에서와 마찬가지로, 에이전트 (Agent)에는 권한 시스템 (Permissions system)이 있습니다. 도구 (Tools)를 사전 승인하거나, 거부하거나, 또는 각 요청을 자체 승인 흐름 (Approval flow)을 통해 보낼 수 있습니다. 여기에서 우리가 읽기 (Read), 웹 가져오기 (Web fetch), 웹 검색 (Web search)을 사전 승인하는 것처럼 말이죠. 그리고 그 외의 모든 것에 대해서는, SDK가 우리의 handle_tool_request 함수를 호출하며, 여기서 우리는 각 도구를 허용할지 거부할지 직접 결정합니다. 여기서는 Cloud가 bash를 사용하려고 하는지, 그리고 명령어가 우리의 m 또는 f를 포함하고 있는지 확인합니다. 두 조건이 모두 충족되면 거부합니다. 그렇지 않으면 도구가 실행되도록 합니다. 이것이 하나의 방법입니다. 만약 직접 콜백 (Callback)을 작성하고 싶지 않다면, SDK는 프리셋 (Presets)을 제공합니다. Cloud Code가 이미 가지고 있는 것과 동일한 권한 모드들입니다. 예를 들어 편집 수락 (Accept edits), 권한 우회 (Bypass permissions) 등이 있습니다. 이제 커스텀 도구 (Custom tools)를 사용할 차례입니다. 중요한 점은 이겁니다. Cloud Agent SDK는 여러분이 터미널에서 사용하는 것과 동일한 Cloud Code 바이너리 (Binary)와 통신합니다. 이는 폐쇄 소스 (Closed source) 프로그램입니다. 따라서 단순히 Python 함수를 거기에 바로 꽂아 넣을 수는 없습니다. 대신, 여러분의 도구를 작은 MCP 서버 (MCP server)로 감싸면(wrap), SDK가 그 서버에 연결됩니다. addTool 데코레이터 (Decorator)를 사용하여 도구를 정의합니다. 이름, 설명, 그리고 입력 스키마 (Input schema)를 지정합니다. 내부에는 원하는 어떤 함수든 작성하면 됩니다. 그런 다음, 이를 에이전트에 연결합니다. 도구를 MCP 서버로 감싸고, 그 서버를 에이전트 옵션 (Agent options)에 전달합니다. 그다음 도구를 사전 승인합니다. 이제 제가 Cloud에게 빌바오 (Bilbao)의 날씨를 물으면, 나의 함수를 호출합니다. 그 안에는 데이터베이스 호출 (Database call), API 요청 (API request), 혹은 여러분만의 비즈니스 로직 (Business logic) 등 무엇이든 넣을 수 있습니다. 이 모든 것들을 무료로 얻을 수 있다는 게 얼마나 멋진 일인가요? 도구 (Tools), 메모리 (Memory), 압축 (Compaction), 권한 흐름 (Permission flow)까지 말이죠. 다른 어떤 프레임워크를 사용한다면, 여러분은 이 모든 것들을 일일이 수동으로 연결해야 할 것입니다. 하지만 이 SDK는 여러분을 위해 대신 해줍니다.
또한, 원격 MCP (Model Context Protocol) 서버를 에이전트 (agent)에 연결할 수도 있습니다. 타입 (type)과 URL을 사용하여 서버를 추가하기만 하면 됩니다. 해당 서버의 도구 (tools)들을 미리 승인하면, 이제 여러분의 에이전트는 그 서버가 노출하는 어떤 도구든 호출할 수 있습니다. 그리고 한 가지 더, 시스템 프롬프트 (system prompt)가 있습니다. 이는 에이전트가 모든 대화 전에 읽게 되는 지침 (instructions)입니다. 기본적으로 여러분의 에이전트는 동일한 엔진을 사용함에도 불구하고 Claude Code처럼 생각하지는 않습니다. 여러분은 축소된 버전을 받게 되는 것입니다. 도구들은 작동하지만, Claude Code의 코딩 가이드라인, 응답 스타일, 또는 프로젝트 컨텍스트 (project context)는 전혀 포함되어 있지 않습니다. 이 모든 것을 원한다면, Cloud Code 프리셋 (preset)을 선택하면 됩니다. 이제 여러분의 에이전트는 Claude Code처럼 생각합니다. 또는 프리셋을 유지하면서 그 위에 여러분만의 규칙을 추가할 수도 있습니다. Claude Code의 기본 설정에 여러분의 규칙을 더하는 방식입니다. 아니면 전부 버리고 처음부터 직접 작성할 수도 있습니다. 거기에는 Claude Code가 전혀 들어가지 않습니다. 오직 여러분만의 지침만 존재합니다. 이것은 여러분의 에이전트가 코딩 도구처럼 느껴지지 않아야 할 때, 즉 고객 지원 에이전트, 편지함 분류 에이전트 등 코드 이외의 어떤 용도로 사용할 때 원하는 방식입니다. 이것이 바로 Cloud Code SDK입니다. 정말 멋지지 않나요? 여러분이 원하는 에이전트를 구축하면, 이 모든 것들을 무료로 얻게 됩니다. 기본적으로 여러분의 사용 사례 (use case)에 맞춘 Claude Code의 강력한 기능입니다.
보너스 챕터에서는 훨씬 더 깊이 있게 다룹니다. 서브 에이전트 (sub-agents)에 대해 배우고, 에이전트에 기술 (skills)을 추가하며, 더 저렴한 모델들과 작동하도록 만듭니다. 왜냐하면 Anthropic 모델들로만 작업한다면 파산할 수도 있기 때문입니다. 그리고 이 모든 것을 서버 뒤에 있고 UI가 있는 연구 에이전트 (research agent)로 통합합니다. 바로 이런 식입니다. 제가 에이전트에게 질문을 던지면, 에이전트는 생각하고, 추론 과정을 스트리밍하며, 서브 에이전트들을 병렬로 생성합니다. 각 서브 에이전트는 웹을 검색하고, 소스를 가져오며, 발견한 내용을 디스크에 기록하고, 메인 에이전트가 이 모든 것을 종합하여 완전한 보고서를 작성합니다. 이미 AI Agents Masterclass를 구매하셨다면, 보너스는 무료입니다. 이미 여러분을 기다리고 있습니다. 아직 참여하지 않으셨다면, 링크는 설명란에 있습니다. Crew AI, Autogen, LangGraph, OpenAI Agents SDK, Google ADK 등 모든 주요 에이전트 프레임워크를 접할 수 있습니다. 여기에 Cloud Agent SDK가 보너스로 추가됩니다.
그리고 그 이후에 따라오는 어떤 보너스든 말이죠. 여러분의 메모에 감사드립니다. 다음 영상에서 뵙겠습니다. 안녕히 계세요. 안녕히 계세요. 안녕히 계세요. 안녕히 계세요. 안녕히 계세요. 안녕히 계세요. 안녕히 계세요. 안녕히 계세요. 안녕히 계세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 YouTube 노마드 코더 (개발)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기