이 글은 AI 코딩 에이전트가 모든 코드를 작성하는 시대에 소프트웨어 엔지니어링이 어떻게 변화하고 있는지, 그리고 Every 팀이 개발한 새로운 엔지니어링 방식인 컴파운드 엔지니어링에 대해 설명합니다. 컴파운드 엔지니어링은 AI 에이전트의 학습 루프를 활용하여 매번 새로운 기능 개발이 더 쉬워지도록 하는 방식으로, 개발 생산성을 크게 향상시킵니다. 이 글을 통해 컴파운드 엔지니어링의 기본 개념과 4단계 루프를 이해하고, 직접 적용해 볼 수 있는 인사이트를 얻을 수 있습니다.


1. AI 코딩 시대의 도래와 컴파운드 엔지니어링의 필요성 🚀

Every 팀은 AI 코딩 에이전트가 너무나 강력해져서 코드를 직접 타이핑하는 것이 어색하게 느껴질 정도라는 현실에 직면했어요. 과거에는 코딩이 어렵고 엔지니어 인력이 부족하다는 전제 아래 소프트웨어 엔지니어링이 발전했지만, 이제는 이런 병목 현상이 사라지고 있죠. 수동으로 테스트를 작성하거나, 문서화가 많은 인간이 읽기 쉬운 코드를 힘들게 타이핑하는 등의 전통적인 방식은 너무 느리고 시대에 뒤떨어진 것처럼 느껴지기 시작했습니다.

이러한 새로운 능력과 변화하는 제약 조건에 대응하기 위해 Every 팀은 컴파운드 엔지니어링이라는 새로운 엔지니어링 방식을 개발했어요. 기존 엔지니어링에서는 기능이 추가될수록 코드가 복잡해지고, 예외 처리나 상호 의존성이 늘어나 다음 기능 개발이 더 어려워지는 경향이 있었죠. 하지만 컴파운드 엔지니어링에서는 정반대로, 각 기능이 다음 기능 개발을 더 쉽게 만들 것으로 기대합니다. 🤩

이것이 가능한 이유는 컴파운드 엔지니어링이 에이전트와 팀원들을 위한 학습 루프를 만들기 때문이에요. 버그, 실패한 테스트, 그리고 문제 해결에 대한 아하! 하는 통찰력들이 문서화되고 미래의 에이전트들이 이를 활용하게 되는 거죠. 코드베이스의 복잡성은 여전히 증가하지만, AI의 코드베이스 지식도 함께 성장하여 미래 개발 작업이 더 빨라집니다.

Every 팀은 이 방식으로 5가지 소프트웨어 제품을 내부에서 운영하고 있으며, 각 제품은 주로 한 사람이 구축하고 관리하고 있어요. 이 제품들은 매일 수천 명의 사람들이 중요한 업무에 사용하고 있죠. 이는 AI를 제대로 활용한다면, 오늘날 한 명의 개발자가 몇 년 전의 다섯 명의 개발자만큼의 작업을 해낼 수 있다는 것을 의미합니다. 그들에게는 AI의 힘을 활용할 수 있는 좋은 시스템만 있으면 돼요. 이 글은 Every에서 컴파운드 엔지니어링을 어떻게 실행하는지 높은 수준에서 알려드릴 거예요.

Uploaded image


2. 컴파운드 엔지니어링 루프: 4단계 핵심 과정 ✨

컴파운드 엔지니어는 계획, 코드 작성, 평가를 수행하는 에이전트들을 조율합니다. 이 과정은 다음과 같은 루프를 따라 진행돼요.

  1. 계획 (Plan): 에이전트가 이슈를 읽고, 접근 방식을 연구하며, 정보를 종합하여 상세한 구현 계획을 세웁니다.
  2. 작업 (Work): 에이전트가 계획에 따라 코드를 작성하고 테스트를 만듭니다.
  3. 검토 (Review): 엔지니어가 에이전트의 결과물과 그 과정에서 얻은 교훈을 검토합니다.
  4. 복리 효과 (Compound): 엔지니어가 결과를 시스템에 다시 피드백하여 다음 루프를 개선하고, 시스템 전체가 성공과 실패로부터 학습하게 만듭니다. 바로 여기서 마법이 일어나는 거죠! 💫

