Architecture Analysis

Self-Evolving
System

AI 코딩 도구 Claude Code가 같은 실수를 두 번 하지 않도록, 스스로 규칙을 만들어 점점 강해지는 시스템입니다. 한 번의 실수가 곧바로 새 규칙이 되고, 그 규칙은 시간이 지날수록 더 단단해지며, 정말 효과가 있었는지까지 자동으로 확인됩니다. 이렇게 결과를 다시 되먹여 스스로를 고쳐 나가는 순환을 폐루프(閉루프)라고 부릅니다. 그리고 AI가 "다 했다"고 대충 넘어가지 못하도록 증거를 강제하는 감시 장치 전체를 하네스(harness)라고 부릅니다.

33
Hooks
12
Hard Enforced
51
Auto-Improvements
31+
Never Do Rules
실수에서 배워 스스로 강해지는 구조

보통 Claude Code나 Cursor 같은 AI 코딩 도구의 설정은 정적입니다. 사람이 규칙을 미리 한 번 적어 두면, AI는 그걸 따르거나 무시할 뿐 규칙 자체는 그대로 멈춰 있다는 뜻입니다. 반면 이 시스템에는 3개의 피드백 루프가 자동으로 돌아갑니다. 피드백 루프란 작업 결과를 다시 입력으로 되돌려 스스로를 손보는 순환을 말합니다. 그래서 쓰면 쓸수록 규칙이 늘고 강해집니다.

Loop 1 — Reactive

실수에서 배우기

코드를 고친 기록('fix:'로 시작하는 저장 기록, 즉 커밋)이 생기면 시스템이 자동으로 알아챕니다. 그리고 그 프로젝트만의 규칙 모음(scaffold)에 '앞으로 이렇게 하지 말 것'(NEVER DO) 항목을 새로 적어 둡니다. 이 항목은 나중에 같은 실수를 하려는 순간, 프로그램을 멈춰 세우는 신호(exit 2)로 실행을 막습니다.

fix: 수정 커밋 발생
감지 스크립트가 포착
바뀐 부분 분석 → 반복 패턴 추출
규칙 모음에 금지 항목 추가
exit 2 같은 실수 자동 차단
Loop 2 — Proactive

불만에서 배우기

사용자가 남긴 불만 섞인 말들을 자동으로 모읍니다. 그 말들에서 문제의 진짜 원인을 찾아내고, 다시 일어나지 않도록 새 규칙을 만듭니다.

"왜이래" "안돼" "또" 같은 말 감지
불만 수집 스크립트가 모음
불만 기록 파일에 저장
자동 개선 절차 첫 단계에서 분석
진짜 원인 파악 → 규칙 생성
Loop 3 — Meta

효과 확인하기

규칙을 만든 지 30일이 지나면, 그 규칙이 실제로 실수를 줄였는지 자동으로 채점합니다. 효과가 약하면 규칙의 강제력을 한 단계 올립니다. 강제력이란 '무시할 수 있는 권고'에서 '절대 못 어기는 차단'까지의 세기를 말합니다.

규칙 만든 지 30일 경과
rule-effectiveness-check.sh
다시 안 터짐: effective
1번 재발: warning
2번 이상 재발: 권고→차단 승격
권고(SOFT)에서 차단(HARD)으로, 자동 승격

규칙에는 두 종류의 강제력이 있습니다. SOFT는 AI가 참고만 하고 무시할 수도 있는 권고이고, HARD는 프로그램이 실행을 아예 멈춰 세워(exit 2 신호) 절대 못 어기게 막는 차단입니다. 다른 시스템의 규칙은 계속 SOFT(권고)에 머뭅니다. 이 시스템은 같은 실수가 반복될수록 그 규칙을 SOFT에서 HARD로 자동으로 끌어올립니다.

