/basic/session-03
03기본과정180분 (이론 60 + 실습 120)

AI와 일하는 법

같은 질문, 다른 결과

02이 차시를 마치면

  • 1.프롬프트를 맥락·의도·제약 세 요소로 나눠 구성할 수 있다.
  • 2.같은 요청을 부실하게/충실하게 했을 때 결과가 어떻게 달라지는지 직접 비교해 설명할 수 있다.
  • 3.결과를 보고 원하는 부분만 짚어 반복적으로 개선 요청을 할 수 있다.
  • 4.프로젝트 규칙 파일(CLAUDE.md)을 작성해 매번 같은 설명을 반복하지 않게 만들 수 있다.
  • 5.대화가 헤매고 있을 때 계속 이어갈지 끊고 새로 시작할지 판단할 수 있다.

03왜 필요한가

02차시에서 만든 자기소개 페이지에 연락처 섹션을 하나 추가하려 한다고 해보자. "연락처 섹션 추가해줘"라고만 요청했더니, AI는 이름·이메일·전화번호가 세로로 나열된 밋밋한 목록을 만들어줬다. 원했던 건 이메일과 깃허브 링크가 아이콘과 함께 나란히 보이는 모습이었는데, 다시 "아니 그게 아니라"로 시작해 몇 번을 고쳐도 점점 더 이상한 모양이 되어간다. 결국 처음부터 다시 설명하기로 하고 대화를 새로 시작한다.

  • 짧은 요청은 AI가 빈칸을 임의로 채우기 때문에, 머릿속 그림과 전혀 다른 결과가 나온다.
  • 새 대화를 시작할 때마다 프로젝트 배경과 규칙을 처음부터 다시 설명해야 한다.
  • 원하는 결과가 안 나왔을 때 "다시 해줘"만 반복하면 오히려 대화가 더 꼬인다.
  • 어디서부터 잘못됐는지 모른 채 대화가 길어지면 AI도 사람도 맥락을 잃는다.

04개념 설명

프롬프트의 세 요소 — 맥락·의도·제약

신입 직원에게 처음 업무를 맡긴다고 생각해보자. "보고서 하나 써줘"라고만 말하면 신입은 무엇을, 왜, 어떤 형식으로 써야 할지 알 수 없어 자기 나름대로 짐작해서 채운다. 반면 "지난주 매출 데이터를 보고, 담당자별 증감을 표로 정리해서, 금요일 회의 전까지 A4 한 장으로 달라"고 말하면 결과물이 훨씬 정확해진다. AI에게 요청하는 것도 똑같다.

부실한 프롬프트는 대개 이 세 가지 중 여러 개가 비어 있다. 맥락은 지금 무엇이 있고 어떤 상황인지, 의도는 정확히 어떤 결과를 원하는지, 제약은 지켜야 할 조건과 하지 말아야 할 것이다. 셋을 다 채운다고 결과가 항상 완벽해지는 건 아니지만, 채운 만큼 AI가 짐작해야 하는 부분이 줄어든다.

요소의미
맥락 (Context)지금 무엇이 있고 어떤 상황인지
의도 (Intent)정확히 원하는 결과의 모습
제약 (Constraint)지켜야 할 조건과 하지 말아야 할 것
  • 맥락(Context) — 지금 무엇이 있고 어떤 상황인지
  • 의도(Intent) — 정확히 원하는 결과의 모습
  • 제약(Constraint) — 지켜야 할 조건과 하지 말아야 할 것

반복 개선 — 한 번에 완성되지 않는다

디자이너에게 로고 시안을 맡겼을 때 첫 시안이 곧바로 완성본이 되는 경우는 드물다. 시안을 보고 "이 부분은 좋은데 색은 더 차분하게"처럼 구체적으로 짚어 피드백을 주고받으며 완성도를 높인다. AI와 일하는 것도 이 과정과 다르지 않다.

다만 피드백을 줄 때는 전체를 다시 만들어달라고 하기보다, 무엇을 바꾸고 무엇은 그대로 둘지를 나눠 말하는 편이 훨씬 효율적이다. 그래야 잘 되어 있던 부분까지 덩달아 바뀌는 사고를 줄일 수 있다.

01결과 확인
02구체적으로 피드백무엇을 바꾸고, 무엇은 그대로 둘지
03개선된 결과

프로젝트 규칙 파일 — 매번 설명하지 않아도 되게

새로 입사한 직원에게 온보딩 문서를 건네는 이유는, 같은 설명을 매번 반복하지 않기 위해서다. Claude Code 같은 도구는 프로젝트 폴더에 CLAUDE.md라는 규칙 파일을 두면, 대화를 새로 시작할 때마다 이 파일을 참고해 프로젝트의 배경과 규칙을 스스로 파악한다.

