본문으로 건너뛰기
페이지 목차
이 페이지에서 검색

AI 드리븐

이 페이지에 묻기

AI 드리븐 · 현재 차시와 목차 본문에서만 찾아 답합니다. 답을 지어내지 않고 해당하는 대목을 그대로 보여 주며, 여기에 없으면 없다고 알려 드립니다.

생성형 AI가 아니라 이 페이지 본문을 찾아 그대로 보여 주는 방식입니다. 외부로 나가는 요청이 없습니다.

AI · DEVELOPMENT

AI 드리븐

생성 수정

요구사항과 역할 정의부터 구현·검증·배포·운영까지, AI와 함께 개발하며 사람이 판단할 기준을 정리합니다.

26개 문서 · 1일차 · 2 / 26

1차시 · 에이전트형 개발의 이해와 환경 준비

지도 위치 : 1일차 · 출발점 · 과정 전체의 작업 방식 | 다음: 2차시 AI 개발팀을 세우는 핵심 기능 키워드 : 대화형 vs 에이전트형 AI, 개발 환경, 설치·인증, 지시(프롬프트)의 기본형

이 차시를 다 읽으면

  1. 에이전트형 AI를 유와 종차로 정의하고, 대화형 AI와 "누가 실행하는가" 로 가를 수 있다.
  2. 에이전트 루프의 네 단계를 말하고, 결과 품질을 정하는 단계가 왜 "확인" 인지 설명할 수 있다.
  3. 개발 환경의 구성 요소 여섯 가지가 각각 무슨 일을 하는지 말할 수 있다.
  4. 승인 창에 뜬 명령을 읽기만 하는 것 과 바꾸거나 내보내는 것 으로 가를 수 있다.
  5. 지시의 다섯 요소로 일을 맡기고, "완료했습니다"라는 주장 대신 증거 를 받는 보고 형식을 쓸 수 있다.

0. 이 차시의 판별 축

#축왼쪽 (0)오른쪽 (1)이 축으로 갈리는 것큰 축 (README 5장)
1누가 실행하는가사람이 실행 (대화형 AI)AI가 실행 (에이전트형 AI)복사 · 붙여넣기 · 실행을 사람이 하는가이 차시의 축
2⭐ 증거 ↔ 주장증거 — 실행한 명령과 출력 원문주장 — "완료했습니다", "될 겁니다"보고를 믿어도 되는가⑧ 구문론 ↔ 의미론의 파생
3읽기만 하는가읽기 (ls, cat, git status)바꾸거나 내보냄 (rm, npm install, git push)승인 창에서 한 번 더 생각할 명령되돌릴 수 있는가 (①의 파생)와 이웃

이 차시가 답하는 질문은 하나입니다. AI가 직접 실행하게 되면, 나는 무엇을 근거로 그 결과를 믿는가? 축 1이 "AI가 실행한다"는 새 상황을 만들고, 축 2가 그 상황에서의 답(증거를 받는다)을 주며, 축 3이 실행 전에 내가 지킬 첫 관문(승인 창)을 줍니다. 과정의 출발점이라 앞 차시는 없습니다. 이 세 축은 24차시 내내 다시 나옵니다.


1. 대화형 AI와 에이전트형 AI

1.1 정의

대화형 AI — [AI 도구]인데, [ 질문을 받아 글로 답하고 멈추며, 실행은 사람이 한다 ]는 점에서 에이전트형 AI와 구별된다.

에이전트형 AI (코딩 에이전트) — [AI 도구]인데, [ 목표를 받아 스스로 도구를 써서 파일을 읽고 고치고 명령을 실행한 뒤, 결과를 확인하며 반복한다 ]는 점에서 답을 글로 내놓고 멈추는 대화형 AI와 구별된다.

도구 (Tool) — [에이전트가 할 수 있는 동작 단위]인데, [ AI 바깥의 세계를 실제로 읽거나 바꾼다 ]는 점에서 글을 만드는 것으로 끝나는 답변과 구별된다. 파일 읽기(Read), 파일 쓰기(Write), 파일 고치기(Edit), 명령 실행(Bash), 내용 검색(Grep) 같은 것이 도구입니다.

