OpenClaw — 오픈소스 AI 에이전트 만들기
이 토픽을 마치면
AI 에이전트가 단순 챗봇과 어떻게 다른지, 오픈소스 프레임워크로 직접 만들 때 어떤 구성요소가 필요한지 이해하게 됩니다.
챗봇과 에이전트의 차이
챗봇은 질문에 답합니다. "서울 날씨 알려줘"라고 하면 답변을 생성합니다. 대화가 끝나면 아무것도 하지 않습니다.
에이전트는 목표를 달성하기 위해 스스로 행동합니다. "내일 비 오면 미팅 취소하고 참석자들에게 알려줘"라고 하면:
- 날씨 API를 확인합니다
- 비가 온다면 캘린더에서 미팅을 취소합니다
- 참석자 목록을 가져옵니다
- 각 참석자에게 이메일을 보냅니다
여러 도구를 사용하고, 중간 결과를 보고 다음 행동을 결정하고, 목표가 달성될 때까지 스스로 반복합니다.
에이전트의 세 가지 구성요소
오픈소스 에이전트 프레임워크들은 구조가 비슷합니다:
두뇌 (LLM) — GPT-4, Claude, LLaMA 같은 대규모 언어 모델이 판단을 합니다. "지금 뭘 해야 하지?"를 결정합니다.
도구 (Tools) — 에이전트가 실제로 할 수 있는 행동들입니다. 파일 읽기, 웹 검색, API 호출, 코드 실행 등. 도구가 없으면 에이전트는 말만 할 수 있고 행동은 못 합니다.
기억 (Memory) — 이전에 무엇을 했는지 기억합니다. "파일 A를 이미 읽었으니 다시 읽을 필요 없다", "첫 번째 시도가 실패했으니 다른 방법을 쓰자" 같은 판단을 가능하게 합니다.
[사용자 목표]
↓
[LLM: 다음 행동 결정] ← [Memory: 이전 행동 기록]
↓
[Tool 실행: 검색/파일/API...]
↓
[결과 관찰]
↓
[목표 달성?] → 아니오 → [LLM으로 돌아가기]
→ 예 → [완료]이 루프가 에이전트의 핵심입니다. 관찰 → 판단 → 행동 → 관찰 을 반복합니다.
대표적인 오픈소스 프레임워크
LangChain — 가장 먼저 인기를 얻은 프레임워크입니다. LLM과 도구를 연결하는 "체인(Chain)"을 만듭니다. 생태계가 크고 예제가 많습니다. 다만 추상화가 과하다는 비판도 있습니다.
CrewAI — 여러 에이전트가 팀처럼 협업합니다. "리서처 에이전트"가 정보를 수집하면 "작성 에이전트"가 보고서를 씁니다. 역할 분담이 자연스럽습니다.
AutoGen — Microsoft가 만들었습니다. 에이전트 간 대화를 통해 문제를 해결합니다. 코드를 생성하고 실행하고 디버깅하는 과정을 자동화합니다.
Claude Agent SDK — Anthropic의 공식 SDK. Claude 모델 기반으로 에이전트를 구축합니다.
어떤 프레임워크를 쓰든 위의 세 가지 구성요소(LLM + 도구 + 기억)는 동일합니다.
직접 만들 때 부딪히는 현실
프레임워크를 설치하고 데모를 돌리면 인상적입니다. 하지만 실제 프로덕션에 올리면 문제가 드러납니다:
비용 — 에이전트가 한 번 행동할 때마다 LLM API를 호출합니다. 복잡한 작업은 수십 번 호출합니다. 사용자 한 명의 요청에 API 비용이 수 달러 나올 수 있습니다.
신뢰성 — LLM이 도구를 잘못 선택하거나, 파라미터를 틀리게 넘기거나, 같은 행동을 무한 반복하는 경우가 있습니다. 에러 처리와 재시도 로직이 복잡해집니다.
안전성 — 에이전트가 "삭제" 버튼을 누르면 진짜 삭제됩니다. 사람이 확인하는 단계(Human-in-the-loop)를 어디에 넣을지 설계해야 합니다.
그래서 프레임워크를 쓰더라도 어떤 도구를 줄 것인지, 실패하면 어떻게 할 것인지, 비용 상한을 어떻게 잡을 것인지를 직접 설계해야 합니다. 프레임워크는 골조를 제공하고, 설계는 개발자의 몫입니다.
핵심
AI 에이전트는 **LLM(판단) + 도구(행동) + 기억(맥락)**으로 구성됩니다. "관찰 → 판단 → 행동" 루프를 반복하며 목표를 달성합니다. 오픈소스 프레임워크가 골조를 제공하지만, 비용/신뢰성/안전성 설계는 개발자의 몫입니다.