읽는 데 약 10분
앞 글에서 견적서 자동화 도구 안에는 AI를 넣지 않았다고 썼다. 그런데 그 도구를 만든 것은 AI다. 안에 들어간 수식과 코드는 전부 AI가 만들어 준 것이고, 나는 코드를 쓸 줄 모른다.
이런 방식을 Vibe Coding(바이브 코딩)이라고 부른다. 요즘 여기저기서 이 말이 들리는데 정작 무엇을 어떻게 하는 것인지 정확히 설명해주는 곳은 잘 보이지 않았다.
Vibe Coding으로 개인 주식 투자 시스템도 만들고 있지만, 이 글에서는 회사에서 쓸 견적 자동화 하나만 다룬다. 한 달 동안 실제로 어디까지 됐고 어디서 시간을 썼는지를 순서대로 적어두려 한다.
목차
Vibe Coding의 vibe는 분위기라는 뜻이다
Vibe Coding을 이해하려면 앞의 영어 단어부터 보는 편이 빠르다. vibe는 분위기나 느낌을 뜻하는 영어 단어이고, 진동을 뜻하는 vibration에서 나왔다. “저 사람 vibe가 좋다”처럼 쓴다.
그래서 우리말로 옮기면 느낌대로 하는 코딩에 가깝다. 코드를 한 줄씩 정확히 쓰는 대신, 하고 싶은 것을 말로 설명하고 나머지는 AI에게 맡긴다는 뜻이다.
이 말은 2025년 2월에 Andrej Karpathy가 자기 X 계정에 올린 짧은 글에서 나왔다. OpenAI를 함께 만들고 테슬라의 AI 책임자를 지낸 사람인데, “코드가 존재한다는 사실조차 잊고 흐름에 완전히 맡기는 새로운 코딩”이라고 표현했다.
말이 퍼지면서 메리엄웹스터 사전에도 올랐다. “AI의 도움을 받아 다소 무신경하게 코드를 작성하는 것”이라는 설명인데, 만든 사람이 코드 내용을 모르니 오류가 남아 있을 수 있다는 것까지 정의에 들어가 있다.
쉽게 바꾸면 이렇다. 예전에는 프로그램을 만들려면 컴퓨터 언어를 따로 배워야 했는데, 지금은 한국말로 “이런 걸 만들고 싶다”고 설명하면 AI가 그 언어로 바꿔 준다. 개인은 나온 결과가 맞는지만 확인한다.
다만 말 한마디로 프로그램이 통째로 나오는 것은 아니다. 원하는 것을 얼마나 정확히 설명하느냐에 따라 결과가 달라지고, 설명이 막연하면 만들어진 것도 기대에 못 미치게 된다.
사전 설명에는 단서도 하나 붙어 있다. 혼자 쓰는 프로그램이라면 이 방식의 대가를 감수할 수 있지만, 회사에서 쓰는 프로그램은 유지·보수와 안정성 기준을 맞춰야 해서 Vibe Coding으로 만든 결과물이 그 기준에 못 미칠 수 있다는 내용이다.
내가 만들고 있는 것이 정확히 그 회사 도구다. 여러 사람이 같은 양식으로 견적서를 만들고 그 이력이 쌓여야 하는 물건이라, 나에게는 이 단서가 남의 이야기가 아니었다.
엑셀과 Teams에 붙인 견적 자동화
Vibe Coding으로 내가 만들고 있는 것은 대단한 프로그램이 아니다. 엑셀에 수식과 매크로를 넣고, 회사에서 이미 쓰는 Teams 채널에 Power Automate를 붙여 견적 요청이 올라오면 정해진 순서대로 처리되게 하는 구성이다.

