본문 바로가기
AI-AGENT-MCP

OpenClaw 해부 강좌 - 리버스엔지니어링으로 배우는 개발경험쌓기 1부

by hotnewton 2026. 2. 21.

OpenClaw(Moltbot) 해부학 - 개발 경험을 쌓을 절호의 기회 !!

작성자: Sam LEE (여러분의 개발 코치)

 

이 책은 아래와 같은 기본 철학으로 집필 하였습니다.

 

"이해되지 않는 기술은 기술이 아니다."

 

이 책은 모든 코드를 우리 삶과 가장 가까운 이야기들에 빗대어 설명합니다.
학교의 교실, 회사의 조직도, 출퇴근길의 도로처럼 익숙한 장면을 통해 기술적 개념을 풀어낼 것입니다.

낯설게 느껴지는 용어와 구조 앞에서 멈추지 않도록, 이 책은 여러분의 일상에서 이미 경험하고 있는 원리를 꺼내어 설명 합니다.

 

특히 친숙한 은유(Metaphor)법을 통해 복잡한 개념을 자연스럽게 연결해 나갈 예정입니다.

코드는 차가운 기계의 언어가 아니라, 우리가 살아가는 방식과 닮아 있는 또 하나의 질서입니다.

 

이제 그 연결고리를 함께 발견해 보겠습니다.

4단계 분석법

이 책의 모든 설명은 하나의 일관된 흐름을 따릅니다.


독자가 길을 잃지 않도록, 그리고 복잡한 개념 앞에서도 체계적으로 사고할 수 있도록 저는 4단계 분석(4-Step Analysis) 구조를 기반으로 이야기를 전개합니다.

 

각 장에서 우리는 먼저

문제의 배경을 이해하고, 그 다음 구조를 살펴보며,
이어 핵심 원리를 파악하고, 마지막으로 실제 적용과 확장까지 연결합니다.

 

이 네 단계는 단순한 설명 방식이 아니라,
기술을 이해하고 스스로 사고하는 힘을 기르는 하나의 훈련 과정입니다.


이 책을 따라가다 보면, 어느 순간 여러분 역시 새로운 개념을 만나더라도 같은 4단계로 스스로 분석하고 정리할 수 있게 될 것입니다.

 

이제 그 첫 번째 단계부터 함께 시작해 보겠습니다.

  1. 은유(Metaphor): 우리 주변의 익숙한 상황(학교, 회사, 신호체계 등)으로 개념을 잡습니다.
  2. 개념(Concept): 실제 기술 용어를 쉽게 정의합니다.
  3. 코드(Code): 모든 예제 코드는 주석을 달아 이해가 쉽도록 합니다.
  4. 배경(Context): 왜 이 기술을 선택했는지, 업계의 뒷이야기를 들려드립니다.

독자들에 드리는 말씀 

이 책은 코딩의 '코'자만 알아도 이해하고 싶어 하는 열정적인 초심자를 위한 것입니다. 전문 개발자가 아니더라도, 전공자가 아니더라도, 기술의 원리를 깊이 있게 이해하고 싶은 분이라면 누구나 환영합니다.

💌 저자의 편지: 위기의 신입 개발자들에게 (Why Reverse Engineering?)

최근 IT 산업계에서는 신입 개발자 채용을 기피하는 경향이 뚜렷해지고 있습니다. 인공지능의 등장으로 개발자의 역할이 단순 코딩에서 '기획·설계' 중심의 기획개발로 전환되는 가운데, 기업들은 기획력과 문제 해결 능력이 검증된 경력자를 선호하게 된 것입니다. 이러한 현상은 업계의 당연한 수요 변화로 자리 잡았으며, IT 업계 전반으로 빠르게 확산되고 있는 실정입니다.

이에 필자는 스스로에게 묻게 되었습니다. 신입 사원의 경험 부재라는 문턱을 어떻게 하면 극복하고, 단기간에 경력자 수준의 실전 역량을 갖출 수 있을까? 실제로 수많은 신입 지원자들의 면접과 코딩 테스트를 진행하면서, 이들의 어려움에 깊은 공감과 안타까움을 느꼈습니다. 과연 이들에게 희망적인 대안은 없는 것일까.

현실은 더욱 녹록지 않습니다. 기업들은 인턴 채용마저 축소하고 있어, 실무 경험을 쌓을 수 있는 기회조차 점차 좁아지고 있습니다. 바로 이러한 구조적 문제의식에서 본서를 기획하게 되었습니다.

