본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 05. 15. 06:33

AI 디렉터에 의한 SaaS 해킹 — 샘플을 만들어 전문가에게 전달하는 새로운 개발 플로우

요약

본 기사는 일반적인 SaaS(Software as a Service) 솔루션이 기업의 고유한 업무 로직이나 사양 적합성 문제에 직면했을 때 발생하는 한계점을 지적합니다. 필자는 AI를 외부 코딩 리소스로 활용하여, 기존의 복잡하고 비효율적인 개발 공정('업무 측 → 엔지니어 발주 → 구현 → 검수')을 생략하고 직접 맞춤형 시스템을 구축하는 'AI 디렉터' 역할을 수행했습니다. 이 과정에서 위치 정보 판정의 정밀도 문제와 벤더 종속성(Vendor Lock-in) 문제를 해결하기 위해, 단순한 지리적 추정 대신 사내 고정 IP 주소와의 대조라는 결정론적인 로직을 도입하여 정확하고 독립적인 근태 관리 시스템을 성공적으로 구현했습니다.

핵심 포인트

  • SaaS는 범용성이 강해 기업의 고유 업무 로직(예: 특이한 교통비 정산 규칙)에 맞지 않는 경우가 발생한다.
  • AI를 활용하는 것은 단순히 개발자의 생산성 향상(Throughput 증가)을 넘어, 도메인 지식 보유자가 시스템 구축 공정 자체를 생략하고 구현할 수 있게 하는 비선형적 레버리지 효과를 가져온다.
  • 위치 정보의 부정확성 문제를 해결하기 위해, 단순한 Geolocation 대신 사내 고정 IP 주소와 대조하는 결정론적인 로직을 도입하여 정확도를 높였다.
  • 맞춤형 시스템 구축은 데이터 소유권을 자사 Google Spreadsheet에 확보하게 하여 벤더 종속성을 근본적으로 회피할 수 있게 한다.

어느 날, 근태 관리 SaaS의 계약 갱신 통지가 도착했습니다. 300명 규모로, 1인당 월액 200엔. 연간 72만 엔입니다.

숫자상으로는 허용 범위였습니다. 문제는 비용이 아니라, 사양 적합성(Specification Suitability)이었습니다.

범용 SaaS는 많은 기업에 공통되는 일반적인 업무를 전제로 설계되어 있습니다. 이는 설계 사상으로서 올바른 자세입니다. 하지만 자사 고유의 로직을 가진 조직에서는 업무가 SaaS의 기능과 맞물리지 않습니다.

우리의 경우, 다음 2가지 점이 SaaS의 표준 사양에서 벗어나 있었습니다.

교통비 실비 정산: 정기권 구간이나 일별 경로 판정 규칙이 고유하여, SaaS의 표준 집계로는 처리할 수 없었습니다.

출근 판정 운용: 텔레워크와 출근의 경계선을 사내 네트워크 경유 여부로 결정하고 싶다는 요구가 있었는데, 위치 정보에 의한 거친 판정으로는 운용이 불가능했습니다.

범용 SaaS로 이를 구현하려면 추가 개발 옵션, 혹은 우회로로서 CSV 내보내기(Export) + 후처리 운용이 필요하게 됩니다. 전자는 비용이 불어나고, 후자는 벤더 락인(Vendor Lock-in)의 역현상(운용의 개인화/속인화)을 초래합니다.

판단은 단순했습니다. AI를 외부 코딩 리소스로 기용하여, GAS (Google Apps Script)로 자사의 요구사항에 맞는 시스템을 다시 쓰는 것입니다.

실제 구현 착수부터 동작 확인까지 몇 시간 만에 완료되었습니다. 코드는 AI가 작성하고, 요구사항 정의와 사양 조정은 인간이 수행했습니다. AI를 이용한 인간의 역할을 「AI 디렉터」라고 부릅니다.