이 파일에는 프로젝트가 무엇을 위한 것인지, 어떤 기술을 쓰고 있는지, 지켜야 할 규칙과 하지 말아야 할 것을 적어둔다. 한 번 잘 써두면 이후의 모든 대화가 이 문서를 전제로 시작되므로, 매번 배경 설명에 쓰던 시간이 줄어든다.

CLAUDE.md에 적는 것
프로젝트 목적무엇을 위해 만들고 있는지
기술 스택 · 파일 구조지금 무엇으로 만들어져 있는지
지켜야 할 규칙코딩 스타일, 하지 말아야 할 것
  • 프로젝트 목적 — 무엇을 위해 만들고 있는지
  • 기술 스택과 파일 구조 — 지금 무엇으로 만들어져 있는지
  • 지켜야 할 규칙 — 코딩 스타일, 하지 말아야 할 것

끊고 다시 갈 때를 판단하기

같은 문제를 두고 수정 요청을 두세 번 넘게 반복했는데도 나아지지 않는다면, 그 대화 안에 이미 잘못된 시도들이 쌓여 있다는 뜻이다. AI는 이전 대화 내용을 계속 참고하기 때문에, 꼬인 대화 안에서 계속 고치려 하면 잘못된 방향까지 함께 참고해 점점 더 벗어난 결과를 내기 쉽다.

이럴 때는 지금까지 시도한 것과 현재 상태, 원래 원했던 것을 한 번 요약받은 뒤, 그 요약을 들고 새 대화를 시작하는 편이 더 빠르다. 규칙 파일을 만들어뒀다면 새 대화에서도 프로젝트 배경을 다시 설명할 필요가 없어 이 전환이 훨씬 가볍다.

012~3회 수정해도 그대로
02요약 받기시도한 것 · 현재 상태 · 원했던 것
03새 대화 시작규칙 파일이 있으면 더 가볍다

