AI 코딩 흐름
하나의 아이디어에서 지속 운영까지, AI 코딩은 한 번에 끝나지 않습니다 — 4개 시기와 12개 단계를 도는 순환입니다. 각 단계마다 왜 중요한지, 무엇을 할지, 흔한 실수, 무엇을 얻는지를 정리했습니다.
다음: AI와 협업하는 법(협업 플레이북) →계획
만들기 전에 생각하기 — 모호한 아이디어를 AI가 실행할 계획으로.
- 1
아이디어
누구의 어떤 문제를 푸는지 명확히. 한 문장이면 이상적.
- 왜 중요한가
- 방향이 틀리면 이후 작업이 모두 헛수고다 — 시작 전에 만들 가치가 있는지 확인한다.
- 무엇을 할까
- 「누구의 어떤 문제를 푸는지」를 한 문장으로 — 친구가 들어도 이해할 만큼.
- 흔한 실수
- 한 번에 열 가지 기능을 욱여넣어 결국 아무것도 못 끝낸다.
- 얻는 것
- 한 문장으로 말할 수 있는 제품 콘셉트.
- 2
명세
아이디어를 구체적 기능과 규칙으로 분해해 완성 기준을 전달.
- 왜 중요한가
- AI는 말한 대로만 한다; 모호하면 추측하고, 그 오류는 보통 가장 늦게 드러난다.
- 무엇을 할까
- 핵심 기능·사용 흐름·「하지 않을 것」을 적어 AI에게 줄 지시서로.
- 흔한 실수
- 「바람」을 「요건」으로 착각하고, 완료 기준이 없다.
- 얻는 것
- 기능 목록과 인수 기준.
- 3
아키텍처
프론트·백·DB 배치를 결정. 작성 전에 그림부터.
- 왜 중요한가
- 부품 배치를 먼저 정해 두면 나중 변경이 전체로 번지지 않는다.
- 무엇을 할까
- 프론트·백·DB 관계도를 AI에게 그리게 하고, 이해한 뒤 진행.
- 흔한 실수
- 구조가 정해지기 전에 작성해, 도중에 아키텍처가 무너진다.
- 얻는 것
- 아키텍처 다이어그램과 기술 선택.
- 4
계획
작업을 작은 단계로 나눠 AI가 한 번에 하나에 집중하게.
- 왜 중요한가
- 큰 작업을 한꺼번에 주면 AI는 초점을 잃는다; 잘게 나눠야 정확해진다.
- 무엇을 할까
- 기능을 각자 완료·검증되는 작은 작업으로 나눈다.
- 흔한 실수
- 단계가 크고 서로 얽혀, 하나가 막히면 전부 멈춘다.
- 얻는 것
- 순서가 있는 작업 체크리스트.
구축
AI가 쓰고 당신이 방향을 잡아 — 작동하고 읽히는 코드를.
- 5
구현
AI가 계획대로 구현; 당신은 방향 확인과 맥락 보완.
- 왜 중요한가
- 여기가 AI가 가장 강한 구간 — 하지만 방향이 맞는지는 당신 몫이다.
- 무엇을 할까
- 한 번에 한 작업만 주고, 작성을 지켜보며 맥락을 더하고, 빗나가면 다시 시킨다.
- 흔한 실수
- AI 코드를 통째로 받아들이고, 이해하지 못한 채 넘어간다.
- 얻는 것
- 실제로 작동하는 기능 코드.
- 6
코드 리뷰
다른 AI(또는 당신)가 로직과 유지보수성을 점검.
- 왜 중요한가
- 「작동한다」와 「잘 만들었다」는 다르다 — 지금 점검을 건너뛰면 빚은 미래의 나에게.
- 무엇을 할까
- 다른 AI(또는 당신)가 한 단락씩 「맞는가·유지보수 쉬운가」를 묻는다.
- 흔한 실수
- 버그 유무만 보고, 가독성이나 변경 용이성은 보지 않는다.
- 얻는 것
- 정리되어 읽히는 코드.
검증
출시 전 관문 — 보안·계약·테스트를 하나씩 통과.
- 7
보안 리뷰
권한·입력 검증·기밀 유출 등 취약점 집중 점검. 출시 전 필수.
- 왜 중요한가
- 취약점 하나로 사용자 데이터가 샐 수 있다 — 출시 전 마지막 방어선.
- 무엇을 할까
- 권한·입력 검증·코드에 박힌 기밀을 AI에게 집중 점검시킨다.
- 흔한 실수
- 「내 작은 프로젝트는 공격 안 당해」라 여기고 통째로 건너뛴다.
- 얻는 것
- 취약점 목록과 그에 대한 수정.
- 8
계약 검증
프론트와 백엔드의 데이터 형식 약속이 일치하는지 확인.
- 왜 중요한가
- 프론트와 백엔드가 데이터 형식을 다르게 알면, 화면이 연결되지 않고 오류가 난다.
- 무엇을 할까
- 양쪽이 주고받는 필드가 일치하는지 확인 — 이상적으로는 같은 스키마 공유.
- 흔한 실수
- 각자 구현하고, 통합 시점에야 필드 이름·타입이 안 맞는다는 걸 안다.
- 얻는 것
- 양쪽이 지키는 데이터 계약.
- 9
통합 테스트
각 부분을 연결해 전체로 테스트.
- 왜 중요한가
- 각 부품이 따로는 작동해도 합쳐서 잘 된다는 보장은 없다 — 연결해 봐야 안다.
- 무엇을 할까
- 여러 기능을 엮어 실제 흐름을 재현하는 테스트를 AI에게 작성하게 한다.
- 흔한 실수
- 단일 기능만 테스트하고, 서로 협력하는 상황은 한 번도 시험하지 않는다.
- 얻는 것
- 자동 실행되는 통합 테스트 모음.
- 10
런타임 테스트
실제에 가까운 환경에서 실행하고 실사용자처럼 조작.
- 왜 중요한가
- 자동 테스트로 못 잡는 「손맛」과 실제 환경 문제는 직접 눌러봐야 드러난다.
- 무엇을 할까
- 실제에 가까운 환경에서, 실사용자처럼 처음부터 조작해 본다.
- 흔한 실수
- 자기 컴퓨터에서만 돌려보고 문제없다고 단정한다.
- 얻는 것
- 실제로 써 보며 찾은 문제 기록.
운영
배포하고 계속 지키기 — 배포·관측·반복.
- 11
배포
실서비스로 배포해 전 세계가 접근 가능하게(이 사이트는 Cloudflare Pages).
- 왜 중요한가
- 배포 전에는 아무도 못 쓴다 — 배포가 결과물을 사용자 손에 쥐여 준다.
- 무엇을 할까
- 호스팅을 고르고(이 사이트는 Cloudflare Pages), 도메인과 환경 변수를 설정한 뒤 배포한다.
- 흔한 실수
- 비밀번호·키를 코드에 박은 채로 배포한다.
- 얻는 것
- 외부 사용자가 접근 가능한 공개 URL.
- 12
모니터링
출시 후 계속 관찰: 고장 여부, 속도, 이상 징후.
- 왜 중요한가
- 출시는 종점이 아니다 — 고장·지연·공격, 사용자보다 먼저 알아야 한다.
- 무엇을 할까
- 오류 알림과 기본 지표를 갖추고 주기적으로 확인하며, 배운 것을 다음 회차로 되돌린다.
- 흔한 실수
- 출시 후 안 들여다봐서, 사용자가 먼저 문제를 알아챈다.
- 얻는 것
- 당신에게 먼저 알려 주는 관측 체계.