나만의 AI 도구 만들기 · 레슨 01 / 4
내 파일을 읽고 요약하는 도구 만들기
나만의 AI 도구 만들기 1강 — 내 진짜 파일(CSV, 스프레드시트 등)을 읽고 궁금한 질문에 답하는 리포트로 바꿔요. 데이터를 안전하게 지키는 규칙도 함께요.
오늘의 접시: 내 진짜 파일(CSV 등)을 읽고 요약하는 도구
지금까지는 페이지를 요리했어요. 남에게 보여 주려고 만드는 것들이죠. 오늘은 재료가 바뀌어요. 나 자신의 데이터예요. 카드 명세서, 운동 기록, 가계부, 반쯤 적다 만 스프레드시트. "언젠가 제대로 봐야지" 하는 지저분한 표 하나쯤은 누구에게나 있잖아요. 이제 그 표를 지치지도 않고 읽어 주는 요리사가 생겼어요.
이 레슨은 강의가 "재미있다"에서 "삶에 쓸모 있다"로 조용히 방향을 트는 지점이기도 해요. 페이지는 남에게 보여 주는 물건이지만, 데이터 도구는 나에게 답해 주는 물건이거든요.
오늘 접시에 올릴 것
내 진짜 파일로 만든 report.html이에요. 합계, 가장 큰 항목들, 분류별 내역, 그리고 거기 들어 있는 줄도 몰랐던 인사이트 하나까지.
재료
- 진짜 CSV 파일 아무거나. 좋은 출처: 은행/카드사 사이트(명세서를 CSV나 Excel로 내보낼 수 있어요), 또는 아무 스프레드시트나 파일 → 다른 이름으로 저장 → CSV. 최소 몇십 행은 되는 게 좋아요.
first-kitchen폴더 — 파일을data.csv로 넣어두세요- 약 30분
조리
1. 프라이버시 규칙 (요리 전에 읽으세요)
이 주방이 지키는 정직한 규칙 두 가지예요.
- 로컬 파일 ≠ 비공개 대화. 에이전트가 읽는 것은 채팅 메시지처럼 AI 제공사에서 처리돼요. 그래서 어림 규칙은 이거예요. 채팅창에 붙여넣지 않을 데이터는 에이전트에게도 먹이지 않기.
- 가리기 먼저, 분석은 그다음. 계좌번호, 카드번호, 다른 사람 이름은 분석 전에 지우세요. 후가 아니라요.
반가운 반전 하나. 지우는 것도 에이전트가 해 줘요. 먼저 열 이름만 안전하게 살짝 들여다보세요:
data.csv를 열어서 열 이름과 첫 두 행만 보여 줘. 아직 다른 건
아무것도 표시하지 마.
그다음, 민감한 게 있다면:
[계좌번호 / 이름] 열을 제거한 data-clean.csv라는 사본을 만들어 줘.
앞으로는 사본으로만 작업할 거야.
2. 리포트 주문하기
data-clean.csv를 읽어 줘 — 이건 [뭔지 말해주세요: 내 6월 카드
지출 / 내 러닝 기록 / …]이야.
report.html을 만들어서 이걸 보여 줘:
1. 합계, 맨 위에 크게
2. 가장 큰 항목 다섯 개
3. [카테고리 / 월 / 맞는 기준]별 내역을 간단한 막대 차트로 —
외부 라이브러리 없이 순수 HTML/CSS로만 만들어 줘
파일 하나로 유지하고, 내 index.html 스타일에 맞추고, 완성되면
열어 줘. 로컬에서만 작업하고 — 이 데이터를 어디로도 보내지 마.
읽지도 않고 쌓아 두던 잡동사니가, 스스로에게 공유하고 싶어지는 리포트로 변하는 걸 지켜보세요. 맛보고 조정하세요(입문 코스 3강에서 기른 근육이죠). "카테고리를 큰 순서로 정렬해 줘", "합계를 절대 못 지나치게 만들어 줘."
3. 데이터에게 질문 던지기
리포트는 물어본 것만 보여 줘요. 에이전트는 물어보지 않은 것까지 보여 줄 수 있어요:
데이터를 다시 봐 줘. 여기서 내가 아마 눈치 못 챘을 것 하나가
뭘까? 두 문장으로 답해 줘.
이 작은 프롬프트 하나가 레슨 전체 값어치를 해요. "화요일 지출이 다른 요일의 두 배예요" 같은 답이 나오는 순간, 데이터는 숙제이길 멈추고 대화가 되기 시작해요.
4. 패턴 저장하기
세이브 포인트 만들어 줘: "첫 데이터 리포트". 그리고 CLAUDE.md에
규칙을 추가해 줘: 내가 새 데이터 파일을 가져오면, 항상 열 이름만
먼저 보여주고 뭘 가릴지 나한테 물어보기.
이 규칙이 앞으로 만나는 모든 데이터셋의 안전벨트가 돼요.
태워먹었을 때
- 한글이 깨져 보여요 (ê°€나 ???) — 인코딩 문제예요. "파일이 UTF-8이 아니라 EUC-KR이나 CP949일 수 있어. 인코딩을 처리해 줘."라고 말하세요. 한국 은행의 Excel 내보내기에선 일상이고, 에이전트가 한 번에 고쳐요.
- 숫자가 텍스트로 나왔어요 ("₩1,200"은 합산이 안 돼요) — "금액 열에 통화 기호랑 쉼표가 있어. 계산 전에 순수 숫자로 정리해 줘."
- 진짜 헤더가 3행에 있어요 — 은행 내보내기는 장식용 머리말을 사랑하죠. "실제 열 이름은 [N]행에 있어. 그 위는 전부 무시해 줘."
- 데이터가 아니라 차트가 이상해 보여요 — 맛보기를 둘로 쪼개세요. "데이터는 맞는데 차트가 깨진 거야, 아니면 데이터 자체가 틀린 거야? 합계를 먼저 순수 텍스트로 보여 줘."
Order up
나가기 전에 하나씩 확인해요:
□ 에이전트에게 전부 보여주기 전에 열 이름부터 미리 봤다
□ 민감한 열은 가려서 작업용 사본을 만들었다
□ report.html이 실제로 궁금했던 것에 답한다
□ 에이전트가 내가 눈치 못 챈 것 하나를 알려줬다
□ CLAUDE.md에 '가리기 먼저' 규칙이 있다
다음 레슨 — 02 오늘의 특선. 오늘 리포트는 주문해야 나왔어요. 다음 레슨에서는 주방에 없어도 요리되는 게 생겨요. 첫 번째 자동화예요.
데이터 파일은 지금까지 중 가장 예측 불가능한 재료예요. 막힌 단계가 있나요? 아래 질문 상자에 남겨 주세요. 헤맨 단계가 있다면 그건 레슨에 난 구멍이지, 읽는 사람 잘못이 아니에요. 질문 하나가 다음 사람의 길을 메워 줘요.
직접 만들고 돌아가는 걸 확인했나요? 그럼 서빙하세요. 이 브라우저에만 저장돼요 — 주방 밖으로는 아무것도 나가지 않아요.
다음 접시 — 레슨 02 · 나 없이 스스로 도는 자동화 만들기 →