05실습 가이드

  1. 1. 비교 실험 준비하기

    • 02차시에서 만든 자기소개 페이지 프로젝트를 VS Code로 연다.
    • 이번 실습에서 추가할 기능을 하나 정한다(예: 연락처 섹션, 프로젝트 소개 카드, 방문자 수 표시 등 원하는 것 아무거나).
    • 정한 기능을 나중에 비교할 수 있도록 메모해둔다.

    예상 결과프로젝트가 열려 있고, 오늘 추가해볼 기능 하나가 정해져 있다.

    안 될 때마땅히 떠오르는 기능이 없다면 "연락처 섹션 추가하기"로 정하고 진행해도 된다.

  2. 2. 일부러 부실하게 요청해보기

    • 새 대화를 시작해 P3-1 프롬프트로 정한 기능을 아주 짧게만 요청한다.
    • AI가 만들어준 결과를 그대로 받아들이고 화면을 캡처해둔다.
    • 결과가 머릿속으로 그렸던 모습과 얼마나 다른지 한 문장으로 적어둔다.

    예상 결과짧은 요청만으로 만들어진 결과물 캡처와, 기대와 다른 점을 적은 메모가 남는다.

    안 될 때결과가 우연히 마음에 들 수도 있다. 그렇다면 더 애매한 표현(예: "뭔가 추가해줘")으로 한 번 더 시도해 차이를 만들어본다.

  3. 3. 맥락·의도·제약을 채워 다시 요청하기

    • 새 대화를 하나 더 시작한다 (앞선 대화의 결과를 참고하지 않도록 새로 시작하는 것이 중요하다).
    • P3-2 프롬프트의 대괄호를 자신의 상황에 맞게 채워 요청한다.
    • AI가 구현 방향을 먼저 한 문단으로 설명하는지 확인하고, 방향이 맞으면 진행해달라고 답한다.

    예상 결과구현 방향 설명 후 만들어진 결과물이, 2단계의 결과보다 원하는 모습에 더 가깝다.

    안 될 때방향 설명 없이 바로 결과물부터 나온다면, "만들기 전에 어떻게 구현할지부터 설명해줘"라고 한 번 더 요청한다.

  4. 4. 두 결과를 나란히 비교하기

    • 2단계와 3단계의 결과 캡처를 나란히 놓고, 무엇이 어떻게 달라졌는지 표나 목록으로 정리한다.
    • 어떤 요소(맥락/의도/제약 중 무엇)가 결과 차이에 가장 크게 영향을 준 것 같은지 자신의 말로 한 문단 적는다.

    예상 결과부실한 프롬프트와 충실한 프롬프트, 두 결과를 비교한 실험 노트 초안이 만들어진다.

    안 될 때차이가 잘 안 느껴지면, 제약 조건(색상 유지, 모바일 대응 등)을 하나 더 추가해 3단계를 다시 시도해 차이를 키운다.

  5. 5. 결과를 부분적으로 다듬기

    • 3단계 결과물에서 아쉬운 부분 하나를 정한다.
    • P3-3 프롬프트로 그 부분만 콕 짚어 수정을 요청한다.
    • 전체가 다시 만들어진 것은 아닌지, 유지해달라고 한 부분이 그대로 남아 있는지 확인한다.

    예상 결과지정한 부분만 수정되고, 나머지는 그대로 유지된 결과를 받는다.

    안 될 때관계없는 부분까지 바뀌었다면, "방금 답변에서 [바뀐 부분]은 왜 바뀐 거야? 되돌려줘"라고 되물어 원인을 확인한다.

  6. 6. 프로젝트 규칙 파일 초안 만들기

    • P3-4 프롬프트로 이 프로젝트를 위한 CLAUDE.md 초안을 요청한다.
    • 받은 내용을 프로젝트 최상위 폴더에 CLAUDE.md 파일로 저장한다.
    • 내용을 한 번 읽어보고, 실제 프로젝트 상황과 다른 부분이 있으면 직접 고친다.

    예상 결과프로젝트 폴더에 CLAUDE.md 파일이 생기고, 목적·기술 스택·규칙이 적혀 있다.

    안 될 때파일 저장 위치를 모르겠다면 AI에게 "이 내용을 CLAUDE.md라는 이름으로 프로젝트 최상위 폴더에 저장해줘"라고 그대로 요청한다.

  7. 7. 규칙 파일이 실제로 반영되는지 확인하기

    • 새 대화를 시작해 P3-6 프롬프트로 간단한 새 요청을 하나 한다.
    • AI가 작업 전에 CLAUDE.md의 규칙을 언급하는지 확인한다.
    • 규칙과 다르게 작업했다면 어느 부분이 안 지켜졌는지 짚어 다시 요청한다.

    예상 결과AI가 CLAUDE.md의 규칙을 참고했다고 말하고, 그 규칙에 맞게 작업한 결과를 받는다.

    안 될 때규칙을 전혀 언급하지 않는다면 CLAUDE.md가 프로젝트 최상위 폴더가 아닌 다른 위치에 저장됐을 가능성이 크다. 파일 위치를 확인한다.

  8. 8. 대화가 꼬였을 때 끊고 다시 가보기

    • 5~6단계 중 하나의 대화를 이어서, 일부러 애매한 수정 요청("음... 그냥 더 낫게 해줘")을 두세 번 반복해본다.
    • 결과가 점점 이상해지는 것이 느껴지면, P3-5 프롬프트로 지금까지의 시도와 현재 상태를 요약받는다.
    • 요약 내용을 들고 새 대화를 시작해, 원래 원했던 모습으로 다시 요청해본다.

    예상 결과꼬인 대화의 상태 요약을 받고, 새 대화에서 더 나은 방향으로 다시 시작된 결과를 확인한다.

    안 될 때일부러 꼬이게 하는 것이 잘 안 되면, 서로 모순되는 요청("더 화려하게" 다음에 "더 단순하게")을 번갈아 시도해본다.

06실전 프롬프트

P3-1일부러 부실하게 요청해보기 (비교 실험용)

사용 시점 — 실습 2단계 — 비교 실험의 대조군이 될 결과를 만들 때

[내 프로젝트 이름]에 [원하는 기능] 하나 추가해줘.

기대 결과AI가 빈칸을 임의로 채워 결과를 만든다. 원했던 모습과 다를 확률이 높다 — 이 자체가 비교 실험의 대조군이 된다.

P3-2맥락·의도·제약을 채운 충실한 버전

사용 시점 — 실습 3단계 — 같은 요청을 새 대화에서 충실하게 다시 할 때

[내 프로젝트 이름] 페이지에 [원하는 기능]을 추가하려고 해.

지금 상황(맥락): [현재 페이지 구성, 예: 자기소개 문단과 사진만 있음]
원하는 것(의도): [정확히 어떤 모습·동작을 원하는지, 예: 이름 아래에 이메일과 깃허브 링크가 아이콘과 함께 나란히 보이게]
지켜야 할 조건(제약):
· [예: 기존 색상과 폰트는 그대로 유지]
· [예: 모바일 화면에서도 줄바꿈이 자연스럽게]
· [예: 새 라이브러리는 추가하지 말고 순수 HTML/CSS로]

작업 전에 어떻게 구현할지 한 문단으로 먼저 설명해줘.