앞으로 다시 만납니다 — 2차시와 5차시에서 하위 에이전트 정의 파일의 tools: 한 줄을 봅니다. 그 줄에 적힌 이름이 바로 이 "도구"입니다. 도구를 빼면 그 동작을 아예 못 합니다.

1.2 경계 — 무엇으로 갈리는가

대화형 AI에이전트형 AI
입력질문목표
하는 일답변(글) 생성계획 → 도구 사용 → 결과 확인 → 반복
실행 주체 (축 1)사람AI (사람은 승인 · 감독)
맥락사람이 붙여 넣은 것만프로젝트 폴더 전체를 직접 탐색
끝나는 시점답을 하면 끝목표가 달성됐다고 판단 하면 끝

⚠️ 마지막 줄이 이 과정 전체의 출발점입니다. 에이전트는 스스로 "끝났다"고 판단 합니다. 그 판단이 맞는지는 별개의 문제입니다(2절).

1.3 반례 — 이건 에이전트형이 아닙니다

대상왜 아닌가
채팅창에 에러를 붙여 넣고 고친 코드를 받아 오는 것복사 · 붙여넣기 · 실행을 사람이 한다. 대화형
에디터의 자동완성다음 줄을 제안 할 뿐, 실행하고 확인하는 반복이 없다
정해진 순서대로만 도는 자동화 스크립트실행은 하지만 결과를 보고 계획을 바꾸지 않는다
이름에 "에이전트"가 붙은 채팅 기능이름이 아니라 직접 실행하고 확인하는가 로 판단한다

💡 비유는 마지막에 — 대화형 AI는 전화로 고치는 법을 설명해 주는 수리 기사, 에이전트형 AI는 집에 와서 직접 고치고 물을 틀어 확인하는 수리 기사입니다.


2. ⭐ 에이전트 루프 — 확인이 품질을 정한다

2.1 정의와 모양

에이전트 루프 — [작업 방식]인데, [ 관찰 → 계획 → 행동 → 확인을 목표가 달성될 때까지 반복한다 ]는 점에서 한 번 답하고 끝나는 질의응답과 구별된다.

  ┌──────────────────────────────────────────────────────┐
  ▼                                                      │
 관찰(파일 · 에러 읽기) → 계획 → 행동(편집 · 명령 실행) → 확인(테스트 · 출력 보기)
                                                         │
                                         목표 달성? ── 예 → 보고하고 종료

🔍 읽는 포인트 : 오른쪽 끝 "목표 달성?"을 누가, 무엇을 보고 판정하는지만 보면 됩니다.

2.2 확인 단계가 결과 품질을 정한다

에이전트가 루프를 끝내는 근거는 둘 중 하나입니다.

루프를 끝낸 근거무슨 일이 일어나는가
확인 수단이 있었다 — 테스트 통과, 실제 응답 확인, 완료 기준 충족틀렸으면 루프가 다시 돌아 스스로 고친다
확인 수단이 없었다"된 것 같다"는 판단으로 멈춘다. 틀려도 그대로 보고된다

⭐ 그래서 확인할 수단을 미리 주는 것 이 일을 맡기는 사람의 첫 번째 몫입니다. 이 과정이 완료 기준(3차시), 검증 분리(7차시), 동작 검증(13차시), 자동 테스트(17차시)에 많은 시간을 쓰는 이유가 여기 있습니다.

2.3 증거와 주장

에이전트가 루프를 끝내고 보고할 때, 그 보고는 두 종류로 갈립니다.

증거 — [보고 내용]인데, [ 실행한 명령과 출력 원문처럼 다른 사람이 다시 확인할 수 있다 ]는 점에서 "완료했습니다" 같은 주장과 구별된다.

주장 — [보고 내용]인데, [ 결과에 대한 말뿐이라 다시 확인할 길이 없다 ]는 점에서 증거와 구별된다.

주장 (믿을 근거 아님)증거 (믿을 근거)
"테스트 통과했습니다"npm test 실행 출력 원문 (통과 · 실패 개수가 찍힌 줄)
"API 잘 동작합니다"실제 요청을 보낸 명령과 받은 응답 원문
"아마 동작할 것입니다"— 실행해 보지 않았다는 신호. 실행 결과를 요구

