← 빌드 일지
회고2026-04-30·6분 읽기

라이브 강의 중 핫픽스 4번 — 자료 한 번도 깨끗한 환경에서 검증하지 않은 대가

OpenClaw 2026.4.27 cbc2ba0이 강의 며칠 전 baseUrl 필드를 필수로 풀었다. 강의 30분차 모든 학생이 동시에 막혔다. 4번 연속 commit + push로 핫픽스 밀어넣으며 라이브 디버깅했고, 결국 자료 갭 3개를 정면으로 마주했다. 자료를 한 번도 깨끗한 VM에서 처음부터 끝까지 돌려보지 않았다.

라이브 강의 중 핫픽스 4번 — 자료 한 번도 깨끗한 환경에서 검증하지 않은 대가

강의 30분차, 동시에 무너졌다

오늘 3시간 OpenClaw 입문 강의를 진행했다. AI 한 번도 안 써본 사람들이 OpenClaw + 무료 모델 + 에이전트 호출까지 가는 코스. 자료는 13단계 가이드 + PPT + 발표자 대본 — 어제 새벽까지 다듬어둔 그대로.

블록 1 (브라우저 AI 가입) 통과. 블록 2 (터미널 + Node.js + OpenClaw 설치) 진입 30분차에 학생들이 동시다발로 손을 들었다.

🦞 OpenClaw 2026.4.27 (cbc2ba0) — I keep secrets like a vault... unless you print them in debug logs again.

Error: Config validation failed: models.providers.openrouter.baseUrl: Invalid input: expected string, received undefined

내 자료의 명령어 그대로 따라 했는데, 다 같은 에러가 떴다.

원인은 NPM latest 의 함정

npm install -g openclaw — 가이드의 한 줄 명령. 늘 latest 를 가져온다. 며칠 전 OpenClaw 2026.4.27 cbc2ba0 패치가 models.providers.openrouter.baseUrl선택 → 필수 로 풀었다. 이전 버전에서는 자동으로 기본값 사용. 새 버전에서는 명시적으로 적어야 함.

내 가이드는 4/29까지 OpenClaw 2026.4.20 기준으로 검증된 명령들이었다. 강의 며칠 전에 업스트림 패치가 깨고 갔는데 그걸 캐치하지 못했다.

라이브 디버깅 — 핫픽스 4번 연속

상황은 이랬다:

  • 학생 절반이 막혔다고 손
  • 강의 흐름은 이미 깨졌다
  • 시계는 이미 35분차

그래서 git push 로 자료를 실시간 업데이트하면서 학생들에게 git pull 한 번씩 시키며 진행했다. 4번 연속:

commit내용
87094a9troubleshooting.md 최상단에 baseUrl 핫픽스
11b575fWindows + Mac 한 줄 명령 (config 폴더+파일 자동생성)
8717daaWindows CMD 명령 별도 추가 (PowerShell 외에)
300b86cPowerShell ExecutionPolicy 우회 명령 추가

각 푸시 사이마다 새로운 에러 케이스가 등장했다:

  1. 첫 에러: baseUrl: ... undefined — config 필드 누락
  2. 둘째 에러: 지정된 파일 없음 — 학생 PC에 config 파일 자체가 없음 (init 스텝 누락)
  3. 셋째 에러: cmd 쪽 명령 다른데? — PowerShell vs CMD 셸별 명령이 다른 거 자료에 누락
  4. 넷째 에러: 이 시스템에서 스크립트를 실행할 수 없으므로 ... PSSecurityException — Windows PowerShell ExecutionPolicy 가 npm 설치 .ps1 shim 로딩 차단

각 에러마다 도큐 갭이 노출됐다.

자료 갭 3개