기대 결과구현 방향을 먼저 설명한 뒤, 대조군보다 원하는 모습에 훨씬 가까운 결과를 받는다.

P3-3결과를 보고 부분만 다듬을 때

사용 시점 — 실습 5단계 — 방향은 맞지만 디테일이 아쉬울 때

방금 만든 [기능]은 방향은 마음에 들어.
다만 이 부분만 조정해줘.

바꾸고 싶은 것: [구체적으로 무엇을 어떻게]
그대로 유지할 것: [건드리지 않았으면 하는 부분]

전체를 다시 만들지 말고, 말한 부분만 수정해줘.

기대 결과전체 재작성 없이 지정한 부분만 수정된 결과를 받는다.

P3-4프로젝트 규칙 파일 초안 만들기

사용 시점 — 실습 6단계 — CLAUDE.md 초안을 처음 만들 때

이 프로젝트를 위한 규칙 파일(CLAUDE.md)을 만들어줘.

프로젝트 목적: [한 줄 설명]
지금까지 쓰고 있는 기술: [예: HTML, CSS, 순수 자바스크립트]
지켜야 할 규칙:
· [예: 한글 주석을 남길 것]
· [예: 새 라이브러리를 추가하기 전에 먼저 물어볼 것]
· [예: 기존 파일 구조를 함부로 바꾸지 말 것]

앞으로 내가 매번 설명하지 않아도 되도록,
네가 매 대화 시작할 때 참고할 내용으로 정리해줘.

기대 결과프로젝트 최상위 폴더에 저장할 수 있는 CLAUDE.md 초안을 받는다.

P3-5대화가 헤맬 때 끊고 다시 가기 복구용

사용 시점 — 같은 문제로 여러 번 수정을 요청했는데 오히려 더 이상해질 때

지금까지 이 대화에서 여러 번 수정을 요청했는데
오히려 처음보다 더 이상해진 것 같아.

지금 상태를 정리해서 말해줘.
1. 지금까지 뭘 시도했는지
2. 지금 코드가 어떤 상태인지
3. 원래 뭘 원했는지 다시 한 줄로 정리하면 뭔지

나는 이 요약을 가지고 새 대화를 시작할 거야.

기대 결과지금까지의 시도와 현재 상태 요약을 받아, 새 대화로 넘어갈 근거를 마련한다.

P3-6규칙 파일이 실제로 적용되는지 확인할 때

사용 시점 — 실습 7단계 — 새 대화에서 규칙 파일이 반영되는지 테스트할 때

지금 이 프로젝트에 있는 CLAUDE.md 내용을 확인하고,
거기 적힌 규칙을 지키면서 [간단한 새 요청, 예: 푸터에 저작권 문구 추가해줘]를 해줘.

작업하기 전에 CLAUDE.md에서 어떤 규칙을 참고했는지 먼저 말해줘.

기대 결과AI가 규칙 파일 내용을 언급하며 그에 맞춰 작업한다 — 규칙이 실제로 적용되는지 확인할 수 있다.

07이것만은 주의

08자가 점검

0 / 6 완료0%
x

09과제

자신의 실제 프로젝트(또는 02차시에서 만든 페이지)에 새 기능을 하나 추가할 때, 먼저 부실한 프롬프트로 한 번, 충실한 프롬프트로 한 번 각각 요청해 결과를 비교한다. 이어서 이 프로젝트의 CLAUDE.md 초안을 작성하고, 새 대화에서 규칙이 실제로 반영되는지까지 확인한다.

제출 형식① 부실한 프롬프트/결과와 충실한 프롬프트/결과를 나란히 비교한 실험 노트(캡처 포함) ② 작성한 CLAUDE.md 파일 ③ 규칙이 반영됐는지 확인한 화면 캡처를 하나의 문서로 정리해 제출한다.

10더 알아보기

  • Claude Code 프로젝트 규칙 파일 안내CLAUDE.md 작성 방식과 계층 구조 참고용
  • 효과적인 프롬프트 작성 가이드맥락·의도·제약을 구체화하는 예시 참고용
맥락(Context)
요청 당시 존재하는 배경 정보. 지금 무엇이 있고 어떤 상황인지를 말한다.
제약(Constraint)
결과가 지켜야 할 조건이나 하지 말아야 할 것. 명시하지 않으면 AI가 임의로 판단한다.
규칙 파일(CLAUDE.md)
프로젝트의 목적·구조·규칙을 적어두어, 대화를 새로 시작해도 AI가 참고하게 만드는 파일.

다음 차시 예고 다음 차시에서는 지금까지 익힌 프롬프트 작성법을 구글 시트 업무 자동화에 적용해, 매주 반복되는 리포트 작업을 실제로 자동화합니다.