⚠️ 에이전트의 말이 틀리는 것은 거짓말을 해서라기보다 확인하지 않은 것을 확인한 것처럼 말하기 때문입니다. 그래서 이 과정의 원칙은 단순합니다. AI의 말은 신뢰의 근거가 아니고, 증거가 붙어 있을 때만 받아들입니다. 이 밖의 위험 신호는 README 9.4에 모아 두었습니다.

앞으로 다시 만납니다 — 5차시에서 모든 역할 정의의 "완료 조건"에 증거 제출을 넣고, 23차시에서 장애 원인을 찾을 때 사실(증거)과 추측(주장)을 나누는 방식으로 다시 씁니다.


3. 개발 환경 준비

3.1 구성 요소 여섯 가지

구성 요소정의예
터미널글자로 명령을 입력해 컴퓨터를 조작하는 창. 에이전트가 명령을 실행하는 곳macOS 터미널, Windows의 WSL(윈도우 안의 리눅스 환경)
런타임작성한 코드를 실제로 실행해 주는 프로그램Node.js, Python
Git파일이 바뀐 이력을 저장하고, 잘못 고친 것을 되돌리게 해 주는 도구 (18차시)git
에디터사람이 파일을 열어 보는 프로그램VS Code
에이전트 도구AI 팀원. 터미널에서 실행된다Claude Code 등
계정 · 인증에이전트 도구를 쓸 자격구독 로그인 또는 API 키

⚠️ Git은 시작 전에 켭니다. 에이전트는 빠르게 많은 파일을 바꿉니다. 바꾸기 전 상태가 저장돼 있지 않으면 잘못 고쳤을 때 되돌릴 방법이 없습니다.

3.2 설치와 첫 실행

설치와 인증 방법은 도구마다 자주 바뀌니 공식 문서 를 따르세요. Claude Code라면 대략 이런 순서입니다.

# 설치 (공식 문서의 최신 방법 확인)
curl -fsSL https://claude.ai/install.sh | bash

# 프로젝트 폴더에서 실행 → 처음이면 로그인 안내가 나옴
cd my-project
claude

🔍 읽는 포인트 : 마지막 줄 claude를 어느 폴더에서 실행하느냐가 중요합니다. 에이전트는 실행한 폴더를 프로젝트로 보고 그 안을 탐색합니다.

3.3 ⚠️ 비밀값 — API 키

API 키 — [비밀값]인데, [ 그 자체만 있으면 유료 서비스를 내 이름과 내 돈으로 쓸 수 있는 열쇠 ]라는 점에서 아무에게 보여도 되는 일반 설정값과 구별된다.

절대 두면 안 되는 곳이유
코드 파일 · 문서저장소에 함께 올라간다
Git 저장소한 번 올리면 이력에 남아 지워도 꺼낼 수 있다
AI와의 대화 · 채팅 기록대화 기록이 저장 · 공유될 수 있다

비밀값 입력은 내가 직접 하는 일 입니다(README 9.2). AI에게 키를 알려 주지 않습니다.

앞으로 다시 만납니다 — 14차시에서 비밀값이 코드에 섞여 들어가는 것을 자동으로 차단 하고, 21차시에서 배포 환경에 비밀값을 안전하게 넣는 법을 봅니다.

3.4 승인 창 — 나의 첫 번째 관문 ⭐

에이전트 도구는 보통 파일을 고치거나 명령을 실행하기 전에 허락을 구합니다. 이 승인 창이 코드를 읽지 않는 사람에게 가장 먼저 주어지는 관문입니다.

대체로 안전 (읽기만 함)한 번 더 생각 (바꾸거나 내보냄)
ls (목록 보기), cat (파일 내용 보기), grep (검색)rm (삭제)
git status, git diff (무엇이 바뀌었나 보기)npm install (새 패키지 설치), sudo (관리자 권한)
테스트 실행git push (원격에 올리기), git reset (이력 되돌리기)
curl -X POST ... (외부로 데이터 전송)
  • 모르는 명령이 뜨면 승인하기 전에 "이 명령이 무엇을 하는지 한 줄로 설명해줘" 라고 물으면 됩니다.
  • 처음에는 하나하나 승인하면서 무엇을 하는지 지켜봅니다. 처음부터 모든 것을 자동 허용하지 않습니다.

앞으로 다시 만납니다 — 승인 창은 사람이 매번 판단하는 부탁에 가까운 관문 입니다. 2차시에서 무엇을 자동 허용하고 무엇을 아예 막을지 권한 설정 으로 고정하고, 14차시에서 위험한 행동을 훅 으로 차단합니다.