이번 강의에서 정면으로 마주한 게 정확히 셋이다:

  1. VM 사전 검증 누락 — 깨끗한 윈도우 가상머신에서 자료 그대로 처음부터 끝까지 돌려본 적이 없다. 내 PC에서는 이미 모든 게 깔려있고 정책도 풀려있어서 작동하지 않는 명령이 작동했다.

  2. 버전 고정 누락npm install -g openclaw 가 항상 latest. 자료 시점 검증된 안전 버전 (예: npm install -g openclaw@2026.4.20) 으로 고정했어야 했다. 업스트림이 깨고 가는 건 막을 수 없지만, 이미 검증한 버전에 fix할 수는 있다.

  3. Windows PowerShell ExecutionPolicy — npm 으로 설치된 CLI 도구의 .ps1 shim 이 PowerShell 실행 정책에 막힌다. Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force 가 입문자 가이드 첫 페이지에 박혀있었어야 했다.

"자료 통과시키기 전에 한 번도 깨끗한 환경에서 안 돌려봤다"

이게 핵심이다. 가이드를 13단계로 정리하고, PPT 만들고, 대본 분 단위로 짜고, 함정 7가지 사전 시뮬레이션까지 해두고 — 정작 가이드 자체를 fresh VM 에서 한 번도 끝까지 돌려보지 않았다.

내가 자료를 만든 환경 = 모든 게 이미 깔린 PC. 학생 환경 = 0부터 시작하는 PC. 자료가 학생 환경에서 정확히 어디서 깨지는지는 fresh VM 한 번 돌려야 알 수 있다. 그걸 안 했다.

결정 — 전면 리빌드

강의 후 결정:

  1. agents-set-kit GitHub 레포 private 전환 (현재 상태로는 공개 못 함)
  2. 다음 회차 자료는 전면 리빌드:
    • Windows PowerShell ExecutionPolicy 첫 페이지 prereq 로 박기
    • npm install -g openclaw@<핀버전> 로 강의 시점 검증 버전 고정
    • 깨끗한 VM 에서 처음부터 끝까지 돌려보고 통과한 자료만 공개
    • 셸별 (CMD / PowerShell / Mac / Linux) 단일 가이드 X — 각자 따로 박기

OpenClaw 자체 결함은 아니다. OpenClaw 는 빠르게 발전 중이고 패치 자유롭게 친다. 그게 정상이다. 내가 자료를 그 속도에 맞춰 검증 못한 게 문제다.

회고 — "편하자고 AI 통한 게 독"

강의 중 한 메시지:

그냥 내가 짤껄 편하자고 너를 통한게 독이네 이거

AI 한테 자료 정리 위임할 때 함정이 정확히 여기다. AI는 자기 환경에서 잘 돌아가는 명령을 자료에 박는다. 학생 환경은 다르다. 검증 단계 (fresh VM 돌리기) 없이 자료가 통과되면, 라이브 강의에서 가장 비싼 시점에 갭이 폭발한다.

다음 회차부터 자료 publish 워크플로:

  1. AI 가 자료 초안 작성
  2. 사람이 (또는 AI 가) fresh VM 에서 처음부터 끝까지 한 번 돌림 ← 이 단계가 빠져 있었다
  3. VM에서 막힌 지점 찾기 + 자료 보강
  4. 다시 한 번 fresh VM 에서 통과 확인
  5. publish

3시간 강의가 1번의 검증 사이클 안 한 대가로 학생 절반이 막힌 채 진행됐다. 다음엔 안 그럴 거다.

그 외 — 봇 + 시스템

엄청 어려운 강의였지만 백그라운드 자가복구 layer 는 정상:

  • WILD_SNIPER V3.7.1 봇 PID 8864 (실제 worker PID 1692, WindowsApps Python launcher 구조) 정상 운영 중
  • 4시간 watcher (agents-hq/wild_sniper_watcher.py) PID 28568 정상, 어제부터 매 4시간 health check 통과
  • agents-hq 대시보드 cloudflared 어제 10:36부터 끊김 없음 (auto-restart watcher 가동 중)
  • wildeconforce.com v4 디자인 + trade-log Supabase 통합 라이브 (commit 99de45a)

라이브 인프라는 안 무너졌다. 강의 자료만 무너졌다. 다행히도, 그리고 분명히 — 다음 회차 자료가 더 단단해질 인풋 데이터가 정확히 잡혔다.

Wildeconforce

매일 만들고, 매일 분석하고, 매일 기록합니다.
© 2026 wildeconforce · build-in-public

이 사이트는 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.