바이브 코딩: 바이브 코딩은 인공지능(AI)을 사용하여 자연어 프롬프트에서 기능 코드를 생성하여 개발을 가속화하고 앱 빌드의 접근성을 향상할 수 있도록 하는 새로운 소프트웨어 개발 방식입니다. 특히 프로그래밍 경험이 제한적인 개발자에게 유용합니다. (출처. google cloud, what is vibe coding)
이번에 리빙랩 용역을 운영하게 되며, 제한된 리소스와 상황에서 어떻게 용역의 핵심과정인 리빙랩을 효과적으로 운영할지 (적은투입, 높은 수준의 결과물) 고민하게 되었다.
리빙랩 전 단계를 뜯어보았을 때, 전반적으로 결과에 가장 큰 영향을 미치는 요소는
- 퍼실리테이터 간의 Quality Control 문제: 각 단계별 Tool에 대한 경험 및 이해도가 얼마나 높은지, 참여자들과의 소통을 통하여 각 세부 단계별로 어떠한 인사이트 및 결론을 이끌어 내는지,리빙랩 전 단계에 대하여 얼마나 이해하고 있는지
라고 결론 내렸고
퍼실리테이터의 리빙랩 경험에 대한 의존을 최소화 하고, 짧은 내부 워크숍 (툴 교육) 만으로도 오랜 경험을 가진 퍼실리테이터 수준의 일관적이고 효과적인 결과물을 내는 것을 목표로 AI와 연계한 리빙랩 도구를 만드는 작업을 진행하고 있다.
바이브 코딩의 전반적인 과정은 다음과 같다:
- 아이디어 구상: Google AI Studio 또는 Firebase Studio와 같은 도구에서 개괄적인 단일 프롬프트로 원하는 전체 애플리케이션을 설명합니다.
- 생성: AI가 UI, 백엔드 로직, 파일 구조를 포함한 전체 애플리케이션의 초기 버전을 생성합니다.
- 반복적인 개선: 애플리케이션을 테스트하고 후속 프롬프트를 사용하여 새로운 기능을 추가하거나 기존 기능을 변경합니다.
- 테스트 및 검증: 인간 전문가가 보안, 품질, 정확성을 위해 애플리케이션을 검토합니다
- 배포: 최종 프롬프트 또는 한 번의 클릭으로 Cloud Run과 같은 확장 가능한 플랫폼에 애플리케이션을 배포합니다.
(출처: google cloud, what is vibe coding)
오늘 기획편에서는 1. 아이디어 구상 단계를 어떻게 진행했는지 위주로 이야기 하려고 한다. (정답은 아닐 수 있음, 경험 공유)
위에서 아이디어 구상단계는 "개괄적인 단일 프롬프트로 원하는 전체 애플리케이션을 설명합니다" 라고 굉장히 넓고 모호하게 정의되어있다.
개발 단계를 고려하였을 때, 애플리케이션에 대한 설명은 절대로 애매하거나 모호하면 안된다.
Input, Ouput, 핵심기능에 대한 정의 및 대략적인 알고리즘, 맥락, 과업, Modulization 등 다양한 요소를 명확히 전달해야 한다.
나도 모르는 애매한 영역을 마법처럼 내 의도를 파악하고 개발하여 제안해 주는 경우는 거의 없다.
아니, 뭔가를 만들어 주기는 하는데 내가 생각하는 서비스/어플리케이션은 절대 나오지 않는다.
개발 지식과 경험이 없거나 부족하면, 이러한 초기 요소 (명세서)에 대한 작성이 어렵기 때문에 명세서 작성도 AI 를 통하여 도움을 받는 것이 좋다.
개발 지식과 경험이 있더라도, AI 를 사용하면 배경과 맥락, 의도를 전달하여 높은 퀄리티의 명세서를 훨씬 짧은 시간 내에 도출할 수 있다.
이번 프로젝트에는 리빙랩을 위한 5가지 도구 (페르소나, 시나리오, 포지션맵, 5-whys, 지표 설정 도구)를 개발하는 것을 목표로 하였고,
리빙랩에 대한 잘 요약된 자료, 사업에 대한 전반적인 실행계획서 등 배경사항과 함께 아래 프롬프트를 사용하여 명세서를 기획하였다.
# 페르소나:
당신은 15년 경력의 서비스 기획자이자 UX/UI 전문가입니다. 특히, 다양한 이해관계자가 참여하는 '리빙랩(Living Lab)' 워크숍의 기획 및 운영 경험이 풍부하며, 워크숍의 효과를 극대화하는 온라인 협업 툴을 설계하는 데 특화된 전문가입니다. 당신의 강점은 복잡한 문제 해결 과정을 단순하고 직관적인 디지털 도구로 전환하여, IT 기기 사용에 익숙하지 않은 사용자도 쉽게 참여하고 의미 있는 결과를 도출하도록 돕는 것입니다.
# 맥락:
농업 분야의 문제를 해결하기 위한 '리빙랩 워크숍'을 기획 중입니다. 주요 참여자는 워크숍 경험이 거의 없는 고령의 농민들입니다. 워크숍 진행자(퍼실리테이터)의 역량 차이로 인한 결과물의 편차를 줄이고, 농민들의 생생한 의견을 체계적으로 종합하여 깊이 있는 인사이트를 도출하기 위해, AI(Gemini)를 활용한 5단계 온라인 워크숍 툴을 개발하려고 합니다. 모든 툴은 조별로 하나의 대형 스크린을 보며 함께 사용하는 것을 전제로 합니다.
# 과업:
아래에 제시된 5가지 워크숍 툴에 대한 '상세 기획안'을 작성해 주세요. 각 툴에 대해 [목표], [핵심 기능], [화면 명세서], [AI 연동 방안]을 구체적으로 명시해야 합니다. 사용자가 농민임을 고려하여, 모든 인터페이스는 매우 직관적이고 쉬워야 합니다.
이후에는 내가 생각하는 각 도구들에 대한 간단한 핵심 기획 (목표, 핵심기능, 대략적인 화면 구성, AI 연동 방안 등)을 전달하였고,
도구 하나하나 AI 기획자와 이야기를 나누며 내가 제안했던 명세를 구체화하고 다듬어 나가는 작업을 진행하였다.
특히, 이번 툴의 목적은 퍼실리테이터의 효과적인 툴 학습과 사용에 있었기에, 기존 퍼실리테이터의 역량이나 경험에 의존했던 부분을 AI보조를 통하여 누구나 좋은 결과물을 효과적으로 낼 수 있게 하기 위해 각 도구별 인사이트가 작용하는 프로세스/아이데이션이 필요한 프로세스/보조가 필요한 프로세스 등을 정의하고, 해당 단계를 효과적으로 보조할 수 있는 프롬프트 설계와 AI 도입하는 것이 필요했다.
이러한 부분에서 AI와 지속적으로 대화하는 과정을 명세서가 충분히 구체화 될 때 까지 (핵심적인 기능 구체화, 애매한 영역등이 최소화 되어 의도에 맞추어 실제 개발이 가능한 정도의 수준) 반복하였다.
대화 과정중에서 발산과 수렴의 역할을 명확히 하는 것이 효과적인 기획 발전에 도움이 되었다.
즉, 애매한 부분에 대한 제안을 받거나, 기능적 부분에 대한 아이디어 등이 필요한 경우 제안을 해 달라고 명확히 요청하고
어느정도 발산 된 이후 해당 내용을 정리하고 내 생각과 다른 부분에 대한 피드백을 통하여 수렴하는 과정을 반복 진행하였는데
발산을 통하여 생각지도 못했던 부분에 대한 조언이나 확장이 일어나고, 수렴과정을 통하여 의도와 다르거나 엉뚱한 부분을 더이상 디벨롭시키지 않고 빠르게 컷 해 나갈 수 있었다.
명세서 구성 요소 중 잘 모르는 영역 (대략적인 알고리즘, 기능 구현 가능 여부 등)이 있으면 이러한 대화를 통하여 구체적으로 이해하고 넘어가는 것이 이후 개발 단계에서도 도움이 될 것 같다.
AI와 기획할 때 가장 주의할 점 중 하나라고 생각되는 것은 AI에게 끌려다니지 않는 것이다.
명확한 맥락과 배경, 의도가 전달되지 않은 상태에서도 AI는 결과물을 제안한다. 어떨때는 굉장히 그럴싸하다.
그럼에도 내가 무엇을 만들고자 하는지, 내가 달성하려는 목표에 제안한 방안이나 중간 결과물이 진짜 효과적인지를 끊임없이 검토하고 결정하고, 아닌 것 같으면 다시 맥락과 배경 의도를 전달하여 리서치 시키고 더 나은 방안을 제안받거나, 내가 빠르게 제안하며 고쳐나가는 작업이 중요하다.
이렇게 대화를 하며 총 5개의 각 핵심 도구들에 대한 명세서를 도출하였다.
명세서는 바로 다음 개발 단계로 연결될 수 있도록 화면 명세서, 핵심 기능 명세서로 나누어 도출하였고,
읽어 보았을 때 화면에 어떠한 내용이 필수로 포함되는지 명확하고 (특히, 핵심기능에 누락이 없고), 각 도구를 시뮬레이션 한다고 했을 때 Input -> Ouput 으로 가는 세부 단계가 끊기지 않는 수준으로 작성된 것을 확인하고 기획 작업을 마무리 하였다.
참고 - 페르소나 도구 화면 명세서: https://docs.google.com/document/d/1JKIh3ehrwitB7yU9yZ5J6m6je9BqohD_TprY5gh82wk/edit?usp=sharing
총 5개 도구에 대한 명세를 완성하는데 대략 3시간정도 걸린 것 같다.
평소라면 1개 도구에 대한 초기 명세를 작성하는데 3시간 내외가 걸리고, 이를 디벨롭시키는 과정은 외부 전문가와의 소통과 더욱 많은 시간이 필요했을 것이다.
현재까지 바이브코딩은 여전히 진입장벽이 존재하고, 보안성 등 취약점이 있지만 극복이 불가능한 정도는 아니다. (즉,어려움은 있을지라도 누구나 시도하고 성공할 수 있다)
AI 발전에 따라 앞으로의 바이브코딩은 훨씬 쉬워지고 혁신적이고 파괴적일것 같다고 느낀다.
이제는 자연어 기반 개발이 얼마 남지 않았다고 느낀다.
이럴때일수록 시대가 요구하는 것은 일상생활속의 혹은 내가 일하는 영역속에서
바이브코딩을 통해 효율화 하고 개선할 수 있는 영역을 빠르게 캐치하고, 이를 서비싱화 해 갈 수 있는 역량이 아닐까 생각한다.
이를 위하여 지금부터 각자의 영역에서 바이브코딩을 시도해 보는 것은 좋은 미래를 위한 좋은 시작점이 아닐까?

