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

AI 드리븐

이 페이지에 묻기

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

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

AI · DEVELOPMENT

AI 드리븐

생성 수정

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

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

5차시 · AI 역할 정의의 원리

지도 위치 : 1일차 · 팀 구성 · 모든 역할에 쓰는 공통 틀 | 이전: 4차시 범위 결정과 서비스 설계 | 다음: 6차시 디자인 ① 화면 설계 역할 키워드 : 'AI가 만든 티'의 원인과 처방, 역할을 정의하는 네 가지 축, 팀 편성

이 차시를 다 읽으면

  1. 'AI가 만든 티' 의 증상 여섯 가지를 말하고, 코드를 읽지 않고도 알아챌 수 있는 신호를 댈 수 있다.
  2. 증상의 원인 네 가지를 역할 정의의 네 축(책임 · 맥락 · 권한 · 완료 조건) 과 짝지을 수 있다.
  3. 네 축을 하위 에이전트 정의 파일에 옮기고, 완료 조건에 증거 제출 을 넣을 수 있다.
  4. 정의 파일의 "이 폴더만 수정한다"(부탁)와 tools: 줄(강제)의 차이를 말할 수 있다.
  5. 역할을 언제 나누고 언제 나누지 않을지 하나 ↔ 여럿 축으로 판단할 수 있다.

0. 이 차시의 판별 축

#축왼쪽 (0)오른쪽 (1)이 축으로 갈리는 것큰 축 (README 5장)
1⭐ 하나 ↔ 여럿에이전트 하나가 다 함 (단순, 대신 맥락이 섞임)역할을 나눈 팀 (독립, 대신 넘겨주는 비용)역할을 나눌 이유가 있는가⑤
2추상 ↔ 구상역할 정의 (무엇을 하기로 했나)실제 수행 (무엇을 했나)정의와 결과가 어긋나면 무엇을 고치나②
3속성 ↔ 기능정의 파일의 설명 글 (description, 책임)tools: (실제로 할 수 있는 동작)글로 적은 역할 ↔ 도구로 허락된 동작③
4증거 ↔ 주장완료 조건에 증거 제출"구현했습니다"로 끝역할의 결과를 믿을 수 있는가⑧의 파생

이 차시가 답하는 질문은 "모든 역할에 공통으로 쓰는 정의 틀은 무엇인가" 입니다. 앞에서 기획 역할(3차시 5.1)을 정의했고, 6차시부터 디자이너 · 검증자 · 백엔드 · 프론트엔드가 나옵니다. 역할마다 즉흥적으로 지시를 쓰면 품질이 들쭉날쭉합니다. 앞에서 배운 하위 에이전트(2차시 3.1)가 그릇이라면, 이 차시는 그릇에 무엇을 채우는가 입니다.


1. 'AI가 만든 티' — 증상

1.1 정의

'AI가 만든 티' — [결과물의 품질 문제]인데, [ 이 프로젝트가 아니라 세상의 평균값에 맞춰진 흔적 ]이라는 점에서 특정 줄이 틀린 단순 버그와 구별된다.

증상예
평균적이고 무난함어디서 본 듯한 보라색 그라데이션 첫 화면
과잉 구현요청하지 않은 설정 옵션, 미래 대비 코드
일관성 없음파일마다 다른 에러 처리 방식, 이름 짓는 규칙
군더더기코드를 그대로 다시 말하는 주석, 과한 로그
근거 없는 가정존재하지 않는 라이브러리 함수, 프로젝트에 없는 폴더 구조
확인 없는 "완료"실행해 보지 않고 "구현했습니다"

1.2 코드를 읽지 않아도 보이는 신호 ⭐

'AI가 만든 티'는 코드를 몰라도 보입니다.

신호의심할 증상
요청하지 않은 기능이 생겼다과잉 구현
바뀐 파일 수가 예상보다 훨씬 많다과잉 구현, 범위 이탈
보고가 길기만 하고 실행 결과가 없다확인 없는 "완료"
화면마다 버튼 모양 · 문구 말투가 다르다일관성 없음
처음 듣는 패키지를 설치하겠다고 한다근거 없는 가정 (14차시)

