본문 바로가기

견적 계산을 스크립트에 맡기기

1. 문장과 계산을 나누기

예상 시간은 30분입니다. training-quote Skill과 inputs/quote-items.csv를 사용합니다. 「위니브 Skill 모음」 교안의 weniv-quote가 단가표, 계산, 서식을 나눈 원리를 작은 실습으로 옮겼습니다. 이 샘플은 Excel 수식이 살아 있는 위니브 견적기를 복제한 것이 아니라 계산된 CSV, JSON, HTML을 내놓습니다.

실습의 가산율 10%는 산식을 연습하기 위한 가상 조건입니다. 실제 세금 규정을 설명하는 값이 아니고, 위니브 견적서의 만 원 단위 절사 규칙도 여기에는 적용하지 않습니다.

1.1 먼저 손으로 예상하기

품목단가수량횟수금액
주강사100,00024800,000
보조강사50,00024400,000
교재10,000201200,000
장소50,00014200,000

강사 수량 2는 이 실습에서 회차별 두 시간이라는 계산 단위입니다. 스크립트는 단위의 의미를 추론하지 않고 숫자를 곱하기만 하므로, 실제 업무에 쓸 때는 열 설명에 시간, 명, 개, 일 같은 단위를 적어 두어야 합니다.

공급가액은 1,600,000원, 가산액은 160,000원, 총액은 1,760,000원입니다. 예산 상한 2,000,000원보다 240,000원 적습니다.

1.2 Claude에게 실행 맡기기

training-quote Skill로 첨부한 quote-items.csv를 계산해줘.
가산율은 실습 조건인 0.10을 적용해줘.
스크립트를 실행하고 quote.json, quote.csv, quote.html을 제공해줘.
총액이 2,000,000원 이내인지 확인하고 적용한 산식을 알려줘.

실행 환경이 없으면 로컬 터미널에서 samples 폴더로 이동한 뒤 아래 명령을 씁니다. 경로에 공백이 있으면 경로 전체를 따옴표로 감쌉니다.

python skills/training-quote/scripts/calculate.py inputs/quote-items.csv output/quote --rate 0.10

같은 출력 폴더에 다시 실행하면 같은 이름의 결과 파일을 덮어씁니다. 비교하려면 output/quote-v2처럼 다른 폴더를 쓰세요. 입력 파일은 수정하지 않습니다.

1.3 출력이 의미하는 것

JSON은 프로그램이 읽기 쉬운 계산 기록이고, CSV는 표로 확인할 데이터입니다. CSV의 금액 칸은 이미 계산된 숫자라서 Excel에서 단가를 바꿔도 금액이 따라 바뀌지 않습니다. 입력 CSV를 고치고 스크립트를 다시 실행해야 합니다.

HTML은 사람이 검토하고 인쇄할 견적 초안입니다. 세 파일의 총액과 원본 품목 수를 대조하세요. 실행이 실패했는데 예전 출력 파일이 남아 있는 경우가 있으니, 종료 메시지와 이번 출력의 시각을 함께 확인합니다.

1.4 오류와 변경 실습

교재 수량을 25로 바꾸면 공급가액 1,650,000원, 가산액 165,000원, 총액 1,815,000원이 되어야 합니다. 이번에는 교재 단가를 비워 실행합니다. 프로그램은 누락을 오류로 알려야 하며 임의 단가를 채우면 안 됩니다.

CSV의 단가에는 100000처럼 쉼표 없는 정수를 씁니다. “100,000”은 열을 나누는 쉼표와 충돌합니다. 빈 CSV, 음수 수량, 문자 단가도 입력 오류입니다.

계산이 끝나면 quote.json을 앞 절의 제안 대화에 첨부하고 예산 항목과 요구사항 R4를 갱신하세요. 실제 제출 여부는 문서 검토 단계에서 따로 정합니다.