KCH W02 · 합의한 일을 프로젝트에 남기기

KCH AGENT BUILDER LAB · W02 REVIEW

지난 시간의 합의를, 다음 대화가 읽게 만들기

W1에서 grill-with-docs로 맞춘 생각을 프로젝트 안에 남깁니다. 오늘은 규칙 파일을 짧게 만들고, 그 합의를 $to-spec이라는 정리 명령으로 구현 전에 읽기 쉬운 명세로 바꾸는 연습입니다.

복습 25분 · 실습 35분 결과물 2개 복습 후 퀴즈 →

오늘 만들 것은 파일 두 개입니다

첫 번째는 에이전트가 매번 먼저 읽는 작업 안내문이고, 두 번째는 무엇을 만들지 정리한 명세입니다. 둘을 한 문서에 섞지 않습니다.

  • CLAUDE.md 또는 AGENTS.md: 이 프로젝트에서 일하는 방법을 알려주는 안내문
  • Spec(명세): 해결하려는 문제와 이번에 만들 범위를 합의한 문서
  • Ticket(작업 카드): Spec을 실제 작업 순서로 나눈 문서. W3에서 다룹니다.

CLAUDE.md와 AGENTS.md를 쉽게 이해하기

둘 다 “AI가 이 프로젝트에서 일할 때 먼저 확인하는 안내문”입니다. 이름을 둘 다 만들어야 하는 것은 아니며, 사용하는 도구의 규칙에 맞춰 하나를 고르면 됩니다.

  1. 01

    프로젝트를 한 문장으로 소개하기

    왜 하나요? AI가 지금 어느 프로젝트에 들어와 있는지 알게 합니다.

    할 일 누가, 무엇을 위해, 어떤 결과를 만드는 프로젝트인지 한 문장으로 씁니다.

    복사해서 써도 되는 요청

    이 프로젝트의 목적을 비개발자도 이해할 수 있는 한 문장으로 정리해줘. 문서에 없는 내용은 추측하지 마.

    정상이라면 예: “인사 담당자가 교육생 피드백을 빠르게 정리해 공유하는 도구다.”

  2. 02

    항상 지킬 규칙을 세 문장만 고르기

    왜 하나요? 매 작업에 반복해서 필요한 판단 기준만 남깁니다.

    할 일 AI가 틀리면 곤란한 판단을 세 가지 고릅니다. “열심히 하자”처럼 확인할 수 없는 말은 뺍니다.

    복사해서 써도 되는 요청

    현재 프로젝트 파일을 먼저 살펴보고, 작업할 때 반복해서 지켜야 하는 규칙 후보를 5개 제안해줘. 각 후보가 없으면 어떤 판단을 틀리는지도 함께 써줘. 파일은 아직 수정하지 마.

    정상이라면 후보 목록을 받은 뒤 사람이 3개 이하를 선택합니다.

    TIP · AI에게 곧바로 파일을 쓰게 하지 말고, 조사 → 제안 → 승인 순서로 진행합니다.

  3. 03

    상세 내용은 위치만 알려주기

    왜 하나요? 규칙 파일이 길어져 중요한 문장이 묻히는 것을 막습니다.

    할 일 자세한 절차·예시·배경은 별도 문서에 두고, 규칙 파일에는 어디를 읽을지만 적습니다.

    복사해서 써도 되는 요청

    지금 확인한 상세 절차 중 매번 읽을 필요가 없는 내용과, 필요할 때 찾아갈 문서 위치를 나눠서 표로 정리해줘.

    정상이라면 규칙 본문은 짧아지고, 필요할 때 열 문서의 위치가 남습니다.

  4. 04

    완료를 눈으로 확인할 수 있게 쓰기

    왜 하나요? “다 됐습니다”라는 말 대신 확인 가능한 신호를 만듭니다.

    할 일 명령, 화면, 파일, 비교 결과 중 지금 실제로 확인할 수 있는 것을 적습니다.

    복사해서 써도 되는 요청

    이 작업이 끝났다고 말하기 전에 사람이 확인해야 하는 신호를 3개 제안해줘. 아직 검사 방법이 없으면 없다고 써줘.

    정상이라면 “충분히 좋다”가 아니라 “이 명령이 통과하고 이 결과가 보인다”로 바뀝니다.

합의한 대화를 명세로 바꾸기