이런 신호를 보면 2절 표에서 원인 축 을 찾습니다. 결과를 대화로 고치는 대신 원인 축을 고칩니다.


2. 원인과 처방

원인무슨 일이 생기나처방역할 정의의 축
맥락 부족 — 이 프로젝트가 무엇인지 모름세상의 평균값을 낸다참고할 문서 · 기존 코드 · 예시를 지정② 맥락
역할 경계 없음 — 어디까지 해야 하는지 모름과잉 구현책임 범위와 "하지 않는 일" 명시① 책임
권한 과다 — 모든 걸 할 수 있음엉뚱한 곳까지 손댄다도구 · 파일 접근 제한③ 권한
완료 조건 없음 — 언제 멈출지 모름확인 없이 종료산출물과 확인 방법 · 증거 명시④ 완료 조건

⭐ 네 원인이 곧 네 축입니다. 증상을 보고 → 원인 축을 찾고 → 그 축을 정의 파일에서 고칩니다.


3. ⭐ 역할을 정의하는 네 가지 축

3.1 정의

역할 정의 — [에이전트 지시]인데, [ 책임 · 맥락 · 권한 · 완료 조건 네 축을 파일로 고정해 다음 세션에도 똑같이 적용된다 ]는 점에서 대화 중에 그때그때 쓰는 즉흥 지시와 구별된다.

(수업에서 쓰는 명칭은 다를 수 있습니다. 개념이 같으면 됩니다.)

축질문적는 내용빠지면 생기는 증상
① 책임무엇을 하고, 무엇을 하지 않나?담당 업무 + 금지 업무과잉 구현, 남의 일 침범
② 맥락무엇을 보고 판단하나?참고 문서, 기준 파일, 우선순위평균적 결과, 근거 없는 가정
③ 권한무엇을 쓸 수 있나?허용 도구, 수정 가능한 폴더엉뚱한 파일 수정
④ 완료 조건언제, 무엇을 내고 끝나나?산출물, 확인 방법, 증거 , 보고 형식확인 없는 "완료"

3.2 네 축을 정의 파일로

# .claude/agents/backend.md
---
name: backend
description: docs/api.md 명세에 따라 서버 API를 구현한다. 명세가 확정된 기능을 구현할 때 사용.
tools: Read, Write, Edit, Bash, Glob, Grep
---
## 책임
- docs/api.md 명세대로 서버 코드를 구현한다
- 하지 않는 일: 화면 코드 수정, 명세 변경, DB 구조 변경(데이터 역할 담당)

## 맥락
- 기준: docs/api.md, docs/requirements.md의 인수 기준, docs/adr/
- 기존 코드 스타일을 먼저 읽고 따른다

## 권한
- apps/api/ 아래만 수정한다

## 완료 조건
- 해당 API의 테스트를 작성하고 통과시킨다
- 실제로 요청을 보내 응답을 확인한다
- 증거: 실행한 확인 명령과 출력 원문을 첨부한다. "통과했다"는 요약만으로는 완료가 아니다.
- 사용자(나)가 직접 확인할 수 있는 방법을 한 가지 이상 적는다.
- 위험 영역(돈 · 개인정보 · 삭제 · 권한 · 새 패키지)을 건드렸으면 [위험]으로 표시한다.
- 보고: 바꾼 파일 목록, 명세와 다르게 판단한 부분

🔍 읽는 포인트 : 세 곳만 보면 됩니다. tools: 줄(무엇을 할 수 있나), ## 책임의 "하지 않는 일", ## 완료 조건의 "증거" 줄.

⭐ 네 축 중 "완료 조건"을 가장 두껍게 씁니다. 코드를 읽는 사람은 결과물을 직접 읽어 완료를 판단하지만, 코드를 읽지 않으면 AI가 낸 증거로만 판단할 수 있습니다(0절 축 4). 그래서 모든 역할의 완료 조건에 증거 제출과 "내가 직접 확인할 방법"을 넣습니다.

3.3 description은 누가 읽나

