안쪽 루프와 바깥쪽 루프 — 쓸수록 똑똑해진다
안쪽 루프는 눈앞의 태스크를 완료까지 반복하고, 바깥쪽 루프는 그 과정에서 얻은 교훈을 디스크에 적어 다음 세션의 출발점으로 바꾼다. 두 루프가 맞물릴 때 시스템은 내버려 둬도 정확도를 올려 간다.
앞 글 Claude Code와 Codex app에서 조립하는 법에서 구성 요소를 실제 도구 위에 올려놓았다. 이 글은 그렇게 조립한 루프가 왜 쓸수록 똑똑해지는지를 안쪽 루프와 바깥쪽 루프의 이중 구조로 설명한다. 이어지는 실례와 정리에서는 이 구조가 실제로 돌아간 사례를 보고 코스 전체를 정리한다.
안쪽 루프와 바깥쪽 루프 ── 쓸수록 똑똑해진다
'쓸수록 똑똑해진다'를 이중 구조로 잡는다
루프 엔지니어링의 재미있는 지점은 쓸수록 똑똑해진다는 데 있다. 이걸 이해하려면 루프를 안쪽과 바깥쪽의 이중 구조로 잡으면 된다.
안쪽 루프 ── 태스크를 완료까지 반복한다
안쪽 루프(inner loop)는 눈앞의 구체적인 태스크를 완료시키기 위한 반복이다. 앞에서 본 한 바퀴 — 발견 → 실행 → 검증 → 기억 → 재실행 — 이 그대로 안쪽 루프에 해당한다. 검증 결과 아직 완료가 아니면 다시 발견·실행으로 돌아간다. 이게 안쪽 루프의 심장부다. Claude Code가 한 세션 안에서 도구를 부르며 도는 바퀴가 어떻게 생겼는지는 에이전틱 루프의 동작 원리에 정리돼 있다.
바깥쪽 루프 ── 교훈을 다음번의 출발점으로 바꾼다
안쪽 루프는 이번 태스크를 처리한다. 하지만 그것만으로는 다음번에도 같은 고생을 반복하게 된다. 거기서 힘을 발휘하는 게 바깥쪽 루프(outer loop)다.
바깥쪽 루프의 역할은 어느 한 번의 세션에서 고생해 얻은 교훈을 앞으로의 모든 세션에서 출발점이 되는 지식으로 바꾸는 데 있다. 한 바퀴 도는 사이에 '여기서 막혔다', '이 방법은 안 통했다', '이 전제는 틀렸다' 같은 배움이 생긴다. 이걸 휘발시키지 않고 영속 기억(디스크)에 다시 적어 둔다. Claude Code라면 그 자리가 CLAUDE.md 같은 프로젝트 파일이 된다.
구체적으로 어떻게 적는가. 하나의 구현 예로 이런 절차를 생각해 볼 수 있다.
- 추출 — 그 세션에서 보존할 가치가 있는 교훈을 뽑아낸다
- 랭킹 — 각 교훈을 '다른 상황에서도 통하는가(범용성)'로 평가한다
- 중복 제거 — 이미 기록된 교훈과 겹치지 않는지 확인한다
- 저장 — 디스크상의 지식 파일로 통합한다
바깥쪽이 안쪽을 서서히 끌어올린다
안쪽 루프와 바깥쪽 루프를 조합하면 무슨 일이 일어날까. 바깥쪽 루프가 써서 남긴 교훈을 다음 안쪽 루프가 출발점으로 읽어 들인다. 그러면 다음 바퀴는 지난번에 걸려 넘어진 자리를 이미 아는 상태에서 시작한다. 이게 '쓸수록 똑똑해진다'의 정체다.
사실 이건 뛰어난 팀이 진작부터 해 온 것과 같은 구조다. 누군가가 골치 아픈 버그를 반나절 걸려 디버깅하고 그 원인과 대처를 사내 문서에 적어 남긴다. 다음에 같은 문제를 만난 담당자는 처음부터 다시 하지 않아도 된다. 루프 엔지니어링은 사람 팀이 자연스럽게 돌리는 이 학습 사이클을 에이전트 자신에게 문서화시키는 것뿐이라고도 할 수 있다.
안쪽 루프가 돌 때마다 바깥쪽 루프가 조금씩 지식을 두껍게 하고, 그 지식이 다음 안쪽 루프를 끌어올린다. 이 이중 루프가 맞물리면 시스템은 내버려 둬도 정확도를 올려 간다. 루프 엔지니어링이 자율적으로 정확도를 올린다고 불리는 건 이 구조 덕분이다.
자주 묻는 질문
팀에 Claude Code를 도입하려면 실제 코드베이스에 맞춘 설계가 필요합니다.
무료 상담 신청