개발 도중에 위치 정보 취득 방식을 4번 전환했습니다. 각각은 어떤 제약의 발견과, 그 제약을 회피하는 설계 판단이었습니다.

스마트폰이라면 GPS를 통한 정밀한 측위가 가능합니다. 하지만 근태 타각은 PC를 통한 조작이 주를 이루며, PC의 Geolocation은 Wi-Fi 삼각 측량이나 IP를 경유한 추정에 의존하기 때문에 오차가 수 km 단위로 발생했습니다.

「출근 판정」 용도로는 정밀도가 부족하기 때문에 기각했습니다.

많은 SaaS가 채택하고 있는 폴백(Fallback) 수법을 모방했습니다. 클라이언트 IP로부터 지리적 위치를 추정하는 외부 API를 호출하여 주소 문자열로 변환하는 방식입니다.

이것도 오차가 큽니다. 회선 사업자의 라우팅에 의존하기 때문에, 자택으로 판정해야 할 장소가 「도쿄역 주변」으로 변하는 케이스가 빈번했습니다. 판정으로서 성립하지 않습니다.

GAS에는 Maps 서비스가 내장되어 있어, Maps.newGeocoder().reverseGeocode(lat, lng)로 역지오코딩 (Reverse Geocoding)을 무료로 실행할 수 있습니다. 이를 통해 위도 경도에서의 주소 변환에 외부 API 키가 불필요해졌습니다.

정밀도 문제는 남지만, 비용 측면에서는 SaaS와 비교했을 때 완전히 우위에 섰습니다.

최종적인 해답은 위치 정보의 정밀도를 높이는 것이 아니라, 판정 축 자체를 바꾸는 것이었습니다.

사내 네트워크에서 타각된 경우, 글로벌 IP는 사내 라우터의 고정 IP가 됩니다. 이 IP를 사내 거점의 주소 마스터와 대조하여 일치하면 「출근」으로 확정하는 메커니즘으로 만들었습니다. 위치 정밀도에 대한 논의는 불필요해집니다.

이 판정은 IP 마스터 대조라는 결정론적인 로직으로 귀착되기 때문에, 오차가 구조적으로 발생하지 않습니다. 출근 판정만이 목적이라면 Geolocation보다 IP 대조가 요구사항에 대해 더 정확했습니다.

최종 형태는 다음과 같은 기능을 갖추고 있습니다.

원탭 타각: 브라우저에서 버튼 하나로 출퇴근을 기록합니다.
동적 로케이션 기록: IP 마스터로 「출근」 확정, 그 외에는 역지오코딩 (Reverse Geocoding)으로 주소 문자열을 기록합니다.
출근 일수 자동 집계: 월간·개인별 출근 일수를 사내 거점 마스터와의 대조 결과로부터 산출합니다.
데이터 소유권: 타각 데이터는 자사의 Google Spreadsheet에 축적됩니다. 내보내기 조작은 불필요하며, SaaS 해지 후에도 데이터가 수중에 남습니다.

마지막 점은 벤더 락인 (Vendor Lock-in) 회피라는 관점에서 중요합니다. SaaS의 경우 해지하면 과거 데이터에 대한 액세스 권한을 잃거나, CSV 덤프 형식으로만 추출할 수 있습니다. 내재화를 통해 데이터 구조 자체가 자사의 관리하에 놓이게 됩니다.

AI 코딩 지원을 다루는 많은 기사는 「프로그래머의 생산성이 N배가 된다」라는 문맥으로 쓰입니다.

이것은 세로축의 이야기입니다. 동일 직능 내에서 처리 처리량 (Throughput)이 올라갑니다. 타이핑 속도의 연장선, 코드 리뷰의 효율화, 리팩터링 (Refactoring)의 가속화와 같은 부분입니다.

한편, 이번 케이스에서 일어난 것은 이와는 다른 방향의 레버리지 (Leverage)입니다.

