System Architecture

Loopy-Era
Self-Improvement System

AI가 자기 실수에서 배워 스스로 똑똑해지도록 만든 작업 시스템입니다. AI 연구자 Karpathy(카파시)가 말한 "이제 규칙을 사람이 다 쓰는 게 아니라, AI가 실수에서 규칙을 찾아내는 시대"라는 생각을, Claude Code라는 개발 도구 위에 세 갈래(3축)로 구현했습니다. 여기서 하네스(harness)란 AI가 대충 하고 "다 됐다"고 넘어가지 못하도록 증거를 강제하는 감시 장치를 말합니다. 코드를 고친 뒤 남기는 fix: 커밋(무엇을 왜 고쳤는지 남기는 기록)이 곧 "여기서 실수했다"는 신호가 됩니다. 작업이 끝나는 순간 도는 감시 스크립트(Stop hook)가 이 신호를 저장해 두었다가, 다음 작업을 시작할 때(UserPromptSubmit hook) 자동 개선 명령 /self-improve 를 불러옵니다. 이 명령이 실수를 분석해 규칙 모음(scaffold)을 조금씩 더 단단하게 다집니다. 여기에 검사를 통과 못 하면 아예 막아버리는 관문(HARD gate), 사람 대신 품질을 확인하는 자동 검사원(user-proxy QA), 다른 AI인 Codex가 한 번 더 검토하는 이중 리뷰까지 붙어서, 사람은 정말 중요한 판단이 필요할 때(에스컬레이션)에만 개입하면 됩니다.

3
Core Loops
7
HARD Gates
2,854
Memory Bank Facts
43rules
Global Scaffold

세 개의 순환이 맞물려 스스로 발전하는 전체 구조

