어려운 건 SQL이 아니라 엑셀입니다
흩어진 엑셀을 하나의 테이블로 정리하고, 말로 물으면 SQL로 바꿔 표와 차트를 냅니다.
그런데 이 과제가 실패하는 지점은 SQL 생성이 아닙니다 —
원본 엑셀이 SQL을 걸 수 있는 상태가 아니라서 실패합니다. 그래서 전처리를 데모의 절반으로 넣었습니다.
1어디까지가 규칙이고 어디부터가 AI인가
| 담당 | 항목 | 이유 |
| RULE |
컬럼명 정규화 · 병합셀 fill-down · 소계·합계 행 제거 · 콤마 숫자 → 수치형 · 날짜 3종 표기 → ISO · 중복 제거 · 거래처명 조인키 생성 |
전부 규칙으로 쓸 수 있습니다. 그리고 매번 같은 결과가 나와야 합니다 — 전처리가 실행할 때마다 달라지면 어제 보고서와 오늘 보고서의 숫자가 달라집니다. |
| AI |
자연어 → SQL 변환. 그게 전부입니다. |
"지난달 대비 매출이 줄어든 거래처"를 어떤 집계로 옮길지는 규칙으로 못 씁니다. 질문의 가짓수가 무한하기 때문입니다. |
| 사람 |
SQL 검토 · 결과 해석 |
생성된 SQL을 숨기지 않고 그대로 보여주고, 고쳐서 다시 실행할 수 있게 했습니다. 검증할 수 없는 숫자는 보고서에 못 씁니다. |
실행은 진짜 SQLite가 합니다. 화면에 보이는 SQL과 실제로 돌아간 SQL이 같습니다 —
AI가 낸 답을 그럴듯하게 꾸며 보여주는 구조가 아닙니다.
2처리 흐름
전처리·실행 (코드)
LLM 판독
사람 개입 (HITL)
원본 파일
3전처리가 실제로 하는 일
이 데모의 매출 파일은 402행이 들어와 387행이 됩니다. 15행이 사라지는데, 그게 무엇인지 화면에 다 적혀 있습니다.
| 문제 | 실무에서 왜 생기나 | 처리 |
| 병합셀 | 엑셀에서 거래처명을 세로로 병합해 놓음. CSV로 내리면 첫 행에만 값이 남음 | fill-down (377셀 채움) |
| 소계·합계 행 | 사람이 보기 좋으라고 중간에 넣은 집계 행. 그대로 합치면 매출이 두 배가 됨 | 집계어 포함 행 제거 (13행) |
| 날짜 표기 혼재 | 입력자마다 2026-05-03, 2026.05.04, 26/5/5 | ISO로 통일 (203건) |
| 콤마 붙은 숫자 | 엑셀 표시 서식이 그대로 문자열로 내려옴 → SUM이 0이 됨 | 수치형 변환 (744건) |
| 거래처명 흔들림 | 현대위아 / (주)현대위아 / 현대위아 — 마스터와 조인이 깨짐 | 정규화 조인키 거래처키 생성 |
| 중복 행 | 취합 과정에서 같은 행을 두 번 붙여넣음 | 완전중복 제거 (2행) |
이 중 소계 행이 가장 위험합니다. 지우지 않고 SUM을 걸면 숫자가 두 배로 나오는데,
그럴듯한 숫자라 아무도 이상하다고 못 느낍니다. AI가 이걸 알아서 걸러줄 거라 기대하면 안 됩니다 — 규칙으로 잘라야 합니다.
4안전장치
- 생성된 SQL이 SELECT 또는 WITH로 시작하지 않으면 실행하지 않습니다.
- 세미콜론이 들어간 다중 문장은 거부합니다.
- INSERT·UPDATE·DELETE·DROP·ATTACH·PRAGMA 등은 문자열 리터럴 밖에서 발견되면 차단합니다.
- DB 연결 자체를 읽기 전용(
mode=ro)으로 엽니다. 위 검사를 다 뚫어도 쓰기가 불가능합니다.
- 결과는 500행까지만 반환합니다.
5도입에 필요한 것 / 필요 없는 것
| 내용 |
| 필요합니다 | 대상 엑셀 파일과 컬럼의 의미. 컬럼명만으로 뜻이 안 통하는 게 많아(예: 구분1, 비고2) 이걸 정리하는 게 실제 공수의 대부분입니다. |
| 필요 없습니다 | ERP 연동 · DB 신규 구축 · 데이터 웨어하우스. 엑셀 파일만 있으면 됩니다. |
| 나중에 | 정기 보고서 자동 배포(매일 아침 8시 메일)는 질문이 고정된 뒤에 붙입니다. 그 시점부터는 AI가 필요 없고 스케줄러만 있으면 됩니다. |
6한계
- 질문이 모호하면 SQL도 모호해집니다. "매출이 좋은 곳"은 금액 기준인지 증가율 기준인지 사람도 다르게 답합니다.
- 컬럼 의미를 모르면 틀립니다. 스키마에 설명을 붙여주는 만큼 정확해집니다.
- SQL이 실행에 성공했다고 맞는 답이라는 뜻이 아닙니다. 그래서 SQL을 항상 노출합니다.
- 전처리 규칙은 이 파일 구조에 맞춘 것입니다. 다른 회사 엑셀에는 그 회사에 맞는 규칙을 다시 씁니다 — 이 부분은 재사용되지 않습니다.
한 줄 요약 — 엑셀을 규칙으로 정리하고, AI는 질문을 SQL로 옮기기만 합니다. 그 SQL을 보여주기 때문에 담당자가 검증할 수 있습니다.