업무의 도메인 지식 (Domain Knowledge)을 가진 사람이 AI를 사용하면, 기존에는 「업무 측 → 엔지니어에게 발주 → 구현 → 검수」라는 공정을 거쳐야 했던 업무 시스템을 중간 공정을 생략하고 직접 구축할 수 있게 됩니다.

이용자AI 사용법효과
프로그래머동일 직능의 스루풋 (Throughput) 향상세로 방향의 생산성 N배
도메인 지식 보유자중간 공정 생략, 스스로 구현 도달「구현할 수 없었던 사람」이 「구현할 수 있는 사람」이 되는 비선형적 도달

후자의 레버리지는 개인의 시장 가치 맥락에서 비대칭적입니다. 프로그래머의 생산성 향상은 동종 업계의 경쟁을 가속화하는 방향으로 작용하지만, 도메인 지식 보유자의 AI 활용은 직능의 경계선 그 자체를 초월하게 합니다.

세로축의 가속과 직능의 경계 초월. 두 가지는 성질이 다른 레버리지입니다. AI 디렉터는 후자를 체현하는 역할이라고 할 수 있습니다.

근태 관리 요구사항을 모두 담아, 우선 1인분이라도 동작하는 샘플 시스템을 만듭니다. 그 이후의 로그인 관리, 변경 신청 승인 플로우 (Flow), 데이터베이스 관리와 같은 본방 운용에 필요한 요소는 스스로 시간을 들여 만들어 나갈 수도 있습니다. 하지만 이 시점에서 SIer에게 발주한다는 선택지도 충분히 성립합니다.

하고 싶은 일이 망라되어 있고, 일단 동작하는 시스템이 손에 있으며, GAS 코드도 갖춰져 있습니다. 이는 요구사항 정의 · 기본 설계의 일부 · 기능 설계 · 상세 설계까지는 완료된 상태라고 바꿔 말할 수 있습니다.

이후에는 전 직원이 이용할 수 있는 시스템으로의 개변만을 의뢰하는 형태가 된다면, 기존의 외주 비용보다 코스트 (Cost)를 낮출 수 있습니다.

나아가 전문 SIer에게 본방 품질의 시스템을 만들게 하고, 사양서와 시스템 설계를 성과물로 납품받았다고 가정해 봅시다. 그 이후에 필요한 개수는 사원 수의 증감에 따른 스케일 (Scale) 대응과 레어 패턴 (Rare Pattern)의 수용으로 한정됩니다. 이것들은 사양서와 시스템 설계를 바탕으로 현재의 시스템 환경으로서 AI에게 읽히는 것만으로도 자신들이 대응할 수 있을 가능성이 높아집니다.

로직의 구축은 자신들이 수행하고, 실운용을 견딜 수 있는 품질로의 격상은 전문가에게 맡기며, 성과물은 자신들이 관리한다.

현재의 AI는 무엇이든 할 수 있는 마법의 도구가 아니라, 어디까지나 자신의 사고의 확장이기에, 자신의 한계는 AI의 한계임을 인정하고, 30분이 걸려도 풀리지 않는 문제는 과제로 리스트업합니다. 그다음에는 과제 리스트를 다른 사람에게 해결해 달라고 합니다. 혹은 리뷰를 받아 해결책을 제시받으면 앞으로 나아갈 수 있습니다.

평소의 시스템 개발에 AI가 끼어들어 과제를 줄여 나간다.

이것이 앞으로의 시스템 개발이 되지 않을까 생각합니다.

연간 72만 엔의 코스트 절감은 본 건의 주요 성과가 아닙니다.

주요 성과는 자사의 업무 요구사항 변화에 대해 즉각적으로 시스템을 다시 쓸 수 있는 체제를 획득한 것입니다. SaaS의 기능 추가를 기다리는 것이 아니라, 요구사항 정의를 작성한 당일에 시스템이 추종합니다. 이 기동력은 코스트 환산으로는 다 표현할 수 없습니다.