description은 사람보다 메인 에이전트 가 읽습니다. 메인 에이전트는 이 설명을 보고 언제 이 역할에게 일을 넘길지 판단합니다. "서버 코드 담당"보다 "명세가 확정된 기능을 구현할 때 사용"처럼 언제 부를지 를 쓰면 엉뚱한 때 불리지 않습니다.

3.4 ⚠️ 권한 축의 두 자리 — 부탁과 강제

같은 "권한" 축이 정의 파일 안에 두 번 나옵니다. 성격이 다릅니다(앞에서 배운 부탁 ↔ 강제, 2차시 4.2).

자리성격어기면
## 권한 아래 "apps/api/ 아래만 수정한다"부탁 (글로 적은 것)대체로 지키지만 가끔 넘는다
tools: 줄에서 Write, Edit을 빼는 것강제 (도구 자체를 주지 않음)고치는 동작을 아예 못 한다

그래서 "절대 고치면 안 되는 역할"(검증자, 7차시)은 글로 부탁하지 않고 tools:에서 수정 도구를 뺍니다. 폴더 단위로 강제로 막는 것은 권한 설정 · 훅의 몫입니다(12, 14차시).

3.5 반례 — 이건 역할 정의가 아닙니다

대상왜 아닌가
"너는 10년차 시니어 개발자다"직함은 맥락이 아니다. 어떤 문서를 보고 무엇을 내는지가 없다
"잘 구현해줘"완료 조건이 없다
모든 역할에 모든 도구를 준 정의권한 축이 비어 있다
결과가 마음에 안 들어 대화로만 고친 것다음 세션에 사라진다. 정의 파일 을 고쳐야 남는다 (24차시 회고)

4. 팀 편성 — 하나 ↔ 여럿

                 사람(팀장): 목표, 승인, 최종 판단
                          │
              메인 에이전트(조율): 일을 나누고 넘기고 모음
     ┌──────┬──────┬──────┼──────┬──────┬──────┐
   기획   디자인  디자인검증 백엔드 프론트  데이터  리뷰/QA ...

🔍 읽는 포인트 : 맨 위 줄입니다. 사람은 코드를 쓰는 자리가 아니라 목표 · 승인 · 최종 판단 의 자리입니다(README 7장).

편성 원칙이유
역할은 산출물 단위로 나눈다산출물이 다르면(요구사항 문서 ↔ 서버 코드) 기준 문서도 달라 나눌 이유가 있다
만드는 역할과 검증하는 역할은 반드시 나눈다자기 결과를 관대하게 본다 (7, 13차시)
너무 잘게 나누지 않는다역할이 늘면 넘겨주는 비용(맥락 전달) 이 커진다. 처음에는 4~6개

⚠️ 0절 축 1의 어느 쪽도 "발전된 형태"가 아닙니다. 기준은 산출물이 다른가, 독립된 판단이 필요한가 입니다. 둘 다 아니면 나누지 않습니다.

💡 비유는 마지막에 — 역할 정의는 회사의 직무 기술서 입니다. "유능한 사람"이라고 쓰지 않고, 담당 업무 · 참고 자료 · 결재 권한 · 성과물을 씁니다.

앞으로 다시 만납니다 — 6차시(디자이너), 7차시(디자인 검증자), 8차시(아키텍트)가 이 네 축으로 정의됩니다. 9차시에서 2일차 역할들이 한꺼번에 추가됩니다.


5. 역할 정의가 작동하는지 확인하기와 클래스온

5.1 같은 작업을 두 번 시켜 보기

정의 파일을 읽고 판단하기보다 같은 작업을 두 번 시켜 보세요.

결과뜻
두 결과가 거의 같다맥락과 완료 조건이 결과를 충분히 묶고 있다
두 결과가 크게 다르다맥락이나 완료 조건이 비어 있다 . 어느 축인지 2절 표로 찾는다

이 시험은 코드를 몰라도 할 수 있습니다. 바뀐 파일 목록, 보고 모양, 화면만 비교하면 됩니다.

5.2 클래스온에 적용하면

1일차가 끝날 때 .claude/agents/에 최소한 이 정도가 있으면 좋습니다.

