💬말로 만드는 AI▶ 유튜브
🤖 비서 만들기 · 03

나의 AI 비서 Sancho 만들기 - 3편 프로젝트와 WBS 공정표

이 페이지 목차목적준비물만드는 단계0단계 · 여는 말 (영상 0:05)1단계 · 새 세션 — 앞 편 이어서 (영상 0:33)2단계 · 먼저 설계부터 — 계획 모드 (영상 1:00)3단계 · 프로젝트 화면 (영상 2:09)4단계 · WBS 공정표 본체 (영상 2:41)5단계 · S-곡선 · 리비전 · 내보내기 (영상 3:43)6단계 · 말 한마디로 WBS 짜기 — 스킬 (영상 4:33)7단계 · Opus 로 검증하고 커밋 (영상 5:31)💡 설명자주 막히는 곳됐는지 확인하는 방법

3편 표지
3편 표지

개인 에이전트 AI 강좌 · 3 / 10편

© 2026 crazy4eu (cwkim83) · 강좌 자료 CC BY-NC-ND 4.0 · 코드 상업적 배포 금지 — 맨 아래 「저작권 · 라이선스」
💻 완성 소스: github.com/cwkim83/my-agent-Sancho (태그 ep3) — 막히면 이 코드를 열어 비교해 보세요.
단계 번호는 영상 왼쪽 위 장면 이름과 같고, "영상 시각"은 편집본 기준입니다. 회색 상자는 Code 탭 입력창에 그대로 붙여 넣는 요청문입니다.
이전 편: 나의 AI 비서 Sancho 만들기 - 2편 대시보드와 일정 · 다음 편: 나의 AI 비서 Sancho 만들기 - 4편 예약과 아침 브리핑

핵심 요약

항목내용
이 편이 끝나면프로젝트 메뉴에 카드와 연간 간트가 생기고, 카드를 누르면 WBS 공정표(계층 작업·담당·기간·가중치·진도율·상태·월 간트, 위에 EVMS 카드, 아래 S-곡선)가 열립니다. 리비전 저장·되돌리기, 엑셀·PDF 내보내기, 읽기 전용 공유 링크. 채팅으로 "WBS 짜 줘" 하면 공정표가 채워집니다.
필요한 것2편을 끝낸 my-agent 폴더(또는 GitHub 의 ep2 태그) · Claude 유료 요금제 · Claude 데스크톱 앱
걸린 시간실제 제작 약 84분(기다림 포함) → 편집본 6분 35초
요청문7개
난이도중~상. 공정표 본체(4단계)가 가장 오래 걸립니다(약 23분)
모델만들기 Sonnet 5.5 · 검증 Opus 5.5 (7단계에서만 바꿈)

한 줄 요약 — 큰 기능은 계획 모드로 설계부터 받고, 프로젝트 → 공정표 → S-곡선·리비전·공유 순서로 한 화면씩 만든 뒤, 공정표 규칙을 스킬로 가르쳐 말 한마디로 공정표 초안을 짭니다.

3편 · 프로젝트와 WBS 공정표

목적

산초의 중심 화면인 공정표를 만듭니다. 큰 단계의 진도율이 작은 작업들의 가중 평균으로 자동 계산되고, 계획보다 늦으면 자동으로 "지연"이 붙고, EVMS 로 일정 성과를 숫자로 봅니다. 마지막엔 비서가 말 한마디로 공정표 초안을 짭니다.

준비물

  • 2편을 끝낸 my-agent 폴더 — 없으면 GitHub 에서 받은 뒤 ep2 태그로 시작합니다
  • Claude 데스크톱 앱 Code 탭, 모델 Sonnet 5.5
  • 연습용 계정(1편에서 만든 가상 관리자 demo) — 실제 비밀번호는 요청문에 쓰지 않습니다

만드는 단계

0단계 · 여는 말 (영상 0:05)

0단계 여는 말 화면
0단계 여는 말 화면

  • WBS = 프로젝트를 큰 단계(대단락)와 작은 작업으로 쪼갠 표. 누가·언제부터 언제까지·얼마나 했는지를 한눈에 보여 줍니다.
  • 위 그림은 이 편 마지막에 말 한마디로 만든 "압력용기 개조" 공정표입니다.

1단계 · 새 세션 — 앞 편 이어서 (영상 0:33)

