컴파운드 엔지니어링(Compound Engineering)은 실제로 복리 효과를 내는 유일한 AI 코딩 아이디어입니다
요약
AI 에이전트를 활용한 소프트웨어 개발 시, 단순 반복을 넘어 지식을 축적하는 '컴파운드 엔지니어링' 방법론을 소개합니다. 계획, 실행, 평가 후 반드시 학습 내용을 문서화하여 시스템의 능력을 복리로 향상시키는 4단계 루프의 중요성을 강조합니다.
핵심 포인트
- 컴파운드 엔지니어링은 작업 단계가 다음 작업을 더 쉽게 만드는 구조를 의미함
- 핵심은 학습된 내용을 지속 가능한 규칙과 문서로 캡처하는 '복리(Compound)' 단계임
- 이 단계를 생략하면 AI는 발전 없이 단순한 자동 완성 도구에 머물게 됨
- Every는 이를 구현하기 위한 Claude Code용 오픈 소스 플러그인을 출시함
저는 몇 달 동안 매일 AI 에이전트(AI agents)를 사용하여 소프트웨어를 구축해 왔습니다. 제가 배운 가장 큰 사실은 이번 주에 어떤 모델이나 도구가 유행하는지와는 전혀 상관이 없습니다. 바로 이것입니다: 대부분 사람들의 AI 출력물은 평면적입니다. 모든 작업이 제로(zero)에서 시작됩니다. 에이전트는 지난주와 똑같이 영리하면서도 똑같이 잘 잊어버립니다.
Every의 Kieran Klaassen과 Dan Shipper는 이 문제에 '컴파운드 엔지니어링 (compound engineering)'이라는 이름을 붙였습니다. 아이디어는 거의 바보 같을 정도로 단순합니다: 각 작업 단계가 다음 작업을 더 어렵게 만드는 것이 아니라, 더 쉽게 만들어야 한다는 것입니다. 그들은 기본적으로 1인 엔지니어링 팀을 기반으로 여러 제품을 운영하고 있습니다. 일단 그 차이를 느끼고 나면 다시 예전으로 돌아가기가 정말 어렵습니다.
이것은 보통 4단계 루프(loop)로 그려집니다. 계획(Plan), 실행(Work), 평가(Assess), 복리(Compound).
계획 (Plan) - 코드 한 줄을 쓰기 전에, 에이전트들이 코드베이스(codebase), 컨벤션(conventions), 프레임워크 버전(framework versions)을 읽고 당신이 수정할 수 있는 계획을 전달합니다.
실행 (Work) - 계획이 빌드(build)를 주도합니다. 에이전트가 기능(feature)과 테스트(tests)를 작성합니다.
평가 (Assess) - 리뷰 에이전트(review agents)가 이를 확인합니다. 정확성(Correctness), 보안(security), 아키텍처(architecture)를 검토합니다.
복리 (Compound) - 이번에 배운 모든 것은 시스템이 다음에 실제로 읽을 수 있는 지속 가능한 규칙(durable rules)과 문서(docs)로 캡처됩니다.
모두가 처음 세 단계는 수행합니다. 하지만 네 번째 단계를 수행하는 사람은 거의 없습니다.
그리고 네 번째 단계가 핵심입니다. 그것이 실제로 복리 효과를 내는 유일한 단계입니다. 이 단계를 건너뛰면 컴파운드 엔지니어링이 아니라, 추가 단계가 붙은 매우 빠른 자동 완성(autocomplete)일 뿐입니다.
Every는 이를 오픈 소스 Claude Code 플러그인으로 출시했습니다. 계획을 구성하고, 작업을 실행하며, 리뷰를 수행하는 일련의 /ce: 명령어 세트입니다. 진정으로 훌륭한 진입로입니다. 터미널(terminal) 환경에서 작업하신다면 가져가서 사용해 보세요.
하지만 플러그인이 곧 루프는 아닙니다. 루프는 규율(discipline)입니다. 어려운 점은 /ce:plan을 타이핑하는 것이 아니었습니다. 피곤하고 기능이 이미 작동해서 그냥 머지(merge)하고 잠들고 싶을 때, 매번 정직하게 '복리(compound)' 단계를 수행하는 것입니다. 바로 그 지점에서 프로세스가 무너집니다.
저도 한동안 이 과정을 수동으로 실행해 보았는데, 매번 똑같은 누수(leaks)가 발생했습니다.
컴파운드 단계 (compound step)는 선택 사항이기 때문에, 실제로 일어나지 않습니다. 배운 내용을 기록하는 것은 지루한 일이며, 이를 건너뛴다고 해서 무엇인가가 고장 나는 것도 아닙니다. 그래서 당신은 그것을 건너뜁니다. 그러면 시스템은 조용히 복리 효과 (compounding)를 멈춥니다.
당신의 기억은 파편화됩니다. 교훈들은 CLAUDE.md에 대한 무작위적인 수정 사항으로 남게 되어 서서히 늪으로 변하거나, 더 나쁜 경우에는 그냥 당신의 머릿속에만 머물게 됩니다. 왜 그런 결정이 내려졌는지, 혹은 바로 지난주에 이 정확한 지점에서 에이전트 (agent)를 교정했었는지에 대한 기록이 전혀 남지 않습니다.
아무것도 제어되지 않습니다. 루프 (loop)는 하나의 관습일 뿐, 장벽이 아닙니다. 속도를 내기 시작하는 순간, 작업은 계획에서 바로 병합 (merge) 및 평가 (assess) 단계로 건너뛰게 되며, 컴파운드 (compound) 단계는 뒤로 떨어져 나가 버립니다.
이것의 더 심화된 버전, 즉 결정 사항과 컨텍스트 (context)가 일련의 병렬 에이전트 (parallel agents)들 사이에서 어떻게 표류하는지에 대한 문제는 그 자체로 하나의 거대한 미궁입니다. 저는 그 주제에 대해 별도로 다루었습니다.
그래서 제가 에이전트 루프 (agent loop)를 구성할 때마다 실제로 신경 쓰는 유일한 질문은 이것입니다: 한 달 뒤에, 이 시스템은 오늘보다 내 제품을 더 잘 만드는 능력을 갖추게 될 것인가? 아니면 그저 지금처럼 유창하기만 하고, 지금처럼 잘 잊어버리는 상태로 남아 있을 것인가?
만약 컴파운드 단계 (compound step)가 없다면, 당신은 이미 답을 알고 있습니다.
네 번째 단계를 구축하세요. 그것이 게임의 전부입니다 🙌
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기