📥 PDF 저장 방법:
키보드로 직접:
Ctrl + P
(Mac: ⌘ + P)
⚠️ 인쇄 시 "배경 그래픽" 옵션을 꼭 켜주세요!
(표지 배경색 표시를 위해 필수)
AI로 개발을 가속하기
룰과 구조로 배우는 협업의 기술
하용호 님과 함께하는 AI 개발 가이드
학습용 요약 자료
AI 개발의 핵심 철학
1️⃣ AI는 '도구'가 아니라 '동료'다
AI를 활용한 개발의 핵심은 단순히 "AI가 코드를 대신 짜준다"는 것이 아니다. 진짜 중요한 것은 AI가 올바르게 배우고 성장할 수 있는 환경을 만들어주는 일이다. AI를 도구가 아니라 함께 일하는 동료로 바라볼 때, 생산성과 품질은 동시에 높아진다. 이런 접근을 룰 그로잉 개발(Rule-Growing Development) 이라고 한다.
2️⃣ 룰 그로잉 개발 – AI를 코칭하는 방법
AI가 잘못된 코드를 만들었을 때 직접 고치는 대신, 왜 그런 결과가 나왔는지를 분석하고 다시는 같은 실수를 하지 않도록 룰을 추가한다. 예를 들어 AI가 변수 이름을 모두 대문자로 만들면 "변수는 소문자와 밑줄(_)을 사용해줘"라는 규칙을 남긴다. 이렇게 룰이 쌓이면 AI는 점점 팀의 코딩 습관을 학습하며 사람처럼 일관된 결과를 만들어낸다. 즉, 개발자가 AI를 코칭하며 함께 성장시키는 방식이다.
3️⃣ 컨텍스트 엔지니어링 – 맥락을 다듬는 기술
AI가 올바르게 작동하려면 맥락(컨텍스트) 관리가 필수다. AI는 대화나 문서의 흐름을 이해하지만 한 번에 기억할 수 있는 양이 한정되어 있다. 그래서 프로젝트를 진행할 때는 큰 파일을 기능별로 나누고, 핵심 정보만 담은 plan.md 문서로 단계별 계획을 정리한다. 대화가 길어지면 /compact 명령어로 요약을 시켜 AI가 불필요한 맥락을 잊고 다시 집중하게 한다.
이처럼 AI가 이해하기 쉬운 구조를 설계하는 과정컨텍스트 엔지니어링(Context Engineering) 이라고 한다.
4️⃣ 스펙 기반 개발 – 설계도를 먼저 그린다
개발 과정에서는 명세서(Spec) 가 AI의 나침반이 된다. "로그인 기능 만들어줘"보다는 "이메일과 비밀번호를 입력받고, 틀리면 오류를 표시하고, 성공 시 메인 화면으로 이동한다"처럼 구체적으로 설명해야 한다. 이처럼 스펙을 먼저 정의한 뒤 AI에게 구현을 맡기는 방식스펙 기반 개발(Spec-Driven Development) 이라 하며, AI의 정확도와 재현성을 크게 높여준다.
품질 관리와 데이터 활용
5️⃣ 테스트 코드 – 품질을 자동으로 지킨다
테스트 코드(Test Code) 는 코드가 올바르게 작동하는지 자동으로 검증하는 역할을 한다. AI에게 "테스트 코드만 작성해줘"라고 지시하면, AI는 어떤 상황에서 어떤 결과가 나와야 하는지를 명확히 이해하게 된다. 테스트는 사람이 직접 일일이 확인하지 않아도 되는 자동 품질 보증 장치가 되어준다.
6️⃣ SQL과 데이터 이해 – 구조를 알려주는 게 핵심이다
AI가 데이터베이스 작업(SQL) 을 수행할 때는 데이터의 구조를 이해할 수 있는 최소한의 정보가 필요하다. 예를 들어 "어떤 표에 어떤 데이터가 있고, 서로 어떻게 연결되어 있는지"를 간단히 정리한 YAML 파일과 몇 줄의 샘플 데이터를 제공하면 된다. 이런 정보만 있어도 AI는 필요한 SQL 쿼리(데이터를 불러오거나 수정하는 명령어)를 스스로 작성할 수 있다.
즉, SQL의 문법을 일일이 가르치기보다 데이터의 구조와 관계를 알려주는 것이 더 중요하다.
7️⃣ MCP – AI를 '실행 가능한 엔지니어'로 만든다
AI의 능력을 넓히려면 MCP(Model Context Protocol) 이 필요하다. 이는 AI가 외부 시스템과 연결되도록 돕는 기능으로, 예를 들어 PostgreSQL 데이터베이스에 직접 접근하거나 Playwright 도구로 웹사이트 테스트를 자동화할 수 있게 해준다. 즉, AI가 단순히 문장을 만드는 존재에서 실제로 실행 가능한 엔지니어로 확장되는 기반이 된다.
협업 시스템과 개발 도구
8️⃣ 협업형 AI – 에이전트, Git, 그리고 자동화 도구
복잡한 프로젝트에서는 에이전트(Agent) 개념이 효과적이다. Agent는 특정 역할에 집중하는 AI로, 한 명은 코드를 작성하고, 또 다른 AI는 테스트를 담당하며, 다른 하나는 문서를 정리한다. 이렇게 여러 AI가 동시에 일하는 구조를 만들면 전체 개발 속도가 비약적으로 빨라진다.
개발의 안정성을 유지하려면 Git 과 Worktree 같은 버전 관리 도구가 필수다. Git은 코드의 변화를 기록해 언제든 이전 상태로 돌아갈 수 있게 해주고, Worktree는 여러 실험용 버전을 동시에 관리하게 해준다. AI가 생성한 코드를 별도의 브랜치에서 테스트한 뒤 검증이 끝나면 메인 코드에 반영하면 된다.
AI가 만든 데이터를 시각화할 때는 Matplotlib 같은 도구를 활용한다. 이 라이브러리를 사용하면 꺾은선, 막대, 원형 그래프를 쉽게 만들 수 있고, AI에게 "x축은 날짜, y축은 매출, 색상은 파란색"처럼 명확한 조건을 주면 일관된 그래프를 그릴 수 있다.
장시간 실행되는 AI 작업은 tmux나 screen으로 관리하면 좋다. 이 도구들은 컴퓨터를 꺼도 세션이 유지되어, 서버에서 긴 훈련이나 데이터 분석 작업을 안정적으로 이어갈 수 있다.
9️⃣ Claude와 Cursor – 설계와 실행을 잇는 AI 파트너
AI 개발 도구 중에서 Claude와 Cursor는 서로 보완적인 관계에 있다. Claude는 복잡한 문제를 이해하고 전체적인 구조를 설계하는 데 강점을 가진다. 예를 들어 새로운 기능을 추가하거나 시스템의 흐름을 정리할 때, Claude는 대화형으로 아이디어를 구성하고 명세를 문서 형태로 정리해준다. 즉, 개발 과정에서 방향을 잡아주는 설계자에 가깝다.
반면 Cursor는 실제 코드를 다루는 현장에서 더 유용하다. 코드 편집기 안에서 바로 실행되며, 함수를 자동 완성하거나 잘못된 부분을 수정하고, 팀이 자주 사용하는 코딩 스타일을 학습해 일관된 형식을 유지한다. 코드를 작성하거나 수정하는 순간순간에 도움을 주는 동료 같은 존재다.
최근에는 Claude Code라는 형태도 등장했는데, 이는 Claude의 대화 능력에 코드 분석과 수정 기능이 더해진 버전이다. 복잡한 문제를 설명하고 바로 코드를 수정할 수 있어 설계와 실행의 간격을 좁혀주는 역할을 한다.
결국 Claude는 생각을 정리하고 큰 그림을 그리는 데 유용하고, Cursor와 Claude Code는 그 생각을 실제 코드로 옮길 때 강하다. 이 도구들을 함께 활용하면, AI가 구상부터 구현까지 하나의 흐름 안에서 자연스럽게 연결되는 개발 환경을 만들 수 있다.
마무리
🏁 결론 – AI가 배우는 속도가 개발의 속도다
결국 AI로 개발을 가속한다는 것은 AI를 잘 가르치는 일이다. 룰을 쌓아가며 학습시키고, 명세로 방향을 정하며, 테스트로 품질을 지키고, 도구로 환경을 정리하면 AI는 단순한 자동화 도구를 넘어 함께 일하는 동료가 된다.
개발의 속도는 코드가 아니라, AI가 배우는 속도에 달려 있다.
※ 출처 안내
본 문서는 「하용호 님과 함께하는 AI로 개발을 가속하기」 관련 강의 내용을 바탕으로 재구성한 학습용 요약 자료입니다.