AI Agent 구현의 두 갈래: 일반 Tool Calling vs MCP 비교

AI 에이전트를 구축할 때, LLM이 외부 도구를 사용하게 만드는 과정은 필수적입니다. 하지만 최근 등장한 **MCP(Model Context Protocol)**와 기존의 Function/Tool Calling은 비슷해 보이면서도 구조적으로 큰 차이가 있습니다. 오늘은 이 두 방식의 특징과 실제 구현 관점에서의 차이를 상세히 비교해 보겠습니다. 1. 한눈에 보는 비교 요약 구분 일반 Tool Calling (기존 방식) MCP (Model Context Protocol) 핵심 개념 함수 정의와 실행 로직의 수동 연결 도구의 정의와 실행이 결합된 표준화된 서버 실행 주체 에이전트 애플리케이션 (Local, Tightly Coupled) 독립된 MCP 서버 (Remote/Isolated) 통신 규격 모델별 전용 API (OpenAI, Anthropic 등) JSON-RPC 2.0 표준 프로토콜 툴 목록 관리 코드에 하드코딩, 앱 재배포 필요 서버에서 동적으로 list_tools() 조회 확장성 새 툴 추가 시 앱 코드 수정 및 재배포 MCP 서버만 추가·재시작하면 즉시 연동 상호운용성 모델별 규격 변환 코드 직접 작성 필요 MCP 지원 클라이언트라면 어떤 모델이든 재사용 컨텍스트 제공 주로 ‘액션(함수 호출)‘에 집중 툴 + 리소스(파일, DB) + 프롬프트 템플릿 패키지 보안/격리 에이전트 프로세스 내에서 직접 실행 실행 로직이 서버에 캡슐화, 권한 경계 명확 2. 일반 Tool Calling: “직접 요리하기” 방식 일반적인 방식에서 에이전트는 요리사(LLM)가 준 레시피(JSON)를 보고 **직접 요리(함수 실행)**를 합니다. 실행 로직이 에이전트 코드 내부에 깊게 박혀 있는 구조(Tightly Coupled)입니다. ...

February 23, 2026 · Byung Kyu KIM

AI 에이전트(OpenClaw 등)의 LLM 인터페이스 구현 및 툴 콜링 기술 개요

OpenClaw, Claude 데스크톱 앱, 혹은 로컬 기반의 여러 AI 에이전트들은 내부적으로 LLM(대형 언어 모델)과 어떻게 소통하고, 로컬 환경의 도구(Tool)들을 사용할까요? 이 글에서는 에이전트가 LLM과 인터페이스를 맺는 기술적 구현 내용과 핵심 요소들을 살펴봅니다. 1. 지침 파일(agent.md 등) 적용 방법 AI 에이전트의 페르소나, 역할, 기본 규칙을 정의하기 위해 주로 .md 형태의 지침 파일을 사용합니다. (예: agent.md, system_prompt.txt, SOUL.md 등) 기술적 구현: 이러한 지침 파일은 LLM에 전달되는 **시스템 프롬프트(System Prompt)**로 로드됩니다. 에이전트 프로그램이 실행될 때 혹은 세션이 시작될 때 파일 시스템에서 문서를 읽어 LLM의 system 역할(role) 메시지에 주입합니다. ...

February 21, 2026 · Byung Kyu KIM

OpenClaw 용어집 및 운영 지침 가이드