4. 지시(프롬프트)의 기본형

프롬프트 (지시) — [AI에게 주는 입력]인데, [ AI가 할 일과 그 일의 조건을 담는다 ]는 점에서 AI가 내놓는 출력과 구별된다.

4.1 다섯 요소

요소질문예
목표무엇을?클래스 목록 API를 만든다
맥락무엇을 참고해서?docs/api.md의 명세, 기존 src/routes 구조
제약무엇은 하지 말 것?새 라이브러리 추가 금지, DB 구조 변경 금지
완료 기준어떻게 되면 끝?테스트 통과, 실제 응답 확인
보고 형식무엇을 알려 줄 것?바꾼 파일 목록, 실행한 확인 명령과 출력 원문

⭐ 완료 기준 은 2절 루프의 "확인" 단계에 들어갈 재료이고, 보고 형식 은 증거를 받는 통로입니다. 둘 중 하나라도 빠지면 0절 축 2의 오른쪽(주장)만 돌아옵니다.

4.2 나쁜 지시와 좋은 지시

클래스 목록 기능 만들어줘
docs/api.md의 GET /classes 명세대로 클래스 목록 API를 구현해줘.
- 기존 src/routes/ 구조와 같은 방식으로 만들 것
- 새 패키지 설치는 하지 말 것
- 끝나면 테스트를 돌리고, 실제로 요청을 보내 받은 응답을 보여줄 것
- 보고: ① 사용자 입장에서 달라진 점 ② 실행한 확인 명령과 출력 원문 ③ 내가 직접 확인할 방법

🔍 읽는 포인트 : 두 번째 지시에서 "끝나면 ~ 보여줄 것"과 "보고:" 두 줄만 보면 됩니다. 이 두 줄이 증거를 받는 장치 입니다.

나쁜 지시에도 AI는 그럴듯한 결과를 냅니다. 문제는 그게 맞는지 확인할 방법이 없다는 것 입니다.

4.3 완료 기준은 "내가 눈으로 확인할 수 있는 것"으로

내가 확인하기 어려운 기준내가 직접 확인할 수 있는 기준
"API를 구현한다""브라우저에서 /classes를 열면 클래스 3개가 보인다"
"에러 처리를 잘 한다""없는 번호 /classes/9999를 열면 '찾을 수 없어요'가 보인다"

코드를 읽지 않는 사람에게는 오른쪽이 훨씬 쓸모 있습니다. 왼쪽은 AI가 테스트로 옮기고, 오른쪽은 내가 행동 시험에 씁니다(README 9.1).

4.4 반례 — 이건 좋은 지시가 아닙니다

지시왜 아닌가
"너는 10년차 시니어 개발자다. 잘 만들어줘"직함은 맥락이 아니다. 참고할 문서도, 완료 기준도 없다 (5차시)
길고 자세하지만 "끝나면 무엇을 보여줘"가 없는 지시분량이 아니라 완료 기준과 보고 형식 이 품질을 정한다
"어떻게 하면 돼?"에이전트에게는 묻지 말고 시키면 된다

💡 보고 형식 세 줄(①②③)은 매번 쓰기 번거롭습니다. 2차시에서 이 문장을 지침 파일 에 넣어 두면 모든 세션에 자동으로 적용됩니다.

4.5 클래스온에 적용하면

  • 빈 폴더 classon/을 만들고 Git을 켠다(git init)
  • 에이전트를 실행해 "이 폴더에 무엇이 있는지 설명해줘" 같은 읽기만 하는 지시 로 동작을 확인한다
  • 다섯 요소를 갖춘 지시로 README.md에 서비스 한 줄 소개를 쓰게 한다

5. 실습 — 맡기고 검수하기

이 차시의 목표는 에이전트가 실행하는 모습과 승인 창을 직접 겪어 보는 것 입니다. 결과물(README 한 줄)은 작고, 관찰이 중요합니다.

지시