① SELF-IMPROVEMENT LOOP ② HARD ENFORCEMENT GATES ③ USER-PROXY AUTO QA LOOP Session N 개발 작업 git fix: commit (실수 감지 이벤트) Stop Hook self-improve- trigger.sh fix 커밋 감지 pending/ *.json ~/.claude/pending/ Session N+1 새 사용자 요청 additionalContext (대기 신호 주입) UserPromptSubmit self-improve- check.sh 1시간 간격 /self-improve skill 고친 코드 분석 · 반복 실수 추출 과거 기록 검색 · 새 규칙 도출 Scaffold + Rules Store {project}-scaffold/SKILL.md ~/.claude/rules/*.md (43 files, cross-project) 2개+ 프로젝트 공통 → 전역 규칙 승격 memory-bank MCP 2854 facts · 20 domains 대화 자동 색인 프로젝트 간 지식 연결망 파일 수정·명령 실행을 가로채는 감시 · 검사 실패 시 무조건 차단 (무시 불가) ↺ 강해진 규칙이 다음 작업에 자동 반영됨 (loopy-era 순환) qa-gate-before-push QA 통과 기록 없으면 코드 업로드 100% 차단 scaffold-violation-check 금지 패턴 위반 즉시 감지 100% code-quality-check as any / @ts-ignore 즉시 감지 no-localstorage 브라우저 저장소 사용 즉시 감지 no-env-commit 비밀·민감 파일 올리기 100% 차단 portless-required 개발 서버 실행 규칙 누락 경고 (WARNING) task-quality-gate 브라우저 테스트 안 함 UI 변경 시 차단 SubagentStop hook 보조 AI 종료 시 대리 검사 자동 실행 TaskCompleted hook 태스크 완료 시 완료 검증 자동 self-improve-check 1시간 간격 강제 경고 HARD vs SOFT HARD(감시 스크립트): 실패 시 무조건 차단 → 예: 푸시 차단·금지 패턴 검사 SOFT(글로 쓴 지침): AI 판단에 의존 → 문서 절차·상황 판단에 맡김 ⚠ SOFT가 2번 실패 → 강제 규칙으로 승격 작업 완료 시 시작 직접 처리 / /manager / /team /auto-issue / /loop / 배포 Build + Type-check npm run build tsc --noEmit L0~L5 QA (3-tool cross) web-qa-tester + agent-browser + 화면 캡처로 눈으로 확인 Codex Cross-Review /codex:review --background GPT-5.4로 한 번 더 검사 ⟳ PASS ? Claude + Codex 양쪽 모두 통과해야 PASS PASS ✓ .qa-cycle-passed git commit + push Telegram ✅ FAIL ✗ bug-fixer 4x Rotation 1차 직접 수정 · 2차 구조 변경 · 3차 Codex에 구조 요청 · 4차 되돌리고 재시도 매 시도마다 다른 전략으로 교체 성공 시 → QA 재실행 (진전 있는 한 반복) 재QA 루프 🚨 사람 호출 (3회 실패 시) 같은 실패 3번 반복 → 텔레그램 알림 전송 또는 기술 선택·비용·데이터 삭제 결정이 필요할 때 → 이때만 사람에게 요청 (그 외엔 완전 자동) 📱 Telegram Bot 작업 완료 알림 (소요시간 포함) chat_id: 55511334 🔗 /rc Remote Control Telegram 답장 → Claude Code 세션 원격 지시 전달 💾 스스로 개선 피드백 검사 오류도 기록에 남겨 학습 다음 작업에서 개선 순환 재시작 🌙 /loop 정기 실행 /loop 10m /auto-issue (GitHub 이슈 자동 처리) /loop 1h /self-improve (이제 자동이라 불필요) LEGEND Session / User Hook / Skill (Backend logic) State Store / Memory HARD Gate (exit 2) Event Bus / Trigger Decision Point External Service 동기 호출 비동기/되돌아옴 PASS 경로 FAIL / Escalation — Karpathy의 'Loopy Era(순환의 시대)' 철학: AI가 실수에서 스스로 배워 도구가 점점 강해진다
다이어그램 클릭 → 크게 보기

Loopy Era — AI 자동 개선 시대

Andrej Karpathy가 2026년 초에 내놓은 생각입니다. 요지는 이렇습니다. "사람이 규칙을 하나하나 다 써 주던 시대"는 끝났고, 이제는 AI가 자기 실수를 스스로 지켜보며 규칙을 찾아내는 순환이 가능하다는 것입니다. 하네스(harness, AI의 작업을 감시하고 통제하는 장치)는 이제 한 번 써 두면 끝인 고정된 지시문 묶음이 아닙니다. 쓰면 쓸수록 그 사람이 일하는 방식과 자주 저지르는 실수를 빨아들여 작업할 때마다 조금씩 더 똑똑해지는 살아있는 시스템이 됩니다.

Karpathy's Thesis · 2026
AI automatically gets better over time — you don't write the rules anymore, you let the harness discover them from your mistakes.
더 이상 규칙을 사람이 직접 쓰지 않는다. 실수로부터 하네스(감시·통제 장치)가 규칙을 스스로 발견하게 만든다. 사람은 "실수를 어떻게 기록할지"만 정해 두면, 나머지는 시스템이 알아서 배운다.
— Andrej Karpathy · "The Loopy Era"

5가지 핵심 원칙

01
실수가 곧 학습 신호다
fix: 커밋, 즉 '무엇을 고쳤다'는 기록은 그저 버그를 고친 게 아니라 "여기서 내가 실수했다"고 시스템에 남기는 분명한 신호다. 작업이 끝날 때 도는 감시 스크립트(Stop hook)가 이 신호를 붙잡아 pending/*.json이라는 대기 파일에 저장해 둔다. 그리고 다음 작업을 시작할 때 /self-improve 가 고친 내용(fix diff, 바뀐 코드의 차이)을 분석해 다시 쓸 수 있는 규칙(scaffold의 rule)으로 굳혀 둔다.
02
Fresh Context > Long Session
한 작업 대화를 너무 길게 끌면 맥락이 쌓이다 못해 오염되어(context rot, 컨텍스트가 지저분해지는 현상) 품질이 떨어진다. Loopy-Era는 일을 더 못 쪼갤 만큼 작은 단위로 나누고, 진행 상황은 파일에 저장해 두었다가 매번 깨끗한 새 맥락, 즉 fresh context로 다시 시작한다. 기억은 한 대화 안에 갇히지 않고 별도 저장소인 memory-bank(기억 은행)에 쌓인다.
03
강제 차단(HARD Gate)이 없으면 말뿐인 규칙(SOFT)은 무너진다
그냥 글로 적어 둔 지시(SOFT)는 AI가 슬쩍 무시할 수 있다. 정말 반드시 지켜야 하는 규칙은, 검사에 실패하면 작업 자체를 그 자리에서 멈춰 세우는 exit 2 방식(검사 실패 신호)의 감시 스크립트(HARD)로 물리적으로 막아야 한다. 말뿐인 규칙이 2번 연속 실패하면, 시스템이 그 규칙을 자동으로 강제 규칙(HARD)으로 올린다.
04
사람은 정말 필요할 때만 나선다
사람 대신 일하는 대리 검사원(user-proxy 에이전트)이 품질검사와 의사결정, 감독을 맡는다. 같은 문제를 3번 고쳐도 안 풀리거나, 기술 선택을 바꾸거나, 돈이 드는 결정, 데이터 삭제처럼 한 번 하면 되돌릴 수 없는 결정일 때만 텔레그램으로 사람을 부른다. 그 밖의 일은 전부 자동으로 처리한다.
05
피드백이 되돌아와야 진화한다 (닫힌 순환)
품질검사(QA)가 잘못 판정한 것까지도 기억 저장소(memory-bank)에 남는다. 다음 작업 때 자동 개선 기능(self-improve)이 이 오판을 읽고 검사 방식 자체를 고친다. 그래서 이건 단순한 도구가 아니라 자기 자신을 되돌아보며 고치는 시스템이다. 빙글빙글 돈다는 뜻의 "loopy"라는 이름이 붙은 이유다.

실수가 규칙이 되는 순환

① 개발 작업
② fix: 커밋 = 실수 신호
③ 작업 종료 감지 → 신호 저장
④ /self-improve → 규칙 추출
⑤ 규칙 모음에 추가
⑥ 다음 작업에 자동 적용
Loopy Era
스스로 진화
하는 도구
↺ infinite cycle

기존 방식(전통적 하네스) vs Loopy-Era

Axis
Traditional Harness
Loopy-Era Harness
규칙은 누가 쓰나
사람이 직접 쓰고 관리
고친 기록(fix 커밋)에서 자동 추출 → 개선 기능이 스스로 도출
시간이 지나면
점점 어수선해지고 규칙이 낡음
쓸수록 더 강해짐 · 안 쓰는 규칙은 자동 삭제
실수를 대하는 법
그때만 고치고 · 같은 실수 반복
2번 반복되면 강제 규칙으로 승격 · 아예 막아버림
맥락(대화) 관리
긴 대화가 쌓여 맥락 오염 발생
Fresh context (새 맥락) 반복 · 기억 저장소에 영구 보관
품질검사(QA) 담당
사람이 일일이 수동 검증
user-proxy + Codex 이중 자동 검사
프로젝트 사이 학습
프로젝트마다 따로 놀고 · 지식 단절
2개 이상 프로젝트에서 반복되면 → 전역 공통 규칙으로 승격
사람이 끼어드는 빈도
매 단계마다 확인 · 승인
꼭 필요할 때만(에스컬레이션) · 텔레그램 알림

순환을 이루는 구성 요소

① 스스로 개선하는 순환

  • Session N: fix: 커밋 발생 = 실수했다는 신호
  • Stop hook → pending/*.json 대기 파일에 저장
  • 다음 작업 시작 시(UserPromptSubmit hook) 개선 명령 자동 실행
  • /self-improve: 고친 내용과 과거 기록 분석
  • 결과: 규칙 모음에 새 규칙 자동 추가
  • Karpathy: "AI automatically gets better over time"

② 무조건 막는 강제 장치

  • 푸시 전 검사(qa-gate): 통과 못 하면 업로드 100% 차단
  • 금지 패턴 감시: '절대 하지 말라'는 행동 감지
  • 품질 관문(task-quality-gate): 화면 바꾸면 브라우저 테스트 증거 요구
  • 보조 AI·작업 종료 시: 품질검사 자동 실행
  • 말뿐인 규칙 2번 실패 → 강제 규칙으로 자동 승격
  • 검사 실패 시 작업을 멈춰 세움 — 말로는 못 넘어감

③ user-proxy Auto QA

  • 모든 작업이 끝나면 사람 대신 품질검사 수행
  • 3-tool cross: web-qa-tester + agent-browser + expect-cli
  • 다른 AI(Codex)로 교차 검토하는 이중 리뷰 (Claude + GPT-5.4)
  • 실패하면 버그 수정기가 4가지 전략을 번갈아 시도
  • 3번 반복 실패하면 텔레그램으로 사람 호출
  • 사람은 정말 필요할 때만 개입

작업 상태를 보관하는 곳

  • ~/.claude/pending/ — 개선 작업을 켜는 대기 신호
  • ~/.claude/rules/ — 모든 프로젝트 공통 규칙 43개
  • {project}-scaffold/SKILL.md — 프로젝트별 규칙 파일
  • memory-bank MCP — 2,854 facts, 20 domains
  • claude-mem-search — 지난 대화 전체를 의미로 찾아주는 검색
  • 상태를 파일로 저장 (작업을 언제든 이어서 재개)

작업을 켜는 신호(트리거)

  • git fix: commit → Stop hook
  • UserPromptSubmit → self-improve-check
  • SubagentStop → user-proxy QA
  • TaskCompleted → 작업 완료 검증
  • /loop 10m /auto-issue → GitHub 이슈 자동 처리
  • 신호에 따라 스스로 굴러감 (AI가 따로 판단 안 해도 됨)

작업 지휘자(오케스트레이터) 자동 선택

  • 전문 AI 2개 이하 → 매니저 지휘자(manager-orchestrator)
  • 전문 AI 3개 이상·풀스택 → 팀 지휘자(team-orchestrator)
  • 파일 1~2개만 수정 → 지휘자 없이 직접 처리
  • 사용자가 /team 이라고 하면 → 팀 지휘자
  • 어느 길로 가든 끝엔 대리 품질검사(user-proxy QA) 필수
  • 사람이 고르지 않아도 — 규모 보고 즉시 자동 결정