필자는 이 책을 통해 초보 개발자, 신입 지망생, 그리고 비전공자이나 개발에 대한 열정을 품은 모든 이들에게 경력자들이 수년에 걸쳐 체득한 실전 경험과 노하우를 압축하여 전달하고자 합니다. 단순한 이론서가 아닌, 현장에서 마주하는 문제들을 직접 해결하며 몸으로 익히는 '선배의 비밀노트' 를 만들고 싶었습니다. 그리고 그 핵심 방법론으로 리버스 엔지니어링(Reverse Engineering) 이라는 역발상의 접근법을 제시하고 싶었습니다.

이미 만들어진 시스템을 분해하고 분석함으로써 설계자의 의도와 구조적 원리를 빠르게 파악하는 이 방법은, 신입 개발자가 단기간에 경력자 수준의 통찰력을 갖출 수 있는 가장 효과적인 경로입니다. 이 책이 여러분의 실력 향상에 든든한 동반자가 되기를 바랍니다.

컴퓨터공학 전공자이든 비전공자이든, 개발자의 꿈을 품은 모든 분들께 진심 어린 응원의 마음을 전합니다. 어려운 환경일수록 스스로의 성장을 위해 끊임없이 노력하시길 바랍니다. 필자는 이 책을 통해 여러분의 도전을 끝까지 지원하겠습니다. 힘내십시오.

AI 혁명은 결코 여러분의 직업을 빼앗아 가지 못합니다. 끊임없이 생기는 새로운 문제를 해결해 나가려는 열정은 인공지능에게는 없기 때문입니다. 이 책을 밤새 탐독하며 인공지능을 여러분의 것으로 만드는 그날까지, 본서가 조금이나마 용기가 되길 기원합니다.


[프로젝트 소개] OpenClaw(Moltbot) 건축 일지

이 문서는 OpenClaw(Moltbot) 이라는 2025년말 부터 시작과 함께 불어닥친 거대한 소프트웨어 파장을 “밑바닥부터(from scratch)” 다시 파헤치는 과정을 담은 건축 일지입니다. 단순히 인공지능이 코드를 생성하는 것만 “복사-붙여넣기” 하는 것이 아니라, “왜 여기에 기둥을 세웠지?”, “이 배관은 어디로 연결되지?” 를 집요하게 파헤치고 사고하고자 작성되었습니다.

인공지능 혁명의 물결 속에서 코딩은 전통적으로 인간만의 전유물이었던 시대를 지나, 이제는 인간과 기계가 협력하는 새로운 패러다임으로 진화하고 있습니다. 그러나 우리는 한 가지 근본적인 진리를 간과해서는 안 됩니다. 현존하는 모든 인공지능 시스템이 궁극적으로는 인간의 코드로 구현된 산물이라는 사실을 말입니다.

코드의 정확한 의미와 작동 원리를 이해하지 못한 채, 인공지능이 생성하는 환각(hallucination)을 비판적으로 검토하지 않고 수용한다면, 이는 우리에게 잠재적 위험이자 반드시 극복해야 할 중대한 과제가 될 것입니다.

본서는 이러한 시대적 상황을 인식하고, 인공지능을 효과적인 학습 도구로 활용하여 코딩의 본질을 깊이 있게 이해하고 리버스 엔지니어링(1) 역량을 배양하고자 하는 독자들을 위한 실전 지침서로 제작하였습니다.

☕️ [Ice Breaking] 개발자의 일상, 그리고 '연결'의 고통

기술적인 이야기로 넘어가기 전에, 제(Sam LEE) 옛날이야기를 하나 해드릴까 합니다.

제가 개발자아닌 개발자로 밥을 먹고 산 지 어느덧 30년이 다 되어갑니다.(전 전공이 두가지입니다.- 기관공학, 영어통번역입니다. 개발은 제 블러그 앞글에 인사말에 자세히 소개 해 두었습니다) 


많은 신입 개발자분들이 저에게 묻습니다.

"팀장님, 어떤 알고리즘을 공부해야 개발을 잘하나요?"
"수학을 잘해야 코딩을 잘하나요?"
그럴 때마다 저는 웃으며 대답합니다.
"개발 생활의 8할은 '알고리즘'이 아니라 '눈치'와 '통역'이란다."
실제로 현업에서 가장 골치 아픈 문제는 '어려운 로직' 을 짜는 게 아닙니다.

 

바로 '말이 안 통하는 두 시스템을 연결하는 것' 입니다.

 

