Part 1. AI 코딩의 현실 (30분)

핵심 메시지

“AI가 코딩을 다 해준다?” — 진짜와 거짓


1. AI 코딩 도구 현황

Claude Code

  • Anthropic의 터미널 기반 AI 코딩 에이전트
  • 코드베이스 전체를 컨텍스트로 이해하고, 직접 파일을 읽고/쓰고/실행
  • CLAUDE.md를 통한 프로젝트별 지침 설정 가능
  • 멀티 에이전트(서브에이전트) 지원 — 복잡한 작업을 병렬로 분산

Antigravity (반중력)

  • Google이 2025.11에 Gemini 3와 함께 출시한 AI 코딩 플랫폼
  • Agent-First 구조 — AI 에이전트가 계획·코딩·터미널·브라우저 테스트까지 자율 수행
  • VS Code 기반 에디터 + 멀티 에이전트 동시 실행(Agent Manager)
  • 구글 계정만 있으면 무료 사용 가능, 한국어 프롬프트 완벽 지원

비교 포인트

항목Claude CodeAntigravity
제작사AnthropicGoogle
대상개발자 중심개발자 중심 (비개발자도 접근 가능)
인터페이스터미널/IDEVS Code 기반 에디터
커스터마이징높음 (CLAUDE.md, MCP)높음 (멀티 에이전트, 브라우저 확장)
강점깊은 코드 이해 & 수정Agent-First 자율 실행 & 브라우저 테스트

2. AI가 잘하는 것 vs 못하는 것

✅ AI가 잘하는 것

  • 보일러플레이트 코드 생성 — CRUD, API 엔드포인트, 설정 파일
  • 패턴 기반 작업 — 테스트 코드 작성, 리팩토링, 포맷 변환
  • 문서화 — 코드 주석, README, API 문서
  • 디버깅 보조 — 에러 메시지 해석, 스택 트레이스 분석
  • 학습 가속 — 새로운 프레임워크/라이브러리 빠르게 파악

❌ AI가 못하는 것 (솔직한 경계선)

  • 비즈니스 로직 설계 — “무엇을 만들어야 하는가”의 판단
  • 아키텍처 결정 — 시스템 전체의 트레이드오프 이해
  • 도메인 특화 지식 — 금융 규제, 건설 BIM, 의료 프로토콜 등
  • 창의적 문제 해결 — 전례 없는 문제에 대한 새로운 접근
  • 코드베이스의 “왜” — 레거시 코드의 역사적 맥락

3. 데모: 프롬프트 차이에 따른 결과 비교

Bad Prompt 🔴

로그인 기능 만들어줘

→ 결과: 기본적인 form만 생성, 보안 없음, 에러 처리 없음

Good Prompt 🟢

Next.js 14 App Router 기반으로 로그인 기능을 구현해줘.
- NextAuth.js v5 사용
- 이메일/비밀번호 + Google OAuth 지원
- 로그인 실패 시 구체적 에러 메시지 표시
- rate limiting 적용 (5회 실패 시 30초 대기)
- 접근성(a11y) 고려한 form 마크업

→ 결과: 프로덕션 수준의 완성도 높은 코드

핵심 교훈

같은 AI, 같은 모델이라도 프롬프트의 구체성이 결과 품질을 결정한다.


4. One-Shot 주의집중 & 전문 도메인 접근법

One-Shot 주의집중이란?

첫 프롬프트 한 방으로 AI의 “모드”를 완전히 전환시키는 기법. AI는 대화의 시작 부분에 가장 큰 가중치를 두므로, 첫 프롬프트가 전체 대화의 품질을 결정한다.

구조: 역할 고정 + 도메인 주입

당신은 15년 경력의 건설 BIM 엔지니어이자 소프트웨어 아키텍트입니다.
IFC 표준, HmEG, Geometry API, 그리고 건설 현장의 실무 프로세스를 깊이 이해하고 있습니다.