파일역할차시tools:에 수정 도구
planner.md요구사항, 인수 기준3문서만 씀 (Write)
designer.md디자인 규칙, 시안6있음
design-reviewer.md읽기 전용 검증7없음
architect.md결정 기록(ADR) 작성8문서만 씀

2일차에 backend.md, frontend.md, data.md, code-reviewer.md, security-reviewer.md가 추가됩니다.


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

지시

.claude/agents/에 있는 역할 정의 파일(planner.md 등)을 모두 읽고 네 축으로 점검해줘.
[파일 | 책임(하지 않는 일 포함) | 맥락(참고 문서) | 권한(tools 목록) | 완료 조건(증거 요구 여부) | 빠진 축] 표로.
빠진 축이 있으면 이 노트 3.2절의 완료 조건 형식(증거 · 내가 확인할 방법 · [위험] 표시)으로 보완안을 보여줘.
파일을 고치기 전에 바꿀 내용을 먼저 보여주고 내 승인을 받을 것.

받을 증거

  • 점검표와 각 파일의 tools: 줄 원문
  • 보완안(바꾸기 전 · 후)

내가 직접 확인할 것

볼 것이걸로 아는 것 / 왜 내가 보는가
각 정의 파일의 tools: 줄에 Write · Edit이 있는지고칠 수 있는 역할인지. 검증 역할에 있으면 즉시 빼야 함 (3.4)
모든 완료 조건에 "출력 원문" 또는 "증거" 라는 말이 있는지증거 ↔ 주장 축의 왼쪽에 서 있는지
planner에게 같은 기능의 인수 기준을 두 번 따로 시켜 비교맥락 · 완료 조건이 결과를 묶고 있는지 (5.1)
그 결과 보고에 "내가 직접 확인할 방법" 이 실제로 들어 있는지정의 파일에 쓴 것이 실제 수행 에서도 지켜지는지 (축 2)

부록 A. 스스로 확인하기

#질문답이 있는 곳
1'AI가 만든 티'를 유와 종차로 정의하면?1.1
2코드를 읽지 않고도 보이는 'AI가 만든 티'의 신호 세 가지는?1.2
3증상 하나를 골라 원인과 처방을 연결하면?2
4역할 정의의 네 축과 각각 빠지면 생기는 증상은?3.1
5네 축 중 완료 조건을 가장 두껍게 쓰는 이유는?3.2
6하위 에이전트의 description은 누가, 언제 읽나?3.3
7"apps/api/ 아래만 수정한다"와 tools:에서 Edit을 빼는 것의 차이는?3.4
8"너는 10년차 시니어 개발자다"가 역할 정의가 아닌 이유는?3.5
9역할을 너무 잘게 나누면 왜 손해인가?4
10역할 정의가 잘 작동하는지 코드 없이 확인하는 방법은?5.1

부록 B. 자주 하는 실수

실수바로잡기
직함만 쓰고 끝낸다❌ 직함은 맥락이 아닙니다. 참고 문서와 산출물을 (3.5)
모든 역할에 모든 도구를 준다❌ 권한 축이 빈 것입니다 (3.4)
완료 조건 없이 "잘 구현해줘"로 끝낸다❌ 증거 제출을 완료 조건에 (3.2)
결과가 마음에 안 들 때 대화로만 고친다⭕ 정의 파일을 고쳐야 다음에도 반영됩니다 (3.5)
"고치지 마"를 글로만 적는다⚠️ 부탁입니다. tools:에서 수정 도구를 뺍니다 (3.4)
역할을 처음부터 열 개 넘게 만든다⚠️ 4~6개로 시작합니다 (4)

부록 C. NotebookLM 복습 프롬프트

이 5차시 노트만 근거로 6문제를 내줘. 코드를 모르는 사람 기준으로.
"AI가 만든 티의 원인 네 가지", "역할 정의 네 축", "완료 조건에 증거 넣기", "권한 축의 부탁과 강제"는 반드시 포함해줘.
증상 하나를 주고 어느 축을 고쳐야 하는지 내가 맞히는 문제도 1개 넣어줘.
답은 내가 답한 다음에 채점하고, 틀린 이유를 노트의 절 번호를 근거로 설명해줘.