본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 22. 18:07

AI로 만든 업무 도구를 실무에서 사용할 수 있는 상태로 만들기 위해 필요했던 것

요약

AI를 활용해 업무 자동화 도구를 개발할 때, 단순히 코드를 생성하는 것을 넘어 실무 데이터의 예외 상황을 처리하고 검증하는 과정의 중요성을 다룹니다. 실제 현장의 불규칙한 데이터 형식과 오류를 방지하기 위한 구체적인 대응 전략을 제시합니다.

핵심 포인트

  • AI가 생성한 코드는 '상정된 데이터'를 전제로 하므로 실무 데이터와 차이가 있을 수 있음
  • 파일명뿐만 아니라 헤더(Header) 검증을 통해 데이터의 정합성을 확보해야 함
  • 잘못된 결과가 정상 종료로 표시되지 않도록 철저한 예외 처리와 검증 로직이 필수적임
  • 데이터의 행 수, 수치 형식, 필수 열 존재 여부 등을 확인하는 단계가 필요함

최근 AI를 사용하면 코드를 작성하는 장벽이 상당히 낮아졌습니다.

"이러한 처리를 하고 싶다"라고 전달하면, 어느 정도 작동하는 코드가 나옵니다.

실제로 저도 업무 개선 도구를 만들 때 AI를 활용하고 있습니다.

다만, 실무에서 사용하는 업무 도구의 경우,

코드가 한 번 작동했다 = 완성

이 아닙니다.

오히려, 거기서부터가 본게임이었습니다.

이 기사에서는 EC 운영 현장에서 사용하는 업무 도구를 만드는 과정에서 느낀,

AI로 만든 코드를 실무에 투입하기 위해 필요했던 것

을 정리합니다.

저는 EC 운영 및 Web 제작 업무를 수행하고 있습니다.

일상 업무에서는 다음과 같은 작업이 빈번하게 발생합니다.

  • CSV 다운로드
  • Excel에 붙여넣기
  • 상품 코드 및 SKU 확인
  • 매출 데이터 집계
  • 몰(Mall)별 형식 차이 흡수
  • FTP/SFTP를 통한 파일 업로드
  • HTML 및 이미지 경로 조정

하나하나가 작은 작업입니다.

하지만 매달, 매주, 매일처럼 반복하게 되면,

수작업으로는 시간도 걸리고 실수도 발생합니다.

그래서 Python이나 C#을 사용하여 사내용 작은 업무 도구를 만들게 되었습니다.

AI를 사용하면 초기 코드 작성은 상당히 빨라집니다.

예를 들어, 다음과 같은 처리라면 상당히 짧은 시간 안에 초안(たたき台)을 만들 수 있습니다.

  • CSV 읽기
  • 지정된 열만 추출
  • Excel에 쓰기
  • 파일명으로부터 대상 몰 판정
  • GUI로 파일 선택이 가능하도록 구현
  • 에러 발생 시 메시지 표시

이전에는 찾아가며 작성했을 부분도,

AI에게 처리 흐름을 전달하면 즉시 샘플 코드가 나옵니다.

이 시점에서는 매우 편리합니다.

하지만 실무에서는 여기서 끝나지 않습니다.

실제 업무 데이터는 샘플처럼 깨끗하지 않습니다.

예를 들어 CSV 하나만 보더라도 다음과 같은 문제가 있습니다.

  • 몰마다 열의 위치가 다름
  • 같은 의미의 열이라도 헤더(Header) 명칭이 다름
  • 수치에 콤마(,)가 포함되어 있음
  • 금액에 "JPY" 등의 문자가 섞여 있음
  • 상품 코드의 앞자리 0이 사라짐
  • Excel로 열었을 때 글자 깨짐이나 열 어긋남이 발생함
  • 사양이 변경된 것처럼 보이지만, 사실은 템플릿 측이 원인이었음

AI가 내놓는 코드는 기본적으로 "상정된 데이터"를 전제로 합니다.

하지만 실무에서는 그 상정이 쉽게 무너집니다.

따라서 AI로 만든 코드를 그대로 사용하는 것이 아니라,

현장의 데이터에 맞춰 검증하고 예외를 없애 나가는 작업

이 필요하게 됩니다.

처음에는 파일명으로 몰을 판정했습니다.

if "楽天" in filename:
mall = "rakuten"
elif "Yahoo" in filename:
...

이 방법은 이해하기 쉽지만, 파일명의 변동(揺れ)에 취약합니다.

그렇기 때문에 실제로는 파일명뿐만 아니라,

CSV나 Excel의 헤더도 확인하도록 했습니다.

required_headers = ["注文番号", "商品番号", "売上金額"]
if all(header in headers for header in required_headers):
mall = "rakuten"
...

헤더를 확인함으로써,

"다른 파일을 선택해 버렸다"
"템플릿이 오래되었다"
"CSV 형식이 바뀌었다"

와 같은 문제에 쉽게 대처할 수 있게 됩니다.

업무 도구에서는 에러가 발생했을 때 멈추는 것 자체는 나쁘지 않습니다.

오히려 위험한 것은,

잘못된 처리 결과를 정상 종료처럼 보여주는 것

입니다.

예를 들어, Excel에 붙여넣을 열이 한 칸 어긋나 있는 경우,

처리 자체는 끝까지 작동해 버릴 수 있습니다.

하지만 결과는 틀려 있습니다.

