언어 지식 없이 'Vibe Coding'으로 진행한 경험. 코딩 초보가 GAS×Gemini로 '키팅 판정 및 보고서 작성 공수'를 97%
요약
코딩 경험이 전무한 초보자가 Gemini와 Google Apps Script(GAS)를 활용하여 키팅 판정 및 보고서 작성 툴을 개발했습니다. AI를 시니어 엔지니어로 삼아 기술적 토론을 거치며, 기존 수작업 공수(약 3.5시간/건)를 97% 절감하는 자동화 시스템을 구축한 경험을 공유합니다.
핵심 포인트
- AI를 '벽치 상대'로 활용하여 개발 난관 극복
- GAS와 Gemini 연동으로 보고서 자동 생성 구현
- 클라우드 기반 환경에서 공수 대폭 절감 가능
안녕하세요! 연구개발부의 이입니다.
이번에는 프로그래밍 개발 경험이 거의 전무한 상태(※학생 시절 C++/SQL 학습 경험 정도가 전부이며 오랜 공백기가 있음)에서 Google Apps Script (GAS)와 Gemini를 활용하여 키팅 작업 후 판정 및 보고서 작성 툴을 개발하고, 작업 공수를 97% 절감한 노력에 대해 소개해 드리고자 합니다.
AI 시대에 있어 '비엔지니어가 초보자가 AI를 벽치 상대(시니어 엔지니어)로 삼아 툴을 개발하는 접근 방식'으로서 참고가 되기를 바랍니다.
서비스 운영에 있어서, 장비의 수주부터 발송까지의 키팅 업무는 필수적입니다. 지금까지 1사이트당 소요되던 작업 시간과 내역은 다음과 같았습니다.
- 키팅 작업 본체: 1~2시간
로그 분석・판정 및 보고서 작성: 1시간 - 발송 준비 등: 0.5시간
- 합계 공수: 약 3.5시간 / 1건
앞으로 연간 건수가 급증할 것으로 예상되어, 이대로는 엔지니어의 귀중한 시간이 단순 작업에 빼앗기는 큰 문제에 직면했습니다.
단순 작업이라고 해도, 키팅 작업이나 보고서 작성은 매우 중요합니다. 만일 로그 확인 부족이나 판정 오류가 있어 전력 공급소 등의 설비가 멈추는 사태가 발생한다면, 하루 기준으로 수십만~수백만 엔 규모의 손실로 이어질 위험이 있습니다.
'더 간단한 방법이 있을 거야. 수작업을 자동화해서 이 시간을 더 가치 있는 창의적인 작업에 쓰고 싶다.'
그렇게 생각하고 툴의 자동화 개발을 결심했습니다.
- 학생 시절: C++ / SQL 학습 경험(※단, 오랜 공백기가 있음)
- CS 실무 경험 (7년 이상): 로그 조사나 원인 규명 등의 기술적 트러블슈팅
- 웹: 기존 템플릿 내의 HTML/CSS 수정 정도
- 보유 자격증: IT 패스포트
전반적으로, 제로베이스에서 프로그래밍으로 툴을 개발하는 스킬은 거의 없는 상태였습니다.
개발에 임하면서 생성형 AI인 Gemini에게 상담하는 것부터 시작했습니다.