1단계 새 세션 화면
1단계 새 세션 화면

  1. + 새 세션 → 폴더 my-agent, 워크트리 끔, 모델 Sonnet 5.5, 권한 모드 편집 자동 수락.
  2. 오른쪽 위 지구본 단추로 브라우저 패널을 먼저 엽니다. 2편에서는 이걸 깜빡해서 비서가 만든 화면이 한동안 안 보였습니다.
CLAUDE.md 와 docs/blueprint.md 를 읽고 ep2 까지를 세 줄로 요약해 줘. 서버를 켜 줘.
브라우저 패널이 로그인돼 있지 않으면 연습용 관리자(아이디 demo, 연습용 비밀번호 sancho-demo-2026)로 로그인해서 대시보드를 보여 줘.
  • 결과: 지난 편까지 세 줄 요약 + 대시보드. 패널이 이미 로그인돼 있어서 연습용 계정은 쓰지 않았습니다.

2단계 · 먼저 설계부터 — 계획 모드 (영상 1:00)

2단계 계획 모드 화면
2단계 계획 모드 화면

입력창 아래 권한 모드를 계획 으로 바꾼 뒤 보냅니다.

WBS 공정표를 만들기 전에 설계만 먼저 보여 줘(코드는 아직 쓰지 마).
기능:
- 프로젝트마다 data/wbs/<프로젝트id>.json. 항목: 코드(1, 1.1, 1.1.1), 단계(대단락/작업), 작업명, 담당, 시작일, 완료일, 가중치, 진도율(%), 메모.
- 상위 항목의 진도율 = 하위 진도율의 가중 평균(자동). 상태는 자동: 완료(100%) / 진행 / 지연(오늘 기준 계획 진도보다 실제가 10%p 넘게 낮음) / 대기.
- 계획 진도(PV): 오늘이 기간의 몇 % 지점인지로 계산.
- EVMS 카드: 계약금액(BAC) 입력, 계획 가치 PV, 실행 가치 EV, 일정 차이 SV=EV-PV, 일정 성과 SPI=EV/PV, 실제 비용(AC)을 넣으면 CPI=EV/AC. 지연 작업 수.
- 표 + 월 단위 간트(오늘 세로선, 막대 = 기간, 막대 안 채움 = 진도율). 막대를 끌어서 기간 이동, 끝을 끌어서 기간 늘리기.
- 아래 S-곡선: 계획 누적 진도 vs 실제 누적 진도.
- 리비전: "현재 상태 저장(Rev)" → 이력 목록 → 보기 / 이 Rev 로 되돌리기.
- 내보내기: 엑셀(CSV, 한글 깨지지 않게), PDF(인쇄 화면), 읽기 전용 공유 링크(토큰, 로그인 없이 보기만).
화면 구성과 파일 형식, 계산식을 표로 보여 줘.
  • 계획 모드 = 비서가 파일을 고치지 않고 계획만 내는 모드. 큰 기능은 바로 만들지 말고 설계부터 받습니다.
  • 비서는 조사 담당 둘(서버 쪽·화면 쪽)을 따로 띄워 기존 코드를 읽은 뒤 설계서를 냈습니다(약 7분). 화면 구성·파일 형식·계산식 표와 손으로 검산할 예시까지 들어 있습니다.
  • EVMS 는 "계획대로라면 지금쯤 얼마나 했어야 하는지"와 "실제로 얼마나 했는지"를 금액으로 비교하는 것. SPI 가 1보다 작으면 계획보다 늦다는 뜻입니다.
  • 계획 카드에서 수락 을 누르면 계획 전체를 한 번에 만들기 시작합니다. 영상처럼 한 화면씩 확인하며 만들려면 거부 로 카드만 닫고, 권한 모드를 편집 자동 수락 으로 바꾼 뒤 3단계 요청문을 보냅니다. (설계서는 plans/ 폴더에 남아 있어 비서가 계속 참고합니다)

3단계 · 프로젝트 화면 (영상 2:09)

3단계 프로젝트 화면
3단계 프로젝트 화면

설계를 승인할게. 먼저 프로젝트 메뉴부터 만들어 줘(public/m/projects.html).
- 프로젝트 카드(이름·고객사·기간·진도율 막대·상태), 위에 "+ 새 프로젝트".
- 아래 연간 통합 간트: 모든 프로젝트 막대를 한 화면에.
- 카드를 누르면 그 프로젝트의 WBS 공정표 화면으로.
다 되면 서버를 다시 켜고 브라우저 패널에서 프로젝트 메뉴를 보여 줘.
  • 비서는 2편 일정 화면이 쓰는 방식을 먼저 읽고 같은 방식으로 만들었습니다. 날짜 계산은 일정 화면과 같은 파일을 같이 씁니다.
  • 결과: 프로젝트 카드 3장 + 연간 간트(빨간 세로선 = 오늘, 막대 안 채움 = 진도율). 점검 180개.
  • 위 그림 왼쪽 아래처럼 커밋 같은 명령은 "한 번만 허용"을 눌러야 진행됩니다. 편집 자동 수락 모드는 파일 수정만 알아서 하고 명령은 묻습니다.