Every 팀은 주로 Anthropic의 Claude Code를 컴파운드 엔지니어링에 사용하지만, 이는 도구에 구애받지 않는 방식이에요. 다른 팀원들은 Factory의 Droid나 OpenAI의 Codex CLI를 사용하기도 합니다. 직접 해보고 싶다면, EveryInc에서 개발한 컴파운드 엔지니어링 플러그인을 Claude Code에 연결하여 내부에서 사용하는 워크플로우를 그대로 실행해 볼 수 있습니다.

컴파운드 엔지니어링의 대략 80%는 계획검토 단계에, 나머지 20%는 작업복리 효과 단계에 집중됩니다. 이제 각 단계를 좀 더 자세히 살펴볼까요?


2.1. 계획 (Plan) 🧠

에이전트가 모든 코드를 작성하는 세상에서 개발자의 시간 대부분은 계획을 세우는 데 쓰여요. 좋은 계획은 연구에서 시작됩니다. 우리는 에이전트에게 현재 코드베이스와 그 커밋 이력을 살펴보게 하여 코드베이스의 구조, 기존 모범 사례, 그리고 구축 방식을 이해하도록 합니다. 또한, 해결하려는 문제와 관련된 모범 사례를 인터넷에서 찾도록 요청하죠. 이렇게 하면 에이전트가 좋은 작업을 수행할 준비가 되는 거예요.

연구가 완료되면 에이전트는 계획을 작성합니다. 보통 이 계획은 컴퓨터 파일이나 GitHub 이슈로 존재하는 텍스트 문서 형태예요. 이 계획서에는 기능의 목표, 제안된 아키텍처, 코드가 어떻게 작성될지에 대한 구체적인 아이디어, 연구 출처 목록, 그리고 성공 기준 등 모든 내용이 상세하게 담겨있습니다.

A planning document for a Cora feature. (Image courtesy of Kieran Klaassen.)

Cora 기능에 대한 계획 문서입니다. (Kieran Klaassen 제공 이미지)

계획은 당신과 에이전트 사이에 무엇을 구축할지에 대한 공유된 정신 모델을 형성하는 데 도움을 줍니다. 좋은 계획은 단순히 일을 위임하는 것이 아니에요. 개발자가 에이전트를 올바른 방향으로 이끌기 위해 깊이 생각하고 창의력을 발휘해야 합니다. 모델이 발전할수록, 특히 작은 프로젝트에서는 계획을 덜 세워도 에이전트가 당신이 원하는 것을 이해하거나 놀랍지만 좋은 결과를 만들어낼 수 있어요. 하지만 복잡한 프로덕션 프로젝트에서는 좋은 계획이 기대하는 대로 작동하는 고품질 소프트웨어를 구축하는 데 필수적인 부분입니다. 좋은 계획이 있다면 어려운 부분은 거의 끝난 거예요. 😉


2.2. 작업 (Work) 🛠️

이 단계는 정말 간단해서 가장 쉬운 단계라고 할 수 있어요. 그냥 에이전트에게 작업을 시작하라고 지시하기만 하면 됩니다. 에이전트는 당신의 계획을 받아서 할 일 목록으로 만들고, 단계별로 구축을 진행할 거예요.

이 단계에서 가장 중요한 팁 중 하나는 Playwright나 XcodeBuildMCP와 같은 모델 컨텍스트 프로토콜을 사용하는 것입니다. 이 도구들을 사용하면 에이전트가 웹 앱을 사용하거나 휴대폰에서 사용을 시뮬레이션하면서 코드를 작성하고 앱을 테스트할 수 있어요. 마치 실제 사용자처럼 말이죠! 🧑‍💻 그래서 에이전트가 코드를 작성하고, 앱을 살펴보면서 문제를 발견하고, 코드를 수정하고, 이 과정을 완료될 때까지 반복합니다. 이 방식은 특히 디자인 작업이나 워크플로우에 아주 유용한데요, 디자인과 비슷해질 때까지 프로토타입을 계속 반복해서 수정할 수 있기 때문이에요.

최신 에이전트, 예를 들어 Opus 4.5 같은 모델들은 작업 단계에서 나오는 결과물이 훨씬 더 기능적이고 오류가 없을 가능성이 높습니다. 특히 계획이 잘 작성되었다면, 당신이 상상했던 것과 거의 비슷하게 결과물이 나올 때도 많아요. 하지만 좋은 결과물이라도 반드시 확인해야겠죠? 다음 단계에서 그 작업을 진행합니다.


2.3. 평가 (Assess) 🤔