AI 코딩 시대에 코드를 쓰는 능력의 시장 가치는 상대적으로 낮아져 갑니다. 대신 올라가는 것은 무엇을 만들어야 할지를 정의하고, AI에게 올바르게 지시하며, 출력 결과를 검증하는 능력입니다.

이는 새로운 직종이라기보다, 기존의 업무 지식을 가진 인간이 AI라는 구현층을 가짐으로써 자신의 업무 영역을 시스템으로서 재구축할 수 있는 시대의 도래로 읽을 수 있습니다.

AI 디렉터로서 움직이는 능력 —— 요구사항을 정의하고, AI에게 만들게 하고, 업무에 편입시키는 것 —— 은 현대의 업무 환경에서 기초적인 생존 전략 중 하나로 자리 잡습니다.

본론은 다소 AI 디렉터 관점에 치우쳤습니다. 프로그래머의 지견이 활용되는 패턴도 정리해 둡니다.

실시간 제어, 임베디드 (Embedded), 보안, 형식 검증, 미션 크리티컬 (Mission Critical) 영역.

이들은 AI가 작성한 코드를 검증 없이 실행하는 것이 사회적으로 허용되지 않습니다. 전문 지식의 깊이와 견고함이 요구되는 분야는 프로그래머의 독무대로 남습니다.

AI 디렉터가 초월할 수 있는 영역이 아니라, 프로그래머가 순수하게 강해지는 방향입니다.

전혀 다른 이야기입니다만, 어떤 종류의 계약서를 AI에게 초안 작성하게 하고 변호사분께 최종 체크를 의뢰한 적이 있습니다. 변호사분으로부터는 두세 개의 코멘트만 받았고, 의뢰료는 5,000엔으로 완료되었습니다.

이를 추상화하면, AI 시대 전문가의 위치를 보여주는 사례라고 읽을 수 있습니다. AI에게 초안을 작성하게 하더라도, 법적 책임의 소재, 할루시네이션 (Hallucination) 회피, 전문가의 판단 관점에서 전문가의 체크는 여전히 가치를 가집니다.

동일한 구조는 프로그래머에게도 적용됩니다. AI 디렉터가 만든 샘플을 프로덕션 품질 (Production Quality)로 끌어올리는 단계에서 SIer·프로그래머의 체크가 필요합니다. 이는 '코드를 처음부터 작성하는 시간'에서 '코드를 평가하고 프로덕션 품질로 끌어올리는 시간'으로의 역할 변화로 읽을 수 있습니다.

전문가로서의 지견을 수익화한다 —— 스스로 모든 것을 만드는 것이 아니라, AI로 골격이 만들어진 것을 최종 품질로 끌어올리는 역할입니다. 이는 AI 시대 전문가의 새로운 일하는 방식으로 자리 잡을 것입니다.

생산이 용이해진 시대에, 생산자 측에 계속 머무는 것이 아니라, 품질을 높이는 측, 시스템을 만드는 측으로 돌아선다.

골드러시(Gold Rush)에 비유하자면, 곡괭이로 금을 찾아내는 쪽이 아니라, 곡괭이를 파는 쪽이나 금을 제련하는 쪽으로 돌아가는 이미지입니다.

AI가 지금까지 프로그래머가 시간을 들여왔던 영역을 커버해 줍니다. 남는 시간을 방법론이나 알고리즘 (Algorithm) 지식을 심화하는 방향으로 돌리는 것이 권장됩니다.

생산은 AI에 맡기고, 생산을 담당했던 사람들은 지금까지의 지견을 바탕으로 비평하는 전문가 측으로 돌아간다. 이것이 프로그래머, 나아가 모든 전문가의 모델 케이스(Model Case)가 되지 않을까 생각합니다.

AI 자동 생성 콘텐츠

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

원문 바로가기
1

댓글

0