다음 규칙을 반드시 따르세요:
1. 모든 답변에 IFC 엔티티명을 정확히 명시할 것
2. 코드 예시는 HmEG API (C#) 기반으로 작성할 것
3. 건설 현장에서 실제 사용 가능한 수준으로 답변할 것

전문 도메인 접근 전략

  1. 도메인 용어 사전 주입 — 첫 프롬프트에 핵심 용어와 약어를 정의
  2. 제약 조건 명시 — 업계 규정, 표준, 컴플라이언스 요구사항
  3. 예시 기반 고정 — “이런 식으로 답변해줘”라는 예시 하나가 100줄의 설명보다 효과적
  4. 페르소나 + 청중 설정 — “당신은 전문가, 나는 주니어 개발자” 식의 관계 설정

실전 팁

One-shot으로 도메인을 고정한 뒤, 후속 질문에서는 도메인 용어를 그대로 사용하면 AI가 맥락을 유지한다. “BIM 모델의 IfcWall 엔티티에서…” 처럼 전문 용어를 섞어 쓰자.


5. 집요하게 물어보기 → Agent에게 시키기

인간의 집요함 vs Agent의 자동화

수동 방식: 집요하게 물어보기

1차: "이 코드의 버그 찾아줘"
2차: "그 수정이 다른 함수에 영향 주는지 확인해줘"
3차: "영향받는 함수도 같이 수정해줘"
4차: "테스트 코드도 작성해줘"
5차: "엣지 케이스도 추가해줘"

→ 5번의 대화가 필요. 매번 컨텍스트를 이어가야 함.

자동 방식: Agent에게 시키기

이 코드베이스에서 버그를 찾고, 수정하고,
영향받는 모든 함수를 확인해서 같이 수정하고,
테스트 코드를 작성하고, 엣지 케이스까지 커버해줘.
수정 전후 diff를 보여줘.

→ Agent가 알아서 단계별로 실행. 중간에 서브에이전트까지 활용.

핵심 전환점

단계방식특징
Level 1한 번 물어보기단편적 답변
Level 2집요하게 후속 질문깊이 있지만 수동
Level 3Agent에게 위임자동화 + 검증 루프

마인드셋 전환

“내가 5번 물어볼 것을 한 번의 명령으로 Agent가 5단계를 스스로 실행하게 만들 수 있는가?” 이것이 프롬프트 사용자 → AI 오케스트레이터로의 전환이다.


6. 능력과잉의 AI — 창의력과 잠재능력을 끌어올리는 프롬프트

AI는 “능력과잉” 상태다

현재의 LLM은 대부분의 사용자가 능력의 10~20%만 활용하고 있다. 모델은 이미 충분히 강력한데, 우리의 프롬프트가 그 잠재력을 제한하고 있을 뿐.

잠재력을 끌어올리는 프롬프트 패턴

패턴 1: 사고 확장 요청

이 문제에 대해 5가지 완전히 다른 접근법을 제시해줘.
각 접근법의 트레이드오프를 분석하고,
내가 생각하지 못했을 법한 창의적 해법을 반드시 1개 이상 포함해줘.

패턴 2: 역할 극대화

당신은 세계 최고 수준의 시스템 아키텍트입니다.
"평범한 답변"은 하지 마세요.
이 설계에서 아무도 지적하지 않을 숨겨진 결함을 찾아내고,
그것을 해결하는 엘레강트한 방법을 제안하세요.

패턴 3: 제약 해제 + 재구성

기존의 관례를 무시하고 처음부터 다시 설계한다면?
현재 기술 스택에 제한받지 말고,
이 문제를 해결하는 이상적인 아키텍처를 그려줘.
그 다음, 현실적 제약을 하나씩 적용해서 타협안을 만들어줘.

패턴 4: 메타 프롬프트

내가 이 질문을 더 잘하려면 어떻게 물어봐야 해?
내가 놓치고 있는 관점이 있으면 알려줘.
그리고 그 개선된 질문에 대해 답변해줘.

핵심

AI의 능력을 제한하는 건 AI가 아니라 우리의 질문이다. “더 잘 물어보는 것”이 곧 “더 좋은 결과를 얻는 것”이다.


7. 마인드셋 전환: “AI는 못하지 않다. 프롬프트가 잘못됐다”

Before → After

BeforeAfter
”AI가 이상한 코드를 줬어""내 프롬프트가 모호했구나"
"AI는 복잡한 건 못해""작업을 잘 쪼개지 못했구나"
"AI 답변이 틀렸어""검증 단계를 빠뜨렸구나"
"AI가 맥락을 모르네""컨텍스트를 충분히 안 줬구나”

실전 체크리스트

  • 역할과 목표를 명확히 지정했는가?
  • 구체적인 제약 조건을 줬는가?
  • 원하는 출력 형식을 예시로 보여줬는가?
  • 작업을 적절한 크기로 분할했는가?
  • 결과를 검증하는 단계가 있는가?

핵심 요약

1. 도구를 알아야 한다     → Claude Code, Antigravity 등 현황 파악
2. 경계를 알아야 한다     → AI가 잘하는 것 / 못하는 것 구분
3. 첫 프롬프트가 전부다   → One-shot 주의집중으로 도메인 고정
4. 집요함을 자동화하라    → 수동 후속질문 → Agent 위임
5. 한계를 밀어붙여라      → 능력과잉의 AI에서 창의력 끌어내기
6. 탓하지 말고 고쳐라     → AI 탓 ❌ → 프롬프트 개선 ⭕

관련 노트