출처: https://cloud.google.com/discover/what-is-vibe-coding?hl=ko
바이브 코딩: 바이브 코딩은 인공지능(AI)을 사용하여 자연어 프롬프트에서 기능 코드를 생성하여 개발을 가속화하고 앱 빌드의 접근성을 향상할 수 있도록 하는 새로운 소프트웨어 개발 방식입니다. 특히 프로그래밍 경험이 제한적인 개발자에게 유용합니다. (출처. google cloud, what is vibe coding)
이번에 리빙랩 용역을 운영하게 되며, 제한된 리소스와 상황에서 어떻게 용역의 핵심과정인 리빙랩을 효과적으로 운영할지 (적은투입, 높은 수준의 결과물) 고민하게 되었다.
리빙랩 전 단계를 뜯어보았을 때, 전반적으로 결과에 가장 큰 영향을 미치는 요소는
- 퍼실리테이터 간의 Quality Control 문제: 각 단계별 Tool에 대한 경험 및 이해도가 얼마나 높은지, 참여자들과의 소통을 통하여 각 세부 단계별로 어떠한 인사이트 및 결론을 이끌어 내는지,리빙랩 전 단계에 대하여 얼마나 이해하고 있는지
라고 결론 내렸고
퍼실리테이터의 리빙랩 경험에 대한 의존을 최소화 하고, 짧은 내부 워크숍 (툴 교육) 만으로도 오랜 경험을 가진 퍼실리테이터 수준의 일관적이고 효과적인 결과물을 내는 것을 목표로 AI와 연계한 리빙랩 도구를 만드는 작업을 진행하고 있다.
바이브 코딩의 전반적인 과정은 다음과 같다:
(출처: google cloud, what is vibe coding)
오늘 기획편에서는 1. 아이디어 구상 단계를 어떻게 진행했는지 위주로 이야기 하려고 한다. (정답은 아닐 수 있음, 경험 공유)
위에서 아이디어 구상단계는 "개괄적인 단일 프롬프트로 원하는 전체 애플리케이션을 설명합니다" 라고 굉장히 넓고 모호하게 정의되어있다.
개발 단계를 고려하였을 때, 애플리케이션에 대한 설명은 절대로 애매하거나 모호하면 안된다.
Input, Ouput, 핵심기능에 대한 정의 및 대략적인 알고리즘, 맥락, 과업, Modulization 등 다양한 요소를 명확히 전달해야 한다.
나도 모르는 애매한 영역을 마법처럼 내 의도를 파악하고 개발하여 제안해 주는 경우는 거의 없다.
아니, 뭔가를 만들어 주기는 하는데 내가 생각하는 서비스/어플리케이션은 절대 나오지 않는다.
개발 지식과 경험이 없거나 부족하면, 이러한 초기 요소 (명세서)에 대한 작성이 어렵기 때문에 명세서 작성도 AI 를 통하여 도움을 받는 것이 좋다.
개발 지식과 경험이 있더라도, AI 를 사용하면 배경과 맥락, 의도를 전달하여 높은 퀄리티의 명세서를 훨씬 짧은 시간 내에 도출할 수 있다.
이번 프로젝트에는 리빙랩을 위한 5가지 도구 (페르소나, 시나리오, 포지션맵, 5-whys, 지표 설정 도구)를 개발하는 것을 목표로 하였고,
리빙랩에 대한 잘 요약된 자료, 사업에 대한 전반적인 실행계획서 등 배경사항과 함께 아래 프롬프트를 사용하여 명세서를 기획하였다.
# 페르소나:
당신은 15년 경력의 서비스 기획자이자 UX/UI 전문가입니다. 특히, 다양한 이해관계자가 참여하는 '리빙랩(Living Lab)' 워크숍의 기획 및 운영 경험이 풍부하며, 워크숍의 효과를 극대화하는 온라인 협업 툴을 설계하는 데 특화된 전문가입니다. 당신의 강점은 복잡한 문제 해결 과정을 단순하고 직관적인 디지털 도구로 전환하여, IT 기기 사용에 익숙하지 않은 사용자도 쉽게 참여하고 의미 있는 결과를 도출하도록 돕는 것입니다.
# 맥락:
농업 분야의 문제를 해결하기 위한 '리빙랩 워크숍'을 기획 중입니다. 주요 참여자는 워크숍 경험이 거의 없는 고령의 농민들입니다. 워크숍 진행자(퍼실리테이터)의 역량 차이로 인한 결과물의 편차를 줄이고, 농민들의 생생한 의견을 체계적으로 종합하여 깊이 있는 인사이트를 도출하기 위해, AI(Gemini)를 활용한 5단계 온라인 워크숍 툴을 개발하려고 합니다. 모든 툴은 조별로 하나의 대형 스크린을 보며 함께 사용하는 것을 전제로 합니다.
# 과업:
아래에 제시된 5가지 워크숍 툴에 대한 '상세 기획안'을 작성해 주세요. 각 툴에 대해 [목표], [핵심 기능], [화면 명세서], [AI 연동 방안]을 구체적으로 명시해야 합니다. 사용자가 농민임을 고려하여, 모든 인터페이스는 매우 직관적이고 쉬워야 합니다.
이후에는 내가 생각하는 각 도구들에 대한 간단한 핵심 기획 (목표, 핵심기능, 대략적인 화면 구성, AI 연동 방안 등)을 전달하였고,
도구 하나하나 AI 기획자와 이야기를 나누며 내가 제안했던 명세를 구체화하고 다듬어 나가는 작업을 진행하였다.
특히, 이번 툴의 목적은 퍼실리테이터의 효과적인 툴 학습과 사용에 있었기에, 기존 퍼실리테이터의 역량이나 경험에 의존했던 부분을 AI보조를 통하여 누구나 좋은 결과물을 효과적으로 낼 수 있게 하기 위해 각 도구별 인사이트가 작용하는 프로세스/아이데이션이 필요한 프로세스/보조가 필요한 프로세스 등을 정의하고, 해당 단계를 효과적으로 보조할 수 있는 프롬프트 설계와 AI 도입하는 것이 필요했다.
이러한 부분에서 AI와 지속적으로 대화하는 과정을 명세서가 충분히 구체화 될 때 까지 (핵심적인 기능 구체화, 애매한 영역등이 최소화 되어 의도에 맞추어 실제 개발이 가능한 정도의 수준) 반복하였다.
대화 과정중에서 발산과 수렴의 역할을 명확히 하는 것이 효과적인 기획 발전에 도움이 되었다.
즉, 애매한 부분에 대한 제안을 받거나, 기능적 부분에 대한 아이디어 등이 필요한 경우 제안을 해 달라고 명확히 요청하고
어느정도 발산 된 이후 해당 내용을 정리하고 내 생각과 다른 부분에 대한 피드백을 통하여 수렴하는 과정을 반복 진행하였는데
발산을 통하여 생각지도 못했던 부분에 대한 조언이나 확장이 일어나고, 수렴과정을 통하여 의도와 다르거나 엉뚱한 부분을 더이상 디벨롭시키지 않고 빠르게 컷 해 나갈 수 있었다.
명세서 구성 요소 중 잘 모르는 영역 (대략적인 알고리즘, 기능 구현 가능 여부 등)이 있으면 이러한 대화를 통하여 구체적으로 이해하고 넘어가는 것이 이후 개발 단계에서도 도움이 될 것 같다.
AI와 기획할 때 가장 주의할 점 중 하나라고 생각되는 것은 AI에게 끌려다니지 않는 것이다.
명확한 맥락과 배경, 의도가 전달되지 않은 상태에서도 AI는 결과물을 제안한다. 어떨때는 굉장히 그럴싸하다.
그럼에도 내가 무엇을 만들고자 하는지, 내가 달성하려는 목표에 제안한 방안이나 중간 결과물이 진짜 효과적인지를 끊임없이 검토하고 결정하고, 아닌 것 같으면 다시 맥락과 배경 의도를 전달하여 리서치 시키고 더 나은 방안을 제안받거나, 내가 빠르게 제안하며 고쳐나가는 작업이 중요하다.
이렇게 대화를 하며 총 5개의 각 핵심 도구들에 대한 명세서를 도출하였다.
명세서는 바로 다음 개발 단계로 연결될 수 있도록 화면 명세서, 핵심 기능 명세서로 나누어 도출하였고,
읽어 보았을 때 화면에 어떠한 내용이 필수로 포함되는지 명확하고 (특히, 핵심기능에 누락이 없고), 각 도구를 시뮬레이션 한다고 했을 때 Input -> Ouput 으로 가는 세부 단계가 끊기지 않는 수준으로 작성된 것을 확인하고 기획 작업을 마무리 하였다.
참고 - 페르소나 도구 화면 명세서: https://docs.google.com/document/d/1JKIh3ehrwitB7yU9yZ5J6m6je9BqohD_TprY5gh82wk/edit?usp=sharing
총 5개 도구에 대한 명세를 완성하는데 대략 3시간정도 걸린 것 같다.
평소라면 1개 도구에 대한 초기 명세를 작성하는데 3시간 내외가 걸리고, 이를 디벨롭시키는 과정은 외부 전문가와의 소통과 더욱 많은 시간이 필요했을 것이다.
현재까지 바이브코딩은 여전히 진입장벽이 존재하고, 보안성 등 취약점이 있지만 극복이 불가능한 정도는 아니다. (즉,어려움은 있을지라도 누구나 시도하고 성공할 수 있다)
AI 발전에 따라 앞으로의 바이브코딩은 훨씬 쉬워지고 혁신적이고 파괴적일것 같다고 느낀다.
이제는 자연어 기반 개발이 얼마 남지 않았다고 느낀다.
이럴때일수록 시대가 요구하는 것은 일상생활속의 혹은 내가 일하는 영역속에서
바이브코딩을 통해 효율화 하고 개선할 수 있는 영역을 빠르게 캐치하고, 이를 서비싱화 해 갈 수 있는 역량이 아닐까 생각한다.
이를 위하여 지금부터 각자의 영역에서 바이브코딩을 시도해 보는 것은 좋은 미래를 위한 좋은 시작점이 아닐까?
출처: https://cloud.google.com/discover/what-is-vibe-coding?hl=ko