평가 단계에서는 에이전트에게 자신의 작업을 검토하도록 요청하고, 우리도 그 작업을 함께 검토합니다. 이 과정은 여러 가지 형태로 이루어질 수 있어요. 우리는 기본적인 오류를 찾기 위해 린터(linters)와 단위 테스트(unit tests) 같은 전통적인 개발 도구를 사용하고, 수동으로 테스트하여 구축된 내용이 상식적으로 맞는지 확인합니다. 또한 Claude, Codex, Friday, Charlie와 같은 자동 코드 리뷰 에이전트를 사용하여 일반적인 문제를 찾아 코드를 스팟 체크하죠.

최신 AI는 평가 단계를 훨씬 더 강력하게 만들어줍니다. 예를 들어, Every 팀의 컴파운드 엔지니어링 플러그인은 12개의 보조 에이전트와 병렬로 코드를 검토하는데, 각 에이전트는 다른 관점에서 코드를 확인합니다. 😮 한 에이전트는 일반적인 보안 문제를 찾고, 다른 에이전트는 일반적인 성능 문제를 확인하고, 또 다른 에이전트는 과도하게 구축된 부분이 없는지 살펴봐서 소프트웨어가 비대하거나 너무 복잡하지 않도록 합니다. 이 모든 다양한 관점들이 종합되어 개발자에게 제시되고, 개발자는 무엇을 수정해야 할지, 무엇을 무시할지 결정할 수 있게 됩니다.

컴파운드 엔지니어링의 진정한 힘은 다음 단계에서 발휘됩니다. 바로 같은 문제를 다시는 겪지 않도록 하는 단계죠! 💪


2.4. 복리 효과 (Compound) 💰

이것이 바로 이 되는 단계입니다! 우리는 이전 단계들에서 학습한 내용들—버그, 잠재적인 성능 문제, 특정 문제를 해결하는 새로운 방법들—을 기록하여 에이전트가 다음에 사용할 수 있도록 합니다. 이것이 바로 컴파운드 엔지니어링에서 '복리 효과'가 일어나는 방식이에요.

예를 들어, Every의 AI 이메일 비서인 Cora의 코드베이스에서는 새로운 것을 구축하기 전에 에이전트가 스스로에게 질문해야 합니다: 이것이 시스템의 어디에 속해야 할까? 이미 존재하는 것에 추가해야 할까, 아니면 새로운 것이 필요할까? 이전에 비슷한 문제를 해결한 적이 있어서 재사용할 수 있을까? 💬 이러한 질문들에는 과거에 저질렀던 실수들에서 비롯된 구체적인 기술적 예시들이 포함되어, 에이전트가 코드베이스에서 올바른 위치에 올바른 해결책을 찾도록 유도합니다.

이러한 규칙들은 대부분 자동화된 방식으로 구축됩니다. 예를 들어, 코드 리뷰를 마친 후에 우리는 에이전트에게 댓글을 살펴보고 요약하여 나중에 사용할 수 있도록 저장하라고 요청할 거예요. 최신 모델들은 추가적인 지시 없이도 이 모든 것을 수행할 만큼 충분히 똑똑하고, 다음번에 실제로 활용할 만큼도 똑똑합니다! 💡

이것의 아름다운 점은 이러한 학습 내용들이 팀에 자동으로 배포된다는 거예요. 이 학습 내용들은 코드베이스 안에 또는 Every 팀의 플러그인과 같은 곳에 프롬프트로 기록되기 때문에, 팀의 모든 개발자가 이를 무료로 얻을 수 있습니다. 모두가 더 생산적이 되는 거죠. 코드베이스에 한 번도 참여하지 않은 신입 사원도 오랜 시간 팀에 있었던 사람만큼이나 흔한 실수를 피할 수 있도록 잘 준비됩니다. 🎓


3. 컴파운드 엔지니어링: 미래를 내다보고 배우기 🔭

지금까지 컴파운드 엔지니어링에 대한 기본적인 개요를 설명했어요. 사실 각 단계는 그 자체로 하나의 독립적인 기사가 될 만큼 깊이 있는 내용을 담고 있습니다. 또한, 이 새로운 소프트웨어 생산 방식에도 여전히 존재하는 몇 가지 제약 사항들, 예를 들어 개발자가 무엇을 만들지 결정하고 계획을 처리하고 개선하며, '좋은 것'이 무엇인지 설명하는 속도와 같은 부분은 아직 다루지 못했습니다.