4단계 · WBS 공정표 본체 (영상 2:41)

4단계 WBS 공정표 본체 화면
4단계 WBS 공정표 본체 화면

이제 설계대로 WBS 공정표 화면을 만들어 줘(public/m/wbs.html).
- 왼쪽 표: 코드·작업명(▶/▼ 접기·펼치기)·담당·시작·완료·가중치·진도율·상태. 칸을 두 번 누르면 바로 고치기, Enter 로 저장.
- 행 추가(아래에·하위로), 삭제(확인 창), 위·아래 이동.
- 오른쪽 월 간트(오늘선, 진도 채움, 상태 색: 완료 초록·진행 파랑·지연 빨강·대기 회색), 막대 끌기로 기간 이동·늘리기.
- 위쪽 EVMS 카드 6장(BAC·PV·EV·SV·SPI·CPI) + 지연 수. BAC·AC 는 카드를 눌러 입력.
- 계산은 별도 파일 public/m/wbs-calc.js 로 빼고, selftest 에서 가중 평균·상태·PV·SPI 계산을 숫자로 검사해 줘.
- db.js watch 처럼 wbs 파일이 바뀌면 화면이 바로 바뀌게.
다 되면 서버를 다시 켜고, 예시 프로젝트 "열교환기 제작"에 대단락 5개(설계·구매·제작·검사·출하)와 작업 몇 개를 넣어서 보여 줘.
브라우저 패널에서 제작 단계의 작업 하나의 진도율을 바꿔 상위 진도율과 EVMS 숫자가 같이 바뀌는 것, 간트 막대를 끌어 기간이 바뀌는 것까지 보여 줘.
  • 계산을 따로 떼어 숫자로 검사 하게 한 것이 핵심입니다. 공정표 숫자가 틀리면 보고서 전체가 틀립니다.
  • 중간에 명령 하나가 멈췄는데, 비서가 스스로 알아채고 그 명령만 끈 뒤 방법을 바꿔 다시 했습니다(영상에서는 빨리 감기).
  • 결과: 대단락 5개 + 작업 15개, 상태 색 4가지. "3.3 용접" 진도율 5 → 30% 로 바꾸자 제작 단계 47.2 → 55.6%, 전체 48.1 → 51.5%, SPI 0.98 → 1.05 로 함께 바뀌었습니다. "3.4 열처리" 막대를 끌어 기간이 엿새 밀렸습니다. 점검 256개.

5단계 · S-곡선 · 리비전 · 내보내기 (영상 3:43)

5단계 S-곡선 리비전 내보내기 화면
5단계 S-곡선 리비전 내보내기 화면

공정표 아래에 S-곡선(계획 누적 vs 실제 누적, 오늘선)을 그려 줘. 그림 라이브러리 없이 SVG 로.
그리고 위쪽 단추줄에: 💾 Rev 저장(설명 입력) · 📜 이력(목록·보기·이 Rev 로 되돌리기, 되돌리기 전에 현재를 자동 저장) · 📊 엑셀(CSV, UTF-8 BOM) · 📄 PDF(인쇄용 화면) · 🔗 공유 링크(읽기 전용, 링크를 끊는 버튼 포함).
Rev 는 data/wbs/_history/<프로젝트id>/ 에 날짜별 파일로.
다 되면 서버를 다시 켜고 브라우저 패널에서: Rev 저장 → 진도율 하나 고치기 → 이력에서 그 Rev 로 되돌리기 → 공유 링크를 만들어 로그인 없이(새 탭 또는 쿠키 없이) 열리는지까지 보여 줘.