단순히 '코드를 작성해 달라'고 부탁만 한 것이 아니라, 다음과 같은 기술적인 토론(벽치)을 진행했습니다.
- '왜 이 에러가 발생하는지?'
- 'GAS로 텍스트 파일을 처리할 때 최적의 데이터 보존 형식은 무엇인지?'
- '실행 시간 제한(6분)을 회피하기 위한 설계는 어떻게 해야 하는지?'
AI를 24시간 옆에 있는 시니어 엔지니어로 간주하고 토론을 거듭한 결과, 개발 시작 후 단 3시간 만에 프로토타입을 구현할 수 있었습니다.
-
Google Workspace 서비스(Drive, Docs, Sheets 등)와의 연동이 용이함
-
클라우드 기반이라 환경 구축이 필요 없음 (브라우저만으로 개발 완료)
-
JavaScript 기반이라 구조를 이해하기 쉬움
-
키팅 시 출력된 로그 파일을 Google Drive의 지정 '감시 폴더'에 배치
-
GAS 트리거가 주기적으로 실행되어 로그를 읽어 분석 및 판정 실시
-
판정 결과를 바탕으로, Google Document 형식의 '보고서' 자동 생성(2분 만에 완료)
개발을 진행하면서 직면했던 6가지 문제와 Gemini와의 벽치 과정을 통해 도출한 해결책입니다.
① 파일 형식 선택 (파싱 안정화)
- 과제: 원본 텍스트 파일(.txt)의 직접 파싱이 불안정함.
- 해결책: 문서로 변환하여 DocumentApp으로 제어하는 방식으로 전환.
② 정규 표현식의 함정
- 과제: 로그 내 특정 포맷(예: ###TEST) 추출 실패.
- 해결책: 정규 표현식 패턴을 여러 번 디버깅하며 정확한 매칭 로직을 확립.
③ 무한 생성 방지
- 과제: 트리거 설정 오류로 동일 보고서가 무한히 생성되는 버그 발생.
- 해결책: 처리 완료된 문서나 데이터에 플래그 관리(상태 부여)를 하여 중복 처리를 방지.
④ 표(테이블) 크기 제어
- 과제: Google Document 상에 자동 생성된 표의 열 너비가 무너져 시각적 오류 발생.
- 해결책: setColumnWidth 메서드를 활용하여 열 너비를 동적으로 조정하는 제어를 구현.
const lock = LockService.getScriptLock();
if (lock.tryLock(10000)) { // 10초 동안 잠금 획득을 시도함
try {
...
이전 처리가 안전하게 종료될 때까지 다음 실행을 차단함으로써 데이터의 불일치를 방지했습니다.
⑥ GAS의 '6분 제한 장벽'과 배치 처리(차분 처리) 설계
- 과제: GAS (무료 사용량)에는 '1회 실행 상한이 6분'이라는 강력한 제약이 있습니다. 향후 테스트 항목(TEST 1~25에서 TEST 47까지)이나 대상 기기를 확장할 경우, 6분의 장벽을 넘어서 스크립트가 도중에 강제 종료될 우려가 있었습니다.
- 해결책: 한 번의 실행으로 모든 건을 처리하는 것이 아니라, 이미 처리된 행에 타임스탬프나 플래그를 지정하여 건너뛰는 '차분 처리(배치 처리) 구조'로 설계 및 도입했습니다.
툴 도입 후, 압도적인 업무 효율화와 정밀도 향상을 실현할 수 있었습니다.
| 항목 | 도입 전 | 도입 후 |
|---|---|---|
| 판정・보고서 작성 공수 | 60분 | 2분 (약 97% 절감) |
| ... |
이전에는 1시간이 걸리던 보고서 작성이 로그를 폴더에 넣는 것만으로 단지 1분(전체 처리 2분) 만에 완료될 수 있게 되어, 연간 수백 시간의 엔지니어 공수 절감이 기대됩니다.
툴 도입으로 작업 시간이 극적으로 단축되었지만, 실제 업무에서의 '안전성'을 최우선으로 하기 위해 운영 측면에서는 다음 사항들을 중요하게 생각하고 있습니다.
자동화 툴에 의해 판정 및 보고서 생성이 순식간에 완료되게 되었음에도 불구하고, 장치가 확실하게 오류 없이 동작하는지 확인하기 위해 만일의 '보험'으로서 최종적으로는 사람의 눈으로 확인하는 과정을 거치고 있습니다.
다만, 처음부터 로그를 분석하던 이전과 비교하면 작업 환경은 대폭 개선되었으며, **현재 사람이 직접 확인하는 작업은 단 5분 이내에 완료**할 수 있게 되었습니다.
앞으로는 회사 내에 축적된 노하우나 판정 지식을 AI에게 지속적으로 학습(Fine-tuning이나 RAG 등)시켜 나갈 예정입니다. 이를 통해 툴의 판정 정확도를 더욱 높이고, 장기적으로는 사람의 확인 작업 부담을 최소화하는 것을 목표로 하고 있습니다.
이번 프로젝트를 통해 강하게 느낀 것은, **'AI라는 존재와 어떻게 공존하며 적절한 균형을 유지할 것인가'**를 계속 배워나가는 중요성입니다.
단순히 AI를 도입해서 모든 것을 맡기는 것이 아니라,
**'어떤 프로세스에서 AI를 활용(자동화)해야 하는지'**, **'어떤 부분을 사람이 최종 확인 및 판단해야 하는지'**
를 가려내고 경계선을 올바르게 계속 그어 나가는 것이 가장 중요한 과제라고 생각합니다.
'코딩 경험이 거의 제로'인 상태였음에도 불구하고, Gemini와 같은 AI를 단순한 툴이 아닌 '기술적인 벽을 두드리는 상대(sparring partner)'로 활용함으로써 안전성을 고려한 실용적인 시스템을 짧은 기간 안에 구축할 수 있었습니다.
앞으로도 AI와의 최적의 역할 분담을 탐구하며 더욱 가치 있는 업무에 도전해 나갈 것입니다.
이 글을 쓰면서 알게 된 것인데, 최근 **'Vibe Coding(바이브 코딩)'**이라는 기법이 화제가 되고 있죠. AI와 대화하면서 노리나 느낌(Vibe)으로 코드를 짜 나가는 개발 스타일입니다. 사실 이 툴을 만들 당시에는 저도 'Vibe Coding'이라는 단어조차 알지 못했습니다 (웃음).
그저 간단하게, **"AI는 대단하고 모든 것을 알고 있으니, '이런 툴 만들어줘!'라고 부탁하면 금방 만들어주겠지!"**라는, 일종의 무지함에서 오는(?) 강한 신뢰와 느낌만으로 Gemini에게 말을 걸기 시작했습니다.
프로그래밍 구문도 잘 모르면서 "이런 기능이 필요해", "에러가 났어! 왜지?", "좀 더 이렇게 해줘"라며 Gemini에게 끊임없이 벽을 두드리듯 질문을 이어간 결과... 어느새 **자신도 모르게 Vibe Coding을 완벽하게 실천하며 툴을 완성시키고 있던** 것입니다.
말이나 기법의 이론을 사전에 알지 못해도, 'AI라면 분명 만들 수 있을 거야'라는 호기심과 한 발 내딛는 행동력만 있다면 프로그래밍 비경험자도 여기까지 해낼 수 있습니다. 돌이켜봐도 정말 재미있고 흥미진진한 경험이었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기