Human Made 시니어 엔지니어 Ivan Kristianto가 AI 에이전트와 함께 매일 일하며 검증한 10가지 워크플로 패턴이다. 특정 도구에 묶이지 않고 대부분의 AI 코딩 에이전트에 적용할 수 있다.
“AI 에이전트는 생각을 대체하지 않는다. 아이디어에서 결과까지의 시간을 압축할 뿐이다. 단, 명확한 의도를 가지고 올 때만.”
1. 비결정론적 현실 받아들이기
AI 에이전트는 동일한 프롬프트에 매번 다른 결과를 낸다. 이 비결정성을 없애려 하지 말고, 반복해도 안전한 구조를 만드는 데 집중한다. 언제든 다시 실행해도 괜찮은 환경이 전제 조건이다.
2. 스펙 우선, 그 다음 구현 (Spec-First)
코드 작성 전 스펙에 시간을 투자하는 것이 AI 에이전트를 생산적으로 쓰는 핵심이다.
추천 순서: brainstorm → spec → plan → build → review
스펙 없이 에이전트에게 코딩을 시키면 “그럴듯한 것”을 만들지, “원하는 것”을 만들지 않는다.
3. 버리는 코드 마인드셋 (Throw-Away Mindset)
에이전트가 만든 코드가 형편없어도 괜찮다. 코드는 더 이상 비싸지 않다. 좋은 결과가 나올 때까지 버리고 다시 시키는 것을 두려워하지 마라.
실천: 에이전트가 막히면 대화를 새로 시작하고, 스펙부터 다시 준다.
4. 품질 게이트: 내장 자기 교정
테스트, 타입 체크, 린터를 에이전트 워크플로에 직접 통합한다. 에이전트가 코드를 완성하면 자동으로 이 게이트를 통과하도록 한다. 실패하면 에이전트가 스스로 수정한다.
Claude Code에서는 Stop hook에 린터를 연결하는 방식이 효과적이다(claude-code-tips-agent-hooks-nano-staged 참고).
5. 스킬: 한 번 만들고 계속 재사용
반복하는 워크플로는 스킬로 만든다. 스킬은 에이전트가 “어떻게 일하는지”를 정의하는 플레이북이다. 처음 설정하는 시간이 들지만, 이후 동일한 작업에 매번 지시할 필요가 없어진다.
6. 워크트리: 브랜치 하나에 환경 하나
git worktree로 각 작업마다 독립적인 환경을 만든다. 여러 에이전트가 서로 방해 없이 병렬로 작업할 수 있다.
git worktree add ../feature-branch -b feature-branch7. 병렬 에이전트: 동시에 더 많이
독립적인 작업들은 에이전트를 병렬로 실행한다. 큰 기능을 쪼개서 여러 에이전트에게 나눠 줄수록 전체 시간이 줄어든다. 워크트리와 함께 쓰면 충돌 없이 병렬 작업이 가능하다.
8. Vibe User: 에이전트가 사용자가 되다
에이전트에게 직접 만든 기능을 사용자처럼 테스트하도록 시킨다.
“이 기능을 처음 쓰는 사용자로서 사용해봐라. 무엇이 혼란스럽고, 무엇이 잘 작동하는지 알려줘.”
놀라울 만큼 솔직한 피드백을 준다.
9. 절반은 코딩이 아니다
AI 에이전트와 함께 일하는 시간의 절반은 코딩이 아니다: 스펙 작성, 에이전트 결과 검토, 방향 수정, 컨텍스트 제공. 이 “비코딩” 작업의 품질이 최종 결과를 결정한다.
10. 툴 어그노스틱하게 유지하기
어떤 에이전트·모델에도 묶이지 않는 스펙과 워크플로를 설계한다. 특정 모델의 나쁜 날이 전체 생산성을 막지 않도록, 어떤 도구로든 실행 가능한 프로세스를 만든다.
요약
| 패턴 | 해결하는 문제 |
|---|---|
| 스펙 우선 | 에이전트가 원하는 것을 만든다 |
| 버리는 마인드셋 | 나쁜 결과의 비용이 거의 없다 |
| 품질 게이트 | 자기 교정 루프 |
| 스킬 | 반복 작업 자동화 |
| 워크트리 | 병렬 스트림 분리 |
| 병렬 에이전트 | 독립 작업을 기다리지 않는다 |
| Vibe User | 솔직한 사용자 피드백 |
참고 자료
- How to code with AI agents — Human Made, Ivan Kristianto (2026-05-27)