우리는 컴파운드 엔지니어링의 가능성과 그 광범위한 함의를 아직 표면적으로만 탐색하고 있을 뿐입니다. 수동으로 테스트를 작성하거나, 많은 문서를 포함한 인간이 읽기 쉬운 코드를 작성하는 것은 이제 더 이상 필요하지 않습니다. 인터넷 접속 없이 코딩을 요구하거나, 신입 사원이 코드를 커밋하는 데 몇 주가 걸릴 것이라고 예상하는 것도 마찬가지입니다. 그리고 레거시 코드가 너무 이해하기 어렵고 플랫폼을 변경하는 데 너무 많은 비용이 들어 특정 플랫폼이나 기술에 갇히는 것도 더 이상 큰 문제가 되지 않을 거예요. 우리는 이 새로운 엔지니어링 방식이 무엇을 가능하게 할지에 대해 더 많이 쓸 수 있기를 기대하고 있습니다.

이 주제에 관심이 있다면 Every 팀에서 발행한 다른 글들을 읽어보시길 강력히 추천합니다:

  1. "코딩을 멈추고 계획을 시작하세요"
  2. "당신의 AI에게 시니어 엔지니어처럼 생각하도록 가르치세요"
  3. "내가 코드를 보기 전에 이미 AI가 코드를 고쳐놓았습니다"
  4. "Every가 Opus 4.5의 세상을 바꾸는 변화를 어떻게 활용하고 있는가"

또한, Codex Camp와 같은 워크숍에 참여하여 OpenAI의 코딩 에이전트를 사용하여 구축하는 방법에 대해 직접 배울 수 있습니다. Every 팀은 앞으로 이 프로세스의 각 단계와 그것이 Every와 그 너머의 엔지니어링을 어떻게 변화시켰는지에 대해 더 많은 글을 발행할 예정입니다. 기대해주세요! 😊


마무리하며 💡

컴파운드 엔지니어링은 AI 에이전트의 강력한 코딩 능력을 활용하여 소프트웨어 개발의 패러다임을 바꾸는 혁신적인 접근 방식입니다. 계획, 작업, 평가, 그리고 복리 효과라는 네 가지 핵심 단계를 통해 에이전트와 개발자가 끊임없이 학습하고 발전하며, 결과적으로 개발 효율성과 생산성을 극대화합니다. 이는 개별 개발자의 역량을 증폭시키고, 팀 전체의 지식 공유를 자동화하며, 궁극적으로 더 빠르고 효율적인 소프트웨어 개발을 가능하게 할 것입니다. 미래의 소프트웨어 엔지니어링은 코딩 에이전트와 함께하는 '컴파운드 엔지니어링'이 주도할 것이라고 Every 팀은 확신합니다.

함께 읽으면 좋은 글

함께 읽으면 좋은 글

HarvestAI한국어

에이전트가 ‘코딩’하고, 연구가 ‘루프’를 돌기 시작한 시대: 안드레이 카파시 대담 요약

안드레이 카파시는 최근 몇 달 사이 코딩 에이전트의 도약으로 인해, 사람이 직접 코드를 치기보다 “에이전트에게 의도를 전달하는 일”이 핵심이 됐다고 말합니다. 그는 이 흐름이 오토리서치(AutoResearch)처럼 “실험–학습–최적화”를 사람이 거의 개입하지 않고 굴리는 자율 연구 루프로...

2026년 3월 21일더 읽기
Harvest엔지니어링 리더십 · AI한국어

포춘 500 컨설팅 기업의 '미래 기술 가속화' 프로그램, 그 뒷면의 진실

이 요약은 포춘 500대 컨설팅 기업에서 진행된 "미래 기술 가속화" 프로그램의 충격적인 진실을 다룹니다. 287명의 고위 컨설턴트들이 AI 교육을 받으며 자신들의 전문 지식을 공유했지만, 이는 결국 이들의 해고와 저렴한 해외 인력 대체로 이어지는 비극적인 결과를 낳았습니다. 본문은 기업들...

2026년 3월 10일더 읽기
Harvest엔지니어링 리더십 · AI한국어

Software 3.0 시대, 조직의 생산성을 끌어올리는 AI 하네스 구축하기

이 글은 개발팀 내에서 개인의 역량에 크게 의존하고 있는 AI(LLM) 활용 방식을 조직 전체의 체계적인 시스템으로 발전시켜야 한다는 핵심적인 메시지를 담고 있습니다. 특히 Claude Code의 플러그인과 마켓플레이스 생태계를 단순한 확장 도구가 아닌, 팀의 업무 방식과 지식을 코드로 만...

2026년 3월 8일더 읽기