이력에서 저장본으로 되돌리는 화면
이력에서 저장본으로 되돌리는 화면

  • S-곡선: 계획 누적 진도(파랑)와 실제 누적 진도(주황). 실제 선이 계획 선 아래로 처지면 늦어지고 있다는 뜻.
  • 리비전: 지금 상태를 저장(💾) → 진도율을 바꿈 → 📜 이력에서 그 Rev 로 되돌리기(위 그림). 되돌리기 전 상태도 자동으로 Rev 하나 더 저장 되어, 실수로 되돌려도 다시 돌아올 수 있습니다.
  • 공유 링크: 로그인하지 않은 탭에서 열면 보기만 되고, 계약금액·실제 비용·메모는 서버가 아예 보내지 않습니다. 링크를 끊으면 같은 주소가 바로 404. 점검 298개.
  • 녹화 때 이 시연이 패널의 다른 탭(로그인 화면)에서 돌아 화면에 안 잡혀서, 영상의 이 부분은 "방금 만든 기능을 패널에서 다시 보여 줘"로 따로 찍은 장면입니다. 패널에 탭이 여러 개 생기면 "탭을 하나만 남기고, 화면 앞에 보이는 탭에서 해 줘" 라고 덧붙이세요.

6단계 · 말 한마디로 WBS 짜기 — 스킬 (영상 4:33)

6단계 말 한마디로 WBS 짜기 화면
6단계 말 한마디로 WBS 짜기 화면

비서가 WBS 를 짤 수 있게 스킬을 만들어 줘(data/.claude/skills/wbs/SKILL.md).
- wbs 파일 형식, 코드 붙이는 법, 가중치 합 100, 기간은 프로젝트 기간 안, 진도율은 새로 만들 땐 0.
- "WBS 짜 줘: 프로젝트, 기간, 대단락" 이라고 하면 작업까지 쪼개서 파일을 만들고 프로젝트 목록에도 넣는다.
- "○○ 진도율 60%로" 같은 말로 고친다.
다 되면 서버를 다시 켜고, 브라우저 패널의 채팅에서 "WBS 짜 줘: 가나다전자 압력용기 개조, 2026-11-01부터 2027-02-28까지, 대단락은 설계·자재·가공·용접·검사·출하" 를 보내고 프로젝트 메뉴에서 새로 생긴 공정표를 열어 보여 줘. 이어서 채팅에서 "압력용기 개조 공정표에서 용접의 첫 작업 진도율 40%로" 를 보내고 공정표에서 바뀐 걸 보여 줘.
  • 결과: 채팅 한 줄 → 30초 만에 프로젝트 목록에 새 카드, 공정표에 대단락 6개(설계 15·자재 15·가공 20·용접 25·검사 15·출하 10) 아래 작업 18개, 기간은 11/1~2/28 사이에 끊김 없이, 진도율은 모두 0. 형제끼리 가중치 합이 모두 100.
  • "용접의 첫 작업 진도율 40%로" → 4.1 용접 절차서 승인이 0 → 40%, 위의 용접 단계 10%, 전체 2.5%. 파일에서 바뀐 값은 그 숫자 하나뿐.
  • 초안입니다. 사람이 보고 고쳐서 확정합니다. 2편의 말로 일정 잡기와 같은 원리 — 도구를 새로 만들지 않고 규칙(스킬)만 더했습니다. 점검 311개.

7단계 · Opus 로 검증하고 커밋 (영상 5:31)

7단계 Opus 검증 화면
7단계 Opus 검증 화면

전송 버튼 옆 모델을 Opus 5.5 로 바꾼 뒤 보냅니다.

3편을 검증해 줘. 고치기 전에 문제 목록부터.
- 가중 평균·상태·PV·SPI·CPI 계산이 경계값(가중치 0, 기간 하루, 오늘이 기간 밖)에서 맞는지
- 이력 되돌리기가 현재를 먼저 저장하는지, 공유 링크로 수정이 되는 구멍은 없는지, 링크를 끊으면 바로 막히는지
- 엑셀이 한글 깨짐 없이 열리는지
- 비서가 가중치 합을 100으로 안 맞추면 화면이 어떻게 되는지
고치고 selftest 돌린 뒤 커밋, ep3 태그.
  • 계산은 경계값 을 꼭 확인시킵니다(가중치 0, 기간 하루, 오늘이 기간 밖). 이런 데서 숫자가 틀리기 쉽습니다.
  • Opus 는 경계값을 직접 돌려 보는 시험 파일을 만들고, 확인된 문제만 표(위 그림)로 올렸습니다. 찾아 고친 5건: ① 되돌리면 S-곡선 실제 기록이 사라짐 ② 공유 링크로 정해지지 않은 칸이 새어 나갈 수 있음(정해진 칸만 보내게) ③ 계약금액 0원을 진짜 값처럼 표시 ④ 가중치 합이 100이 아니어도 안내 없음 ⑤ 같은 이름의 프로젝트 구분 안 됨. 점검 321개, 커밋하고 ep3 태그.
  • 고치지 않고 결정을 물은 것: 하루짜리 작업은 그날 아침부터 계획 100% 로 보는 공식(승인한 설계대로). 필요하면 "오늘 시작 시점 기준으로 바꿔 줘".
  • 검증이 끝나면 다시 Sonnet 5.5 로 돌려 둡니다.