기획팀은 "한국어"로 말하고, 개발팀은 "외계어(Code)"로 말합니다. 옆 부서 김 대리님이 만든 서버는 JSON을 달라고 하는데, 우리 팀 박 과장님이 만든 앱은 XML을 던집니다. 이 사이에서 "아니, 그게 아니라요..." 하며 중간 다리를 놓는 과정, 그것이 개발자가 겪는 매일매일의 스트레스이자, 가장 중요한 업무입니다.

 

우리가 지금 만들려고 하는 OpenClaw(Moltbot) 도 똑같습니다.
이 친구는 일종의 "통역사(Translator)" 입니다.

WhatsApp: "나는 내 방식대로 말할 거야!"
Slack: "나도 내 규칙이 있어!"
AI(ChatGPT): "나는 텍스트만 주면 답할게."

 

이 제각각인 녀석들 사이에서 등 터지지 않고, 능수능란하게 말을 전달해 주는 '센스 있는 중재자'.
그것이 바로 Gateway입니다. - 바로 OpenClaw 시스템에 가장 핵심 부분인 샘이죠.

 

그러니 앞으로 나올 복잡한 그림들을 보고 겁먹지 마세요.
"아, 이 코드는 지금 WhatsApp이랑 Slack 사이에서 통역하느라 땀 뻘뻘 흘리고 있구나."
이렇게 생각하면, 차가운 코드 덩어리가 조금은 사람 냄새 나고 귀여워 보일 겁니다.

자, 그럼 이제 이 기특한 통역사의 가방 속에 어떤 도구들이 들어있는지 한번 열어볼까요?

Chapter 0. 기술 스택 분석 (Technology Stack Analysis)

이 앱(OpenClaw)은 단순한 챗봇이 아닙니다. 다양한 메신저(WhatsApp, Slack 등)와 AI 모델을 연결하는 Gateway Platform(게이트웨이 플랫폼) 으로서, AI 에이전트(Agent) 생태계의 혁신을 이끌며 2026년 1월 초급속도로 확산되고 있는 업계 최대 관심사 중 하나가 되었습니다.

이 장에서는 OpenClaw(Moltbot)을 구성하는 핵심 기술들을 리버스 엔지니어링(Reverse Engineering) 관점에서 심층 분석합니다. 단순히 기술을 나열하는 데 그치지 않고, 각 기술이 선택된 배경과 설계 철학을 파헤치며, 독자 여러분이 이 기술들을 '내 것' 으로 체득할 수 있도록 충분한 예제와 실습 과제를 제공할 것입니다.

구분 기술 / 도구 버전 (권장) 선정 이유 (Why?)
Runtime Node.js >=22.12.0 최신 LTS. 비동기 I/O 처리가 핵심인 게이트웨이 서버에 최적화됨.
Language TypeScript ^5.9.3 거대한 모노레포 프로젝트의 타입 안정성을 보장하는 엄격한 문법 검사기. 인터페이스 기반 설계 필수.
Package Manager pnpm 10.23.0 모노레포 구조에서 디스크 공간 절약 및 빠른 설치 속도.
Server Core Hono (+ WS) 4.11.4 Express보다 가볍고 빠르며, Edge Runtime 호환성이 좋음. HTTP/WebSocket 통합 용이.
Channel Layer Baileys 7.0.0-rc.9 WhatsApp Web API를 리버스 엔지니어링한 라이브러리. 브라우저 없이 Node.js에서 WhatsApp 구동 가능.
AI Agent Pi Agent Core 0.49.3 LLM(Large Language Model)과의 통신, 도구(Tool) 호출, 컨텍스트 관리를 담당하는 자체/외부 라이브러리.
UI Framework Lit + Vite 3.3.2 React보다 가벼운 Web Components 표준 기반. 봇 제어 패널용으로 가볍고 빠름.
Database/State SQLite - 로컬 임베딩 벡터 저장 및 경량 상태 관리에 적합.

0-1. 📚 [용어 미니 사전] 이게 도대체 무슨 말인가요?