따라서 다음과 같은 확인 과정을 넣도록 했습니다.

  • 필수 열이 존재하는가
  • 행 수가 예상보다 너무 적지는 않은가
  • 수치 열에 문자열이 섞여 있지 않은가
  • 출력 대상 시트가 존재하는가
  • 붙여넣기 전후의 건수가 일치하는가

에러를 내는 것보다,

잘못된 상태로 통과시키는 것이 더 위험하다

고 생각하게 되었습니다.

나 혼자만 사용하는 작은 도구라도 로그(Log)는 중요했습니다.

특히 업무 도구의 경우, 나중에

  • 어떤 파일을 처리했는지
  • 어디서 실패했는지
  • 몇 건을 처리했는지
  • 언제 실행했는지

를 확인하고 싶은 상황이 생깁니다.

간단한 로그라도 나중에 원인을 추적하기 쉬워집니다.

import logging
logging.basicConfig(
filename="tool.log",
...

로그가 있는 것만으로도,

"무슨 일이 일어났는지 알 수 없는" 상태를 상당히 줄일 수 있습니다.

커맨드 라인 (Command Line)에서 동작하는 툴은 자신만 사용한다면 문제가 없습니다.

하지만 사내 업무에서 사용하는 경우에는,

매번 명령어를 입력해야 하는 형식이라면 사용하기 어려워집니다.

그렇기 때문에 GUI화도 진행했습니다.

  • 파일을 선택한다
  • 실행 버튼을 누른다
  • 성공·실패를 화면에 표시한다
  • 에러 내용을 로그 (Log)에 남긴다

이 정도만 되어도 사용 편의성이 상당히 달라집니다.

업무용 툴은 기술적으로 고도화되어 있는 것보다,

망설임 없이 사용할 수 있는 것

이 더 중요한 상황이 많습니다.

몰(Mall)별 설정이나 업로드 대상, 대상 시트 이름 등을 코드에 직접 작성하면,

변경 사항이 생길 때마다 코드를 수정해야 합니다.

그래서 설정 파일 (Configuration File)을 사용하도록 했습니다.

예를 들어 YAML로 다음과 같이 관리합니다.

rakuten:
  display_name: "楽天"
  upload_dir: "/upload/rakuten/"
...

코드 측에서는 설정을 읽어와서 처리합니다.

import yaml
with open("settings.yaml", "r", encoding="utf-8") as f:
    settings = yaml.safe_load(f)

이렇게 해두면,

처리 로직과 운영상의 설정을 분리할 수 있습니다.

작은 툴이라도 나중에 수정하기 쉬워집니다.

AI는 편리하지만, 현장의 판단까지 대신할 수는 없다

AI는 매우 편리합니다.

특히 다음과 같은 상황에서는 큰 도움이 됩니다.

  • 처리의 초안 (Draft)을 만든다
  • 작성 방법을 조사한다
  • 에러 원인의 후보를 제시한다
  • 코드를 정리한다
  • 다른 구현 방법을 제안받는다

한편, AI만으로는 판단할 수 없는 것도 있습니다.

예를 들어,

  • 해당 처리가 정말로 업무상 올바른가
  • 어느 열 (Column)을 기준으로 삼아야 하는가
  • 예외 발생 시 중단해야 하는가, 스킵 (Skip)해야 하는가
  • 담당자가 사용하기 편한 화면인가
  • 운영상 어디까지 자동화해도 되는가

이러한 부분은 현장을 알고 있는 사람이 판단해야 합니다.

AI는 코드를 작성하는 속도를 높여줍니다.

하지만 업무용 툴로서 성립시키기 위해서는,

업무 이해 · 검증 · 운영 설계

가 필요했습니다.

AI 덕분에 툴 제작의 초기 속도는 상당히 빨라졌습니다.

다만, 완성도를 높이기 위해서는 결국 다음과 같은 작업이 필요합니다.

  • 실제 데이터로 테스트한다
  • 에러를 재현한다
  • 원인을 분리한다
  • 사양 (Specification)의 변동을 흡수한다
  • 수작업 흐름과 대조한다
  • 사용하는 사람이 헤매지 않는 형태로 만든다

즉, AI로 코드를 작성하는 것과,

실무에서 사용할 수 있는 업무용 툴을 만드는 것은 별개의 작업입니다.

코드 생성은 시작점이지, 목표가 아닙니다.

AI를 사용함으로써 업무용 툴 제작의 허들은 상당히 낮아졌습니다.

하지만 실무에서 사용하기 위해서는 다음 사항이 중요하다고 느꼈습니다.

  • 실제 데이터로 검증한다
  • 파일 형식이나 열 (Column)의 변동을 고려한다
  • 에러를 무시하지 않는다 (Swallow error)
  • 로그 (Log)를 남긴다
  • 비엔지니어(Non-engineer)도 사용할 수 있는 형태로 만든다
  • 설정을 코드로부터 분리한다
  • 업무상의 올바름은 인간이 판단한다

AI는 강력한 보조 수단이 됩니다.

다만, 마지막에 필요한 것은,

현장에서 무엇이 곤란한지를 이해하고, 사용할 수 있는 형태로 구현해내는 능력

이라고 생각합니다.

앞으로도 웹 제작 · EC 운영 · CSV 처리 · 엑셀 (Excel) 업무 등,

현장의 "조금 번거로운" 일을 시스템으로 바꾸는 것과 같은 개선을 계속해 나가고 싶습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0