이름만 보면 어려워 보이는데 하나씩 떼어놓으면 단순하다.
| 구성 | 하는 일 | 원래부터 있던 것인가 |
|---|---|---|
| 엑셀 수식 | 단가·수량을 받아 금액을 계산한다 | 있다 |
| 엑셀 매크로 | 엑셀 안에서 반복 작업을 대신 실행한다 | 있다 |
| Teams 채널 | 견적 요청을 한자리에서 받는다 | 회사에서 이미 사용 중 |
| Power Automate | “이 일이 생기면 저 일을 한다”를 정해둔다 | Teams와 같이 제공 |
| Claude Cowork | 위의 수식·매크로·자동화를 말로 설명하면 만들어 준다 | 이것만 새로 쓰기 시작했다 |
엑셀과 Teams는 회사에 원래 있던 것이라 새로 들인 것은 AI 하나뿐이다. 새 프로그램을 따로 들이지 않고 쓰던 것 위에 올린 이유는 앞 글에 적어뒀다.
AI는 Claude Cowork를 쓰는데, 프로젝트를 하나로 두지 않고 둘로 나눴다. 하나는 견적에 쓸 데이터를 만드는 프로젝트이고, 다른 하나는 그 데이터로 견적서를 만드는 도구 프로젝트다. 두 프로젝트에서 각각 Vibe Coding으로 작업하고 있다.
나누는 것이 처음부터 정해져 있던 것은 아니다. 역할 분담을 어떻게 할지 Cowork에 먼저 물어 하나로 합치는 쪽과 둘로 나누는 쪽을 함께 검토했고, 역할에 맞춰 나눠서 진행하는 편이 효율이 좋겠다고 최종 판단해 그대로 갔다.
Cowork가 무엇인지는 Claude와 Cowork, Claude Code를 비교한 글에 정리해뒀다.
시간이 걸린 쪽은 도구가 아니라 데이터였다
실제로 많은 시간이 필요했던 것은 견적용 데이터를 만드는 일이었다. 도구를 만드는 쪽이 아니라 도구에 넣을 자료를 준비하는 쪽이다.
견적서는 값이 정해져 있어야 나오는 문서다. 품목과 단가가 정리돼 있지 않으면 도구를 아무리 잘 만들어도 넣을 것이 없다.
그래서 자료를 모으고 형태를 고치는 일도 Vibe Coding으로 했다. 엑셀 자료를 AI로 정리하는 방법 자체는 따로 정리해둔 적이 있다. 이번에는 그 정리 작업만 맡는 프로젝트를 하나 두고, 도구를 만드는 프로젝트와 나눠서 진행했다.
처음 받은 정리본은 자료 출처별로 시트가 열 개 넘게 쪼개져 있어서 정작 담당자가 읽을 수 없는 상태였다. 그래서 이렇게 다시 보냈다.
현재 만들어 준 파일을 보니 이해가 어려운데, 좀 더 쉽게 정리 가능한지, 궁금한 것은 확인된 공식 특가 리스트(고객명, 모델명, 담당자)에 추가로 추정되는 특가 리스트 2개 sheet면 될 듯 함
내가 보낸 문장은 이 정도다. 용어를 골라 쓰지도, 문장을 다듬지도 않았다. 시트가 두 개면 된다는 것만 분명히 적었다.
어려웠던 것은 코딩이 아니라 용어였다
한 번에 된 것은 없었다. 나를 붙잡은 것은 코드가 아니라 그 코드를 설명하는 말이었다.
AI는 만들어 준 코드를 설명해주는데, 그 설명에 나오는 용어가 어려웠다. 무슨 뜻인지 모르는 채로 넘어가면 다음 요청을 제대로 할 수 없어서, 그때마다 용어부터 다시 물었다.
Vibe Coding에서 나를 막은 용어는 코딩 쪽만이 아니었다. 견적에 쓸 데이터를 채워 넣고 고쳐 가는 동안, 검토되고 있는 단어 하나가 문제였다.
견적 요청은 평상시 일반적으로 요청되는 경우(상시)와 프로젝트에 따라 특별히 요청받는 경우(프로젝트)가 섞여 있다.
프로젝트 견적은 이미 자동 견적에서 제외하기로 방침을 정해 명확해졌지만, 나머지 상시 요청은 어디까지를 상시로 규정할 것인지가 명확히 정해져 있어야 했다.
그런데 앞서 나온 결과가 내가 예상한 기대치와 달랐다. 그래서 이렇게 물었다.
현재 상시의 정의가 어떻게 되는지 알려 주기 바람, 개인적으로는 프로젝트(메이커 몇 곳은 이미 프로젝트로 자동 견적 제외)는 제외하고 있는 것으로 알고 있어서 문의 함
확인해보니 회사가 이미 쓰고 있는 제외 기준을 AI가 확인하지 않은 채 자기 기준으로 대상을 잡아 결과를 낸 것이었다. 뜻을 몰라서 물은 것이 아니라 정의가 어긋나 있어서 물은 것이고, 그 어긋남이 결과 전체를 갈랐다.
묻고 이해하면서 진행하느라 시간이 오래 걸렸다. 그래도 이 시간을 아깝다고 보지는 않는다. 코딩을 배운 것은 아니지만, 내가 시키는 일을 설명할 말은 그 과정에서 생겼다.
Vibe Coding에서 AI가 대신하지 않는 자리
도구를 만들며 AI에게 도움을 받은 자리는 코드만이 아니다. 자동화 순서를 짜고, 들어오는 견적 요청을 유형별로 나눠 각각의 대응을 협의하는 자리에도 썼다.
그런데 그 모든 자리에서 마지막에 순서를 정한 것은 나였다. AI는 안을 내고 나는 그중에서 고르거나 다르게 정했고, 그렇게 정해진 순서대로 도구가 돌아간다.
AI Agent와 워크플로우를 정리하면서 확인한 구분이 여기에 그대로 맞았다. 실행 순서를 AI가 알아서 정하면 AI Agent, 사람이 정해 주면 워크플로우인데, 내가 만들고 있는 것은 뒤쪽이다.
도구가 돌아가는 방식만 그런 것이 아니다. 도구를 만드는 동안에도 같은 자리에 사람이 있었다. 코드를 AI가 쓴다는 것과 무엇을 만들지를 AI가 정한다는 것은 다른 이야기이고, 실제로 AI에게 넘어간 것은 코드 쪽 하나뿐이었다.