표에 나온 외계어들을 시원하게 풀어드립니다.

  • LTS (Long Term Support): "장기 지원 버전". 자동차로 치면 '신형 쏘나타' 가 아니라 '택시 모델 쏘나타' 입니다. 최신 기능은 적지만, 고장이 안 나고 부품을 5년 이상 책임지고 공급해 줍니다. 서버는 멋진 기능보다 '안 죽는 것' 이 중요해서 LTS를 씁니다.

 

  • 모노레포 (Monorepo): "Mono(하나) + Repo(저장소)". '한 지붕 대가족' 입니다. 서버 코드, 앱 코드, 관리자 페이지 코드를 폴더 하나에 다 몰아넣고 관리하는 방식입니다. 반대말은 '멀티레포(각방 쓰기)'입니다.

 

  • 리버스 엔지니어링 (Reverse Engineering): "역공학". 맛집 떡볶이 소스 비법을 알아내려고, 다 만들어진 떡볶이를 현미경으로 들여다보고 성분을 분석하는 행위입니다. 우리는 완성된 OpenClaw 코드를 뜯어보며 설계를 유추할 것입니다.

 

  • 컨텍스트 (Context): "문맥/정황". AI는 금붕어입니다. 방금 한 말을 잊어버리죠. 그래서 "아까 네가 사과라고 했잖아"라고 이전 대화 내용 전체를 다시 던져줘야 알아듣습니다. 이 '대화의 족보'를 컨텍스트라고 부릅니다.

 

  • React: 메타(페이스북)에서 만든 '레고 블록 조립 세트' 입니다. "로그인 버튼", "메뉴바" 같은 블록을 조립해서 웹사이트를 만듭니다. 가장 유명하지만 조금 무겁습니다.

 

  • Web Components: React 같은 특정 브랜드 레고가 아니라, '국제 표준 규격 벽돌' 입니다. 브라우저 자체가 기본으로 지원하는 기능이라서, React나 Vue 같은 라이브러리 없이도 돌아갑니다. 가볍고 빠릅니다.

 

  • 로컬 임베딩 벡터 저장 (Local Embedding Vector Storage): 임베딩: "사과"라는 글자를 [0.1, 0.5, 0.9] 같은 숫자 좌표로 바꾸는 것.

 

  • 벡터 저장: 이 숫자를 저장해 두는 도서관. Why?: AI에게 "과일 찾아줘"라고 하면, AI는 '과일'의 숫자 좌표와 가장 가까운 '사과'의 좌표를 계산해서 찾아냅니다. 이걸 내 컴퓨터(로컬)에서 한다는 뜻입니다.

 

  • LLM (Large Language Model): "거대 언어 모델".
  • 은유: "전 세계 도서관의 책을 통째로 삼킨 암기 천재".
  • 설명: ChatGPT나 Claude 같은 AI의 본체입니다. 수조 개의 문장을 학습하여 인간처럼 대화하고 추론할 수 있는 '초거대 AI 뇌'라고 생각하면 됩니다. 단순히 검색하는 것이 아니라 문맥을 이해하고 새로운 문장을 창조합니다.

 

  • CLI (Command Line Interface): "명령줄 인터페이스".
  • 은유: "컴퓨터와 나누는 문자 메시지".
  • 설명: 마우스로 아이콘을 클릭하는 방식(GUI)이 '그림 위주의 소통'이라면, CLI는 검은 화면(터미널)에 직접 글자를 타이핑해서 컴퓨터에게 명령을 내리는 방식입니다. 영화 속 해커들이 쓰는 방식이 바로 이것이며, 자동화와 정밀한 조작에 유리합니다.

 

  • API (Application Programming Interface): "프로그램 간의 약속".
  • 은유: "식당의 메뉴판". 손님이 주방의 요리 과정을 몰라도 메뉴판만 보고 주문할 수 있듯이, 한 프로그램이 다른 프로그램의 기능을 쉽게 빌려 쓸 수 있게 만든 전달 통로이자 규칙입니다.

 

  • API 서버 (API Server): "데이터/기능 배달 전문점".
  • 은유: "24시간 주문 대기 중인 배달 전문 식당". 외부에서 API 규칙(메뉴)에 맞게 주문(요청)을 보내면, 그에 맞는 데이터나 서비스를 즉시 배달(응답)해주는 서버입니다.

💬 코치 코멘트(Sam LEE):

"용어가 계속 나오지만, 깊게 파고들지 말고 '아, 대충 이런 거구나' 하고 넘어가세요. 계속 새로운 개념들과 경험이 쌓이다 보면, 이 낯선 용어들은 자연히 여러분의 몸속에 녹아들어 '실력' 이라는 형태로 나타나게 되어 있습니다. 믿고 따라오세요."

- 다음 회 에는 각 기술 스텍( 앱구조를 형성하는 언어 및 사용되는 시스템) 에 대해 다뤄 보겠습니다. 매주 월, 목 새로운 연재 가 올라오니 꼭 놓치지 말고 들러주세요 ^^

반응형

'AI-AGENT-MCP' 카테고리의 다른 글

OpenClaw - 연재(3회)  (0) 2026.02.22
OpenClaw 해부 강좌 (2회)  (0) 2026.02.21
요즘 핫한 돌쇠 Agent - OpenClaw on the Raspberry Pi 5 8Gb  (0) 2026.02.20