1st
Soft Rule
규칙 파일에 평범한 문장으로 규칙을 적어 둠.
AI가 무시할 수 있음.
2nd
Pattern Match
규칙 모음의 금지 목록에 추가.
위반 검사 스크립트가 경고.
3rd
Hard Block
승격 스크립트가 강제력을 자동 상향.
exit 2 이제 무시 불가능.
다른 AI 코딩 에이전트와의 비교
시스템 규칙 만들기 규칙 강제 방법 실수에서 학습 세션 간 기억 스스로 진화
Devin (Cognition) 사람이 직접 Playbook 없음 세션 메모리(작업 중에만) 없음
OpenHands (ex-OpenDevin) 사람이 직접 Microagent 그 세션 안에서만 없음 없음
Codex (OpenAI CLI) 사람이 직접 Sandbox 그 세션 안에서만 없음 없음
Cline / Roo Code 사람이 직접 Mode Rules 없음 없음 없음
이 시스템 자동 생성 Hook exit 2 세션 간 자동 기억 6개 영구 저장소 폐루프 진화
구성 요소들이 어떻게 맞물려 도는가
입력 — 문제를 자동으로 감지
사용자 불만 → 감지 스크립트가 포착
코드 수정('fix:') 기록 → 감지 스크립트가 포착
같은 에러 3회 → 추적 스크립트가 기록
Analysis Engine — /self-improve
Phase 0(단계): 불만 원인 분석
Phase 1: 과거 대화 기록(Memory-Bank) 검색
Phase 1.45: 강제력 승격 판정(권고→차단)
Phase 1.5: 수정 내용 분석 → 규칙 모음 갱신
Phase 1.6: Pruning
Phase 1.7: 여러 프로젝트 공통 규칙으로 승격
Phase 2: 방향에 맞는지 거르기
Phase 2.5: 30일 뒤 효과 평가
Phase 3-4: 규칙 생성 → 적용
출력 — 규칙이 만들어짐
규칙 모음에 금지 항목 추가
전체 공통 규칙 파일에 반영
위반 검사 스크립트의 패턴
자동 개선 이력 파일에 기록
강제 — 12개의 자동 검문 스크립트(HARD hook)
scaffold-violation-check.sh
code-quality-check.sh
qa-gate-before-push.sh
no-localstorage.sh
no-env-commit.sh
portless-required.sh
auto-validate.sh
task-quality-gate.sh
html-api-gate.sh
validate-before-commit.sh
verify-before-deploy.sh
subagent-verify.sh
다른 도구와 다른 5가지
항목 Devin / OpenHands / Codex 이 시스템
규칙 만들기 사람이 규칙집(Playbook/Microagent)을 직접 작성 코드 수정 기록('fix:' 커밋)에서 자동으로 뽑아냄
강제력 지시문에 넣어 부탁 (AI가 무시하면 그만) 검문 스크립트가 실행을 중단(exit 2)시켜 차단
프로젝트별 학습 공통 규칙이거나 사람이 직접 설정 프로젝트마다 규칙 모음(scaffold)이 따로 성장
세션 간 기억 Devin만 일부 지원 6개 영구 저장소에 쌓임
효과 측정 측정 안 함 30일 뒤 자동 평가 후 권고→차단(SOFT→HARD) 승격
프로젝트마다 따로 성장한다

각 프로젝트의 규칙 모음(scaffold)은 그 프로젝트에서 생긴 수정 기록('fix:' 커밋)에서 배웁니다. 그래서 프로젝트끼리 규칙이 섞이지 않습니다. 단, 2개 이상의 프로젝트에서 똑같은 문제가 발견되면 전체 공통 규칙으로 자동 승격됩니다.

article21-page
21
never do rules
Vue / PrimeVue 관리자
bisframework
25
never do rules
BIS 프레임워크
match-system
6
never do rules
Kotlin + Next.js
memory-bank
never do rules
Python
자동으로 만들어진 규칙들 (실제 이력)

아래는 article21-page 프로젝트의 규칙 모음에서 자동으로 뽑아낸 규칙들입니다. 하나하나가 실제로 코드를 고친 기록('fix:' 커밋)에서 만들어졌습니다.

2026-03-20
accountPwd → password
6f81cfa
필드명
2026-03-20
contact → contactPhoneNum
6cc9da8
필드명
2026-03-20
scrollable + scrollHeight 필수
2955142
UI패턴
2026-03-20
FileDropZone 강제 (input[type=file] 금지)
d8874d4
컴포넌트
2026-03-24
localStorage 사용 금지
12401e8
보안
2026-03-24
Controller 중복 매핑 방지
a010d1f
백엔드
2026-03-25
action→actionType, code→permissionCode
8192370
필드명
2026-03-26
RichEditor plain text 변환 필수
5998c50
에디터
2026-03-30
DatePicker fluid 필수
9b8ab68
UI패턴
2026-03-30
AutoComplete completeOnFocus + fluid 필수
c908607
UI패턴
2026-03-30
handleSubmit에 Toast 필수
c95ec93
UX
2026-03-30
form 초기값 DB NOT NULL Boolean 기본값 필수
4197f23
데이터
지금의 한계와 앞으로 개선할 점
한계 현재 상태 앞으로 가능한 개선
과거 기록(Memory-Bank) 연동 문서에는 적어 뒀지만 실제 연동 코드는 아직 일부만 전용 도구를 직접 불러 완전히 연동
말버릇·행동 차단 지금은 코드 실수만 강하게 차단 "확인해주세요" 같은 말버릇도 감지
규칙 품질 단어(키워드)를 맞춰 보는 방식 코드 구조까지 뜯어보는 정밀 분석
효과 측정 시스템 가동 7일차 (아직 판단하기 이름) 30일이 지나야 본격 작동
스스로 도는 폐루프의 힘
한 방향으로 끝나는 방식 (보통의 시스템)
사람이 규칙 작성 → AI에게 전달 → 끝
되먹여 다시 도는 폐루프 (이 시스템)
실수 감지 → 규칙 자동 생성 → 차단으로 강제(HARD) → 효과 측정 → 효과 없으면 더 강하게

지난 7일 동안 51건의 자동 개선, 4개 프로젝트의 독립 규칙 모음(scaffold), 12개의 강제 검문 스크립트(HARD hook)가 모두 이 순환에서 나왔습니다. 시스템은 쓸수록 강해지고, 사람은 정말 판단이 필요한 순간(에스컬레이션)에만 끼어들면 됩니다.