$to-spec은 새 아이디어를 대신 만들어주는 명령이 아닙니다. W1에서 정한 내용을 구현 전에 다시 읽기 쉬운 문서로 묶는 단계입니다.

  1. 01

    W1 문서와 프로젝트를 먼저 읽히기

    왜 하나요? 명세가 기억이나 일반론이 아니라 실제 프로젝트에 근거하도록 합니다.

    할 일 W1에서 만든 메모, 자주 쓰는 용어 목록, 결정 기록(ADR), 현재 프로젝트 구조를 먼저 확인하게 합니다.

    복사해서 써도 되는 요청

    먼저 W1에서 만든 문서와 현재 프로젝트 구조를 읽어줘. 문서에 없는 요구사항은 만들지 말고 미결정으로 표시해줘.

    정상이라면 AI가 읽은 자료와 아직 모르는 부분을 구분해 말합니다.

  2. 02

    명세 초안 만들기

    왜 하나요? 대화를 문제와 사용자 행동 중심의 문서로 바꿉니다.

    할 일 문제, 해결책, 사용자 스토리, 구현 결정, 테스트 결정, 제외 범위를 작성하게 합니다.

    복사해서 써도 되는 요청

    $to-spec을 실행해 W1 합의만으로 초안을 만들어줘. 추측한 내용은 넣지 말고 추가 메모(Further Notes)에 남겨줘.

    정상이라면 읽는 사람이 “누가 무엇을 해서 어떤 결과를 얻는가”를 알 수 있습니다.

  3. 03

    사람이 명세를 고치고 승인하기

    왜 하나요? AI가 그럴듯하게 채운 내용을 팀의 약속으로 착각하지 않게 합니다.

    할 일 다음 세 질문으로 문장을 직접 확인하고, 맞지 않는 부분을 고칩니다.

    정상이라면 ① 실제로 필요한 문제인가? ② 사용자가 확인할 결과가 있는가? ③ 문서에 없는 사실을 AI가 만들어내지 않았는가?

    TIP · 명세를 게시하기 전에는 항상 사람이 승인합니다.

$to-tickets는 왜 다음 주에 배우나요?

Ticket은 명세를 실제로 만들 수 있는 작은 작업으로 나누는 문서입니다. 지금은 개념만 보고, W3에서 직접 쪼갭니다.

  • 한 티켓을 끝내면 혼자서도 결과를 보여줄 수 있어야 합니다.
  • 다른 티켓이 끝나야 시작할 수 있을 때만 Blocked by로 연결합니다.
  • “프론트 작업”, “백엔드 작업”처럼 기술별로 자르지 않고 사용자 결과가 끝까지 이어지게 자릅니다.

CLAUDE.md 또는 AGENTS.md

처음에는 아래 네 덩어리만 만들고, 실제로 필요해질 때만 늘립니다.

# 이 프로젝트는 무엇을 하는가

한 문장으로 프로젝트의 목적을 씁니다.

## 항상 지킬 것

- [행동] 작업 전에 현재 구조와 관련 문서를 먼저 확인한다.
- [경계] 문서에 없는 요구사항은 추측하지 않고 질문 또는 미결정으로 남긴다.
- [검증] 변경 후 사람이 확인할 수 있는 명령·화면·비교 결과를 남긴다.

## 필요할 때 읽을 문서

- 상세 절차: [문서 위치]
- 용어와 결정: [문서 위치]

## 완료 기준

- [확인 가능한 결과 1]
- [확인 가능한 결과 2]

이 7가지가 보이면 오늘의 목표를 달성한 것입니다

  • W1의 합의 문서를 먼저 읽혔다.
  • CLAUDE.md 또는 AGENTS.md를 하나의 진실 원천으로 정했다.
  • 규칙 후보를 AI가 조사·제안하고 사람이 승인했다.
  • 프로젝트 목적·행동·경계·검증을 적었다.
  • $to-spec으로 Spec 초안을 만들었다.
  • Spec의 미결정 사항과 제외 범위를 사람이 확인했다.
  • 명령이나 화면처럼 실제로 확인 가능한 완료 기준이 있다.

다음 주에는 이 명세를 작은 티켓으로 나눕니다

오늘은 무엇을 만들지 정했고, 다음에는 어떤 결과부터 끝낼지 정합니다.

모바일 퀴즈 풀기

자주 나오는 질문

ORCA 화면이 버벅이면 어떻게 하나요?

같은 명령을 터미널에서 실행하면 됩니다. 터미널이 가장 가벼운 방법이며, 터미널에서도 계속 느리거나 꺼진다면 프로그램보다 노트북의 메모리·성능을 먼저 확인해야 합니다.

CLAUDE.md와 AGENTS.md를 둘 다 만들어야 하나요?

아닙니다. 사용하는 도구가 읽는 이름을 확인하고 하나를 기준으로 삼으면 됩니다. 여러 도구가 필요해도 같은 내용을 복사해 두기보다 한 곳을 기준으로 두고 다른 파일은 그 위치를 안내하는 방식이 안전합니다.

규칙 파일이 길면 더 친절한 것 아닌가요?

상세한 설명은 별도 복습 자료나 참고 문서에 두는 편이 낫습니다. 규칙 파일에는 매번 읽어야 하고, 없으면 AI의 판단이 달라지는 문장만 남깁니다.

$to-spec이 모르는 내용을 알아서 채워주면 안 되나요?

명세는 팀의 약속이므로 추측을 섞으면 안 됩니다. 자료에 없는 내용은 미결정으로 남겨야 나중에 잘못된 구현을 줄일 수 있습니다.

명세와 티켓은 무엇이 다른가요?

명세는 무엇을 왜 만드는지에 대한 약속이고, 티켓은 그 약속을 어떤 작은 결과부터 만들지 나눈 실행 목록입니다. 그래서 명세가 먼저입니다.