💡 설명

  • WBS: 프로젝트를 대단락과 작업으로 쪼갠 표. 코드는 1, 1.1, 1.1.1 처럼 계층을 나타냅니다.
  • 가중치 · 가중 평균: 작업마다 비중을 매겨, 상위 진도율 = 하위 진도율 × 비중의 합. 같은 부모 아래 비중 합은 100.
  • EVMS: BAC(계약금액) · PV(계획 가치) · EV(실행 가치) · SV = EV − PV · SPI = EV ÷ PV · CPI = EV ÷ AC. SPI·CPI 가 1보다 작으면 늦거나 비용 초과.
  • 간트 차트: 작업 기간을 막대로 그린 그림. 막대 안 채움 = 진도율, 세로선 = 오늘.
  • S-곡선: 누적 진도를 시간에 따라 그린 선. 계획 선과 실제 선을 겹쳐 봅니다.
  • 리비전(Rev): 공정표의 저장본. 언제든 그때로 되돌릴 수 있습니다.
  • 계획 모드: 비서가 고치지 않고 계획만 내는 권한 모드. 큰 기능의 설계에 씁니다.
  • 경계값: 0, 하루, 기간 밖처럼 계산이 틀리기 쉬운 끝자리 값.

자주 막히는 곳

  • 계획 카드에서 수락을 눌렀더니 한꺼번에 다 만들어 버린다 → 한 화면씩 보려면 거부로 닫고 모드를 바꾼 뒤 요청문을 하나씩 보냅니다. 이미 시작했다면 그대로 두고 끝난 뒤 확인해도 됩니다.
  • 비서가 한 시연이 패널에 안 보인다 → 패널에 탭이 여러 개 생긴 경우입니다. "탭을 하나만 남기고 화면 앞의 탭에서 다시 보여 줘".
  • 커밋에서 멈춰 있다 → 편집 자동 수락 모드에서는 명령마다 "한 번만 허용"을 눌러야 합니다.
  • 서버를 켤 수 없다고 한다(포트 사용 중) → 다른 대화창에서 켠 옛 서버가 살아 있는 경우입니다. 그 대화창에서 서버를 끄거나, 작업 관리자에서 해당 node 를 끕니다.
  • 명령이 멈춘 채 끝나지 않는다 → "멈춘 그 명령만 꺼 줘". 영상에서는 비서가 스스로 알아채고 껐습니다.
  • 공정표 숫자가 이상하다 → "wbs-calc.js 의 계산을 이 숫자로 검산해 줘: …" 처럼 숫자를 주고 확인시킵니다.

됐는지 확인하는 방법

  • 프로젝트 메뉴에 카드와 연간 간트가 보이고, 카드를 누르면 공정표가 열린다
  • 작업 진도율을 바꾸면 상위 진도율·전체 진도율·EVMS 카드가 같이 바뀐다
  • 간트 막대를 끌면 기간이 바뀌고 새로고침해도 유지된다
  • 💾 Rev 저장 → 값 변경 → 📜 이력에서 되돌리기가 되고, 되돌리기 전 상태가 Rev 로 하나 더 남는다
  • 🔗 공유 링크를 로그인 안 된 탭에서 열면 보기만 되고, 끊으면 열리지 않는다
  • 채팅 "WBS 짜 줘: …" → 새 프로젝트와 공정표가 생긴다
  • node selftest.js → 모두 통과(영상 기준 321개), git tag 에 ep3

스스로 점검

  • 큰 기능을 계획 모드로 설계부터 받는 이유를 안다
  • SPI 가 1보다 작으면 무슨 뜻인지 설명할 수 있다
  • 계산을 따로 떼어 숫자로 검사하는 이유를 안다
  • 공유 링크로 무엇이 보이고 무엇이 안 보이는지 확인했다
  • 말로 만든 공정표는 초안이라 사람이 확정해야 한다는 것을 안다
  • Opus 로 경계값을 검증하고 ep3 태그로 커밋했다