Vibe Coding을 시작하려는 사람에게
여기까지 해보고 권할 만하다고 생각한 것만 적어둔다.
만들 도구부터 고르지 말고 지금 쓰는 것 안에서 찾는다. 나는 엑셀과 Teams를 벗어나지 않았고, 그래서 설치도 승인도 필요 없었다. 새 프로그램을 고르는 일부터 시작하면 만들기 전에 지친다.
먼저 손볼 것은 도구가 아니라 자기 자료다. 품목과 단가가 흩어져 있으면 도구를 잘 만들어도 넣을 것이 없다. Vibe Coding으로 도구를 만들기 전에, 자료가 어떤 상태인지 AI에게 먼저 보여주고 빠진 항목을 찾게 하는 편이 빠르다.
모르는 용어는 그 자리에서 물어보고 넘어간다. 뜻을 모르는 채로는 다음 요청을 제대로 할 수 없다. 회사에서 쓰는 말이라도 정의가 서로 다른 채로 넘어가면 그다음에 나온 결과가 쓰려던 것과 달라진다.
한 달째 만들고 있다
Vibe Coding으로 거의 한 달째 만들고 있다. 한 번에 된 것이 아니라 지금도 업그레이드와 고도화를 이어가는 중이고, 그사이 견적 요청 양식과 원가 계산·마진율 부분이 형태를 갖췄다.
사전이 붙여둔 단서는 그대로 남아 있다. 만든 사람이 코드를 모르면 회사에서 쓰기에 충분한지 스스로 판단하기 어렵다는 말인데, 내가 확인할 수 있는 것도 나온 결과가 맞는지까지다. 앞에서 기준 하나가 어긋나 있던 것을 뒤늦게 확인한 일도 그 자리에서 나왔다.
코드를 모르는 채로 Vibe Coding을 시작한 것을 후회하지는 않는다. 코드를 알았다면 더 빨랐겠지만, 무엇을 만들어야 하는지는 코드를 아는 것과 상관없이 내 쪽에 있었다.
개인 주식 투자 시스템도 같은 방식으로 붙잡고 있다. 기회가 된다면 그 이야기도 따로 다뤄보려 한다.