OpenClaw(ClawdBot 기반)는 개인 AI 에이전트를 메시징 채널과 연결해 운영하는 게이트웨이 중심 프레임워크입니다. 이 문서는 용어를 사람 친화적으로 정리하고, 운영 시 바로 적용할 수 있는 체크리스트와 최신 변경 사항(공식 소스 기준)까지 함께 제공합니다. 개요 문서 목적: 용어 설명 + 운영 지침 통합 가이드 최신 정보 범위: 공식 문서와 공식 릴리스만 사용 최신 반영 기준: GitHub Release v2026.2.15 (게시일: 2026-02-16) docs.openclaw.ai의 공식 업데이트 문서 핵심 개념 (단순 설명) Gateway (게이트웨이) 모든 메신저(WhatsApp, Telegram, Discord 등)와 에이전트를 연결해 주는 중앙 서버/데몬. 기본 포트: 18789 (WebSocket). 한 개의 Gateway로 여러 채널과 여러 에이전트를 동시에 관리 가능. Agent (에이전트) AI 어시스턴트의 “뇌"에 해당. 개별 성격, 메모리, 행동 방식을 가짐. 각 Agent는 격리된 상태(workspace, auth, sessions)를 유지. 기본 에이전트 이름: main. Workspace (작업 폴더) Agent의 “개인 폴더"로, 기본 경로: ~/.openclaw/workspace. 주요 파일: AGENTS.md: 동작 지시, 규칙, 메모리. SOUL.md: 성격, 말투, 경계. USER.md: 사용자 정보와 호칭. TOOLS.md: 사용 가능한 도구/툴 설명. BOOTSTRAP.md: 최초 실행 설정(한 번 실행 후 삭제). memory/YYYY-MM-DD.md: 일일 메모리 로그. Agent Directory (agentDir) 에이전트의 기술 설정/인증 정보를 저장. 기본 경로: ~/.openclaw/agents/<agentId>/agent. 주요 파일: auth-profiles.json: 모델 제공자(Anthropic, OpenAI 등) 인증 정보. 에이전트별 모델 설정/구조 파일. 통신 구조 Channel (채널) 메신저 연결 단위. 예: WhatsApp, Telegram, Discord 각각 하나의 관(pipe). Account ID (accountId) 같은 채널 내 여러 계정을 구분. 예: 개인 WhatsApp, 업무용 WhatsApp. Session Key (sessionKey) 대화 스레드를 구분하는 고유 이름/주소. 예: agent:main:main (기본 1:1 대화) agent:main:telegram:group:123 (그룹 대화) Session ID (sessionId) 실제 대화 기록 파일 ID. 경로 예: ~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl. 세션 재설정 시 값이 바뀜. Binding (바인딩) 라우팅 규칙. 어떤 채널/계정/연락처에서 온 메시지를 어떤 Agent로 보낼지 결정. 가장 구체적인 규칙이 우선 적용. 세션 관리 Main Session (기본 대화) 기본 1:1 대화 세션. 예: agent:<agentId>:main. 모든 개인 대화를 한 세션으로 모아 유지할 수 있음. DM Scope (dmScope) DM(1:1) 분리 수준 설정. main: 모든 DM 공유 per-peer: 사용자별 분리 per-channel-peer: 채널+사용자별 분리 per-account-channel-peer: 계정+채널+사용자별 최대 분리 Session Reset (초기화) 새 대화를 시작할 때 sessionId를 새로 생성. 방법: 수동: openclaw new, openclaw reset 자동: 지정 시각(예: 매일 04:00), 비활성 시간 기준 자동 리셋 Compaction (압축/요약) 긴 대화를 요약해 컨텍스트 한도 초과를 방지. 핵심 맥락은 남기고 오래된 상세를 정리. Memory Flush (메모리 저장) Compaction 전에 중요한 정보를 영구 메모리로 기록. memory/YYYY-MM-DD.md에 저장. NO_REPLY 내부 메시지로 사용자 노출 없이 처리 가능. 접근 제어 / 보안 Pairing (페어링) 새 노드(장치) 연결 시 승인 절차. 로컬(127.0.0.1)은 자동 승인 옵션 가능. 승인 후 토큰 발급으로 접근 허용. DM Policy (dmPolicy) DM 허용 범위 제어. open: 누구나 가능(위험) pairing: 승인 사용자만 allowlist: 허용 목록만 Allow From (allowFrom) 허용 번호/ID 목록. 예: +15555550123 Group Policy (groupPolicy) 그룹 참여 범위 제어. open: 모든 그룹(권장하지 않음) allowlist: 허용 그룹만 denylist: 차단 목록 제외 Require Mention 그룹에서 @멘션이 있을 때만 응답. 불필요 응답/스팸 방지에 유효. Gateway Token (OPENCLAW_GATEWAY_TOKEN) Gateway 접속용 공유 비밀. WebSocket 인증에 사용. Sandbox (샌드박스) 도구 실행 격리(도커 기반). 모드: off: 비격리(전체 시스템 접근) non-main: 메인 세션만 비격리 all: 모든 세션 격리 스코프: session, agent, shared 주의 ...

February 17, 2026 · Byung Kyu KIM

[AI 엔지니어링] 에이전트의 'Skills' 환상과 56%의 실패율: 왜 우리는 다시 시스템 프롬프트로 돌아가는가?

최근 AI 개발자 커뮤니티, 특히 Vercel AI SDK와 Cursor 사용자들 사이에서 매우 흥미로운 화두가 던져졌습니다. Vercel의 소프트웨어 엔지니어 Jude Gao가 발표한 **"AGENTS.md outperforms skills in our agent evals"**라는 벤치마크 결과입니다. 많은 개발자가 프로젝트를 진행하며 직감적으로 느끼던 현상—“도구(Skills)를 쥐여주는 것보다, 그냥 문서를 통째로 읽게 시키는 게 훨씬 낫다”—가 실제 데이터로 증명되었습니다. 오늘은 이 벤치마크 데이터와 이를 둘러싼 ‘Skills vs Context vs Subagents’ 아키텍처의 변화를 심도 있게 분석해 봅니다. 1. 충격적인 데이터: 56%의 무시율 (Ignore Rate) 우리는 흔히 “LLM에게 도구(Tool/Skill/Function Calling)를 주면, 필요할 때마다 똑똑하게 꺼내 쓸 것"이라고 기대합니다. 하지만 Next.js 16 API(당시 미학습 데이터)를 대상으로 한 벤치마크 결과는 이 믿음을 배신했습니다. ...

January 30, 2026 · Byung Kyu KIM

Gemini CLI와 Antigravity에서 antigravity-awesome-skills로 Agent Skills 강화하기

서론 AI 에이전트의 능력을 한 단계 더 끌어올릴 수 있는 “Agent Skills"를 활용 이 글에서는 antigravity-awesome-skills라는 훌륭한 오픈소스 스킬셋을 Gemini CLI 및 Antigravity 환경에 설치하고, 적용하며, 테스트하는 방법과 유용한 스킬 예제 13가지를 소개합니다. 1. Antigravity Awesome Skills란 무엇인가? “Agent Skills"는 AI 에이전트에게 특정 작업을 수행하는 방법을 알려주는 작은 마크다운 파일 형식의 지침서입니다. 예를 들어, “API 문서를 작성해줘"라는 막연한 요청 대신, @api-documentation 스킬을 사용하여 정형화되고 일관된 형식의 문서를 생성하도록 지시할 수 있습니다. ...

January 25, 2026 · Byung Kyu KIM