티스토리 뷰
AI가 만든 SQL은 오류 없이 실행됐다. 결과 숫자도 바로 나왔다. 그런데 화면에 나온 숫자를 보는 순간 나는 이상하다고 느꼈다. 평소 업무에서 보던 규모와 차이가 너무 컸기 때문이다. 쿼리가 멈춘 것도 아니고 오류 메시지가 나온 것도 아니었다. 문법상으로는 성공했지만 업무 결과로는 사용할 수 없는 숫자였다.
이 일은 내가 AI에게 일을 맡길 때 무엇을 확인해야 하는지 다시 정하게 만든 계기가 됐다. 실행됐다는 사실만 보고 결과를 보고서에 넣었다면 잘못된 통계가 그대로 전달될 수도 있었다. AI가 SQL을 빠르게 작성해 준 것은 분명 도움이 됐지만, 그 속도가 결과의 정확성까지 보장해 주지는 않았다.

조건을 설명하자 AI는 빠르게 SQL을 만들었다
나는 필요한 통계의 조건을 문장으로 정리해 AI에 전달했다. 어떤 기간을 기준으로 삼을지, 어떤 상태의 자료를 포함할지, 최종적으로 필요한 숫자가 무엇인지 설명했다. AI는 조건을 바탕으로 조인과 집계가 포함된 SQL을 작성했다. 예전 같으면 테이블 관계를 다시 확인하고 쿼리를 여러 번 고치며 시간을 보냈을 일이었다.
처음 쿼리를 봤을 때 구조는 그럴듯했다. 조회 대상과 조건이 들어 있었고 집계 함수도 사용됐다. 실행했을 때 문법 오류도 없었다. 데이터베이스는 정상적으로 결과를 반환했다. 여기까지만 보면 작업은 끝난 것처럼 보였다. 하지만 나는 숫자가 예상 범위를 크게 벗어났다는 점을 그냥 넘길 수 없었다. AI가 작성한 문장을 믿는 것과 조직의 통계로 사용할 수 있다고 판단하는 것은 전혀 다른 일이었다.

오류는 문법이 아니라 업무 관계를 해석한 부분에 있었다
나는 AI가 만든 SQL을 한 줄씩 다시 읽었다. 조건절에 들어간 값, 테이블을 연결한 기준, 중복된 행이 집계에 포함되는지를 차례로 확인했다. 문제는 SQL 문법이 아니었다. AI가 테이블 사이의 관계와 업무 조건을 내가 의도한 것과 다르게 추론한 부분이 있었다. 데이터베이스 입장에서는 실행 가능한 쿼리였지만, 내가 구하려던 통계를 계산하는 쿼리는 아니었다.
이런 오류는 문법 오류보다 더 위험하다고 느꼈다. 문법이 틀리면 실행 단계에서 바로 멈추기 때문에 고칠 기회가 생긴다. 반면 논리가 틀린 SQL은 자연스러운 숫자를 보여줄 수도 있다. 결과가 평소 규모와 비슷했다면 잘못을 알아채기가 더 어려웠을 것이다. AI가 알지 못하는 내부 업무 규칙과 예외 조건은 결국 내가 설명하고 검증해야 했다.
나는 결과 숫자보다 먼저 근거 행을 확인한다
이후부터 나는 AI가 만든 집계 SQL을 바로 최종 자료에 사용하지 않는다. 먼저 전체 숫자를 작게 나눠 확인한다. 특정 기간이나 상태 하나만 조회하고, 집계 전의 원본 행을 일부 확인한다. 조인 전후의 건수가 달라지는지도 비교한다. 한 대상이 여러 행과 연결되면서 중복 집계되는 경우가 있기 때문이다. 가능하면 기존 보고서나 업무 시스템에서 확인한 수치와 범위도 대조한다.
검증할 때는 내가 기대한 숫자에 억지로 맞추지 않으려고 한다. 예상과 다르면 SQL이 틀렸다고 단정하는 대신 조건과 원본 데이터를 함께 살핀다. 기존에 알고 있던 숫자가 잘못됐을 가능성도 있기 때문이다. 중요한 것은 AI의 답과 내 기억 중 하나를 선택하는 것이 아니라, 같은 결과를 다시 확인할 수 있는 근거를 남기는 일이다.
AI에게는 작성 속도를 맡기고 최종 판단은 내가 남긴다
AI를 사용하기 전에는 SQL 하나를 만들기 위해 구조를 찾고 문법을 검색하는 시간이 길었다. 지금은 첫 초안을 빠르게 만들고 내가 검증에 더 많은 시간을 쓸 수 있다. 다만 AI가 만든 SQL이라는 이유로 대충 보는 것도, AI는 틀릴 수 있으니 사용하지 않는 것도 내가 원하는 방식은 아니다. 빠른 초안 작성과 사람의 업무 검증을 분리하면 두 장점을 함께 사용할 수 있다.
나는 이제 SQL이 실행됐다는 메시지를 작업 완료로 보지 않는다. 조건이 의도와 맞는지, 중복과 누락은 없는지, 결과를 원본 행으로 설명할 수 있는지까지 확인해야 비로소 업무에 사용할 수 있다. 그날 이후 내 기준에서 ‘실행 성공’은 시작점이 됐다. 최종 숫자 옆에는 내가 다시 확인한 근거를 함께 남기고 있다.
'AI·IT 실무' 카테고리의 다른 글
| 업무자료를 AI에 넣기 전에 내가 먼저 지우는 정보 (0) | 2026.10.03 |
|---|---|
| ChatGPT·Claude·Gemini를 다 쓰는 이유, 하나만 고르지 않은 업무 기준 (0) | 2026.10.02 |
| AI 서버 점검 자동화: 일주일 걸리던 Linux·Solaris 스크립트를 10분에 만든 과정 (0) | 2026.10.01 |
| NAS가 100% 찬 날, 내가 15일 백업 정책을 만든 과정 (0) | 2026.10.01 |
| 옵시디언으로 업무 노트 정리하는 법: 폴더 구조와 일일 노트 설정 (0) | 2026.09.16 |