AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

AI 에이전트 결과물 일관성 높이는 법, 시니어 개발자의 Spec-Driven 워크플로우

에이전트를 더 많이 쓸수록 더 지쳐가고 있다면, 그건 워크플로우의 문제일 수 있습니다. AI 오케스트레이터로 에이전트를 병렬로 돌리고, AI 기반 IDE를 쓰고, 코드도 쏟아지는데 — 정작 그걸 배우고, 검증하고, 버그를 잡는 건 여전히 사람의 몫입니다. 결국 전보다 더 피로한 시니어 리뷰어가 되어버리는 것이죠.

사진 출처: MotherDuck

MotherDuck이 운영하는 ‘AI 실무자 인터뷰’ 시리즈의 첫 번째 게스트는 Gable의 Head of DevRel이자 O’Reilly 데이터 계약 도서 공저자인 Mark Freeman입니다. 임상 연구자, 데이터 사이언티스트, 데이터 엔지니어를 거친 그는 Claude Code와 Spec-Driven Development(SDD)를 결합해 AI 에이전트 작업에서 재현 가능하고 일관된 결과를 만들어내는 방법을 공유했습니다.

출처: Specs Over Vibes: Consistent AI Results ft. Mark Freeman – MotherDuck

코드가 아닌 스펙을 먼저 만든다

Mark의 워크플로우에서 가장 핵심은 하나입니다. 무엇을 만들지를 먼저, 아주 명확하게 정의하는 것. 그는 이를 Spec-Driven Development(SDD)라고 부릅니다.

시작은 항상 ExcaliDraw 다이어그램입니다. 아키텍처 개요가 아닌, 데이터가 실제로 어떻게 흐르는지를 그린 플로우 다이어그램입니다. ExcaliDraw 파일은 JSON 형식이라 다이어그램 옆에 데이터 스키마 정의를 함께 붙여둘 수 있고, 이 전체를 Claude Code에 그대로 넘깁니다. 이 스펙 작성 단계에 그는 몇 시간, 때로는 며칠을 씁니다. 데이터 스키마, 사용할 도구, 아키텍처 결정 — 시니어 엔지니어로서 판단할 수 있는 모든 것을 사전에 문서화합니다.

이 방식이 효과적인 이유는 명확합니다. AI 에이전트에게 모호한 지시를 주면 모호한 결과가 나오고, 그걸 고치는 데 또 시간을 씁니다. 반면 스펙이 구체적일수록 에이전트는 정확하게 움직이고, 같은 스펙으로 다시 돌려도 비슷한 결과가 나옵니다.

코드를 리뷰하지 않고, 결과물을 검토한다

에이전트가 코드를 생성하면 Mark는 코드를 한 줄씩 읽지 않습니다. 대신 파이프라인을 실제로 실행하고, 결과가 스펙과 JSON 스키마를 충족하는지를 봅니다.

더 독특한 것은 첫 번째 빌드를 의도적으로 버릴 것으로 취급한다는 점입니다. 처음 구현은 ‘요구사항을 탐색하기 위한 빌드’입니다. 실행해보고, 예상과 다른 점을 발견하고, 그 학습을 스펙에 반영한 뒤 에이전트를 처음부터 다시 돌립니다. 사이클은 이렇습니다:

  1. 스펙 작성
  2. 에이전트 빌드
  3. 결과 검토
  4. 스펙 업데이트
  5. 처음부터 재실행

반복할수록 스펙은 정교해지고, 나중에 돌린 결과는 처음보다 훨씬 신뢰할 수 있습니다.

AI가 시니어 엔지니어에게 더 유리한 이유

Mark는 AI 에이전트가 주니어보다 시니어 엔지니어에게 더 큰 도움이 된다고 단언합니다. 이유는 간단합니다. 스펙 작성의 질이 곧 결과의 질이기 때문입니다.

Apache Kafka를 쓸지, 스키마를 JSON으로 할지 Avro로 할지, Parquet을 쓸지 — 이런 결정들은 여러 데이터 플랫폼을 직접 구축해본 경험 없이는 판단하기 어렵습니다. 잘못된 아키텍처 선택 하나가 초기부터 레거시 코드를 쌓아올리게 만들고, 에이전트는 그걸 충실히 구현합니다. 경험이 있는 엔지니어는 이 지점에서 가이드레일 역할을 합니다. 에디터의 린터처럼, 런타임 이전에 잘못된 선택을 잡아낼 수 있는 것이죠.

AI를 도구로 쓰는 사람과 AI에 끌려가는 사람

Mark는 한 가지 경고도 함께 남겼습니다. 많은 코드를 빠르게 만들어내는 것이 깊은 작업처럼 느껴지지만, 그 과정에서 배움이 없다면 그건 가짜 작업(pseudo work) 이라는 것입니다. 그는 이를 “Claude Code 슬롯머신”이라고 불렀습니다 — 유용함을 넘어선 도파민 중독.

스펙 주도 접근법은 이 함정을 피하는 방법이기도 합니다. 에이전트가 만든 결과를 검토하고, 무엇이 잘못됐는지를 파악하고, 더 나은 스펙을 쓰는 과정에서 실제 학습이 일어납니다.

원문에는 에이전트 병렬화 방법, 데이터 계약에 AI를 통합하는 방식, 로컬 모델의 미래에 대한 Mark의 시각도 담겨 있습니다.

참고자료:


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다