이 폴더(classon/)를 클래스온 프로젝트의 시작점으로 만들어줘.
- 목표: README.md에 "클래스온: 동네 공방의 원데이 클래스를 검색 · 예약 · 결제하는 서비스" 한 줄 소개를 쓴다
- 제약: 새 패키지 설치 금지. README.md 외의 파일은 만들지 말 것
- 순서: 먼저 git status로 Git이 켜져 있는지 확인하고, 안 켜져 있으면 git init 전에 나에게 물어볼 것
- 완료 기준: README.md에 위 문장이 있고, git status에 README.md가 새 파일로 보인다
- 보고 형식: [한 일 | 실행한 명령 | 출력 원문] 표 + 내가 직접 확인할 방법 한 줄
요약하지 말고 실행 출력 원문을 붙여줘.

받을 증거

  • git status 실행 출력 원문 (README.md가 새 파일로 표시된 줄)
  • README.md의 내용 원문
  • 실행한 명령 목록 (승인 창에 떴던 것과 같은지 대조용)

내가 직접 확인할 것

볼 것이걸로 아는 것 / 왜 내가 보는가
승인 창에 뜬 명령을 3.4 표 로 분류해 보기어떤 명령이 읽기이고 어떤 명령이 바꾸는지 몸으로 익힘. 이후 모든 차시에서 쓰는 감각
에디터나 파일 탐색기로 README.md를 직접 열어 보기보고가 아니라 실물 로 확인. 증거 ↔ 주장 축의 첫 연습
보고에 "아마", "~할 것입니다" 가 있는지있으면 실행하지 않은 부분이 있다는 신호 (README 9.4)
요청하지 않은 파일이 생겼는지 (ls 결과를 보여 달라고 하기)"README.md 외의 파일은 만들지 말 것"이라는 제약을 지켰는지

💡 위 지시의 "git init 전에 나에게 물어볼 것"처럼 실행 전에 승인을 받는 줄 을 넣어 두면, 되돌리기 어려운 작업에서 내가 끼어들 자리가 생깁니다. 이 습관이 15 · 21차시의 "되돌릴 수 있는가" 축으로 이어집니다.


부록 A. 스스로 확인하기

#질문답이 있는 곳
1대화형 AI와 에이전트형 AI를 "누가 실행하는가"로 가르면?1.1, 1.2
2에디터 자동완성이 에이전트형이 아닌 이유는?1.3
3에이전트 루프의 네 단계는? 품질을 가장 크게 좌우하는 단계는?2.1, 2.2
4확인 수단이 없을 때 에이전트는 무엇을 근거로 멈추는가?2.2
5증거와 주장을 유와 종차로 정의하면?2.3
6Git을 시작 전에 켜야 하는 이유는?3.1
7API 키를 절대 두면 안 되는 곳 세 군데는?3.3
8승인 창에서 한 번 더 생각할 명령의 공통점은?3.4
9지시의 다섯 요소는? 빠지면 주장만 돌아오는 두 요소는?4.1

부록 B. 자주 하는 실수

실수바로잡기
에이전트를 채팅창처럼 써서 "어떻게 하면 돼?"만 묻는다❌ 에이전트에게는 시키면 됩니다 (4.4)
완료 기준 없이 맡겨 놓고 결과가 엉뚱하다고 실망한다⭕ 확인 수단을 주지 않으면 "된 것 같다"로 멈춥니다 (2.2)
"테스트 통과했습니다"라는 말을 그대로 믿는다❌ 주장입니다. 실행 출력 원문 을 받으세요 (2.3)
Git 없이 시작한다⚠️ 잘못 고쳤을 때 되돌릴 방법이 없습니다 (3.1)
처음부터 모든 권한을 자동 허용한다⚠️ 처음엔 하나씩 승인하며 지켜봅니다 (3.4)
모르는 명령을 그냥 승인한다⭕ "이 명령이 무엇을 하는지 한 줄로 설명해줘" (3.4)
API 키를 대화창에 붙여 넣는다❌ 비밀값 입력은 내가 직접, AI에게 주지 않습니다 (3.3)

부록 C. NotebookLM 복습 프롬프트

이 1차시 노트만 근거로 5문제를 내줘. 코드를 모르는 사람 기준으로.
"대화형과 에이전트형을 가르는 축", "에이전트 루프에서 확인 단계의 역할", "증거와 주장", "승인 창에서 명령 분류"는 반드시 포함해줘.
답은 내가 답한 다음에 채점하고, 틀린 이유를 노트의 절 번호를 근거로 설명해줘.