바이브 코딩은 뇌를 덜 쓰게 만든다?
바이브 코딩을 계속 하다 보면 점점 멍해지고, 멍청해지는 것 같다는 얘기를 레딧이나 SNS에서 종종 봅니다. 저도 예전에는 그런 느낌이 좀 있었습니다만 요즘의 경험은 좀 다릅니다. 크고 복잡한 프로젝트일수록 오히려 머리를 더 쓰게 돼요. 특히 디버깅할 때 그렇습니다.
클로드 코드, 커서, 이제는 제미니까지. 이녀석들에게 일을 제대로 맡기려면 일단 작업 정의부터 제대로 해야 합니다. 아직까지는 맥락을 대충 던져줘도 알아서 모든 정보를 수집해 전체 작업을 처리하는 비서까지는 안 되기 때문에, 내가 가진 도메인 지식과 경험에 따라 크게 두 가지 방법을 써요.
1) 내게 도메인 지식과 경험이 충분할 때
문제를 정의하기 위한 정보를 직접 수집합니다. 과거 슬랙 대화, 깃 히스토리, 코드베이스, 센트리 이슈 등을 확인하고, 문제를 재현합니다. 필요하다면 동료와 콜해서 기능의 의도를 파악하고, 정상적인 동작을 확인하고, 의사결정도 합니다.
이렇게 수집한 정보를 대강 한 문서에 때려넣습니다. 어차피 정보가 충분하다면 대충 적어도 코딩 에이전트가 알아들으니 너무 잘 정리하려고 하진 않아요. 이걸 기반으로 구현만 맡깁니다. 이미 내가 대부분의 정보를 알고 있으니 구현 잘 됐는지 확인도 쉽습니다.
사실 이렇게 하다 보면 그냥 작업할 내용이 너무 자명해질 때도 많은데, 그러면 커서의 탭 자동완성을 이용해 빠르게 직접 구현합니다.
2) 내게 도메인 지식과 경험이 충분하지 않을 때
코딩 에이전트에게 대략적인 현상이나 문제, 목적만 알려준 다음, 함께 정보를 수집해 작업 계획을 짭니다. 커서는 Ask 모드, 클로드코드는 Plan 모드를 써서 대략 이런 식으로 요청해요. (제미니에는 아직 리드온리 모드가 없는데 조만간 추가되지 않을까 싶어요)
"이 문제를 제대로 해결하기 위해 필요하지만 아직 모르는 정보가 뭐지? 파악하기 위해 나에게 적절한 질문을 던져줘. 내가 직접 다른 기록이나, 동료와의 대화를 통해 확인하고, 의사결정할 게 있다면 그것도 알려줘."
(대화 후) "지금까지의 내용을 한 파일에 정리해줘."
(새 세션에서) "이 문서에 기반해서 문제를 해결해줘."
코드의 맥락을 아는 에이전트가 내 메타인지를 깨워주니 작업 계획 짜는 게 훨씬 쉽습니다.
맺으며
두 방식 모두 핵심은 먼저 적절한 정보를 모아서, 의사결정을 하고, 작업 계획을 세우는 데 있습니다. 구현과 테스트 코드는 AI에게 맡기고, 검수는 직접 하고요.
구현 자체에서만 뇌를 쓰지 않을 뿐 앞뒤로는 뇌를 많이 써야 하니, 바이브 코딩 하면서 '멍청해진다'는 느낌은 잘 들지 않습니다. 예전에는 무지성으로 코드 수정하고 로그 찍고 했을 일도 작업 정의부터 하니까 오히려 똑똑해지는 느낌에 가까워요.
물론 굉장히 빠르게 에이전트들이 더욱 똑똑해지고 있으니 이 앞뒤도 점점 더 많이 맡기게 되겠죠. 나중에는 인간이 더 상위 레벨의 전략과 의사결정만 맡게 되거나, 아예 그것도 맡겨버리고 AI로 인해 폭발한 생산성으로 기본소득 받으며 놀고 먹으면서 더 재밌는 일을 하게 되지 않을까 싶기도 합니다.
어쩌면 "비효율적인 인간이 AI 대신 일하고 싶으면 돈을 내야 하는" 시대가 올 수도 있고요. 그 전까지 열심히 돈을 벌어야 할듯.
업데이트: 글 작성 이후의 대화
글을 올리고 나서 SNS에서 재미있는 대화를 몇 건 나눴습니다.
쓰레드 focusrefresh님 댓글
제가 잘 모르는 분야에 필요한 툴을 만들 때 이런 유형의 질문도 종종 씁니다:
"[주제]를 이해하는 데 필수적이지만 함께 언급되는 경우가 드문 관련 분야나 개념들은 무엇인가?"
"잘 알고 있다고 생각하는 사람들조차 가지고 있는 [주제]에 대한 가장 흔한 오해는 무엇인가?"
"[주제]에 대해 대부분의 사람들이 의문을 제기하지 않는 근본적인 가정들은 무엇인가?"
"[분야] 전문가들이 사람들이 의견을 형성하기 전에 [주제]에 대해 이해했으면 하는 것은 무엇인가?"
좀 작업하다 보면 당떨어져서 프롬프트를 개떡처럼 쓴 것 같으면
Enhance for clarity and logical flow: [원래 보내려던 프롬프트]
뭐 이런 식으로 아주 한 번 더 쌈싸주는데 아주 미셸린급으로 업글해 줍니다. ㅋㅋ
페이스북 박영록님 댓글
영록님: 뇌를 덜 쓰는 것과 멍청해지는 것 같다는 건 다른 이야기 아닐까요? 바이브 코딩을 하면서 뇌를 덜 쓰지 않는다면 그건 그거대로 효율적으로 못 쓰고 있다는 거라서 좋은 상황은 아닌 거 같습니다.
나: 뇌를 덜 쓰는 것과 멍청해지는 건 다르다 -> 그렇네요. 뇌를 덜 쓴다, 멍청해진다 두 말을 다 봐서 서두를 저렇게 적었었습니다.
바이브 코딩 하면서 뇌를 덜 쓰지 않는다면 효율적이지 않다 -> 구현에는 뇌를 덜 쓰고 있지만 나머지에서는 더 쓰고 있다는 의미였습니다. 영록님은 어떤 부분에서 뇌를 절약하고 계신가요?
영록님: 뇌를 쓴다는 것도 여러 가지 모드가 있을 텐데, 우리가 코딩할 때 종종 경험하는, 수학 문제를 풀 때와 비슷한 형태의 몰입은 바이브 코딩에서 일어나기 어려운 것 같습니다. 계속 AI가 작성한 결과를 확인하고 조정해줘야 하기 때문에 몰입과는 다른 형태의 뇌 활동이 일어나죠. 그 활동은 아마도 몰입에 비해서는 우리 뇌의 가장 파워풀한 모드를 쓰지는 않기 때문에 절약이 되는 건 맞는 것 같아요.
여기서 말하는 몰입은 그냥 눈앞의 문제에 빠져서 주변의 다른 것들을 잊게 만드는 정도가 아니라, 실제로 머리가 빨리빨리 돌아가는 상태를 말하는 것입니다.
그런데, 저는 그 몰입에 들어가는 집중력이라는 게 우리가 하루종일 무한정 쓸 수 있는 것이 아니라 유한한 자원이라고 보는데, 문제는 제가 나이가 들면서 그 양이 점점 줄어간다는 것이죠. 20대에는 1시간 이상을 하루에도 대여섯 번 이상 몰입할 수 있었는데, 지금은 40분 안팎에 서너 번 밖에 안되는 거 같아요.
그러다보니 이제 제가 꼭 내용을 디테일하게 봐야 하는 게 아니면 집중력을 안 쓰고 문제를 해결하고 싶어집니다. 예전에 큰 팀을 이끌 때는 주니어들에게 넘기면 되었지만, 지금은 주로 혼자 일하다보니 바이브 코딩을 그럴 때 많이 활용합니다. 그러면 낮은 집중력으로도 진도를 나갈 수 있고, 정말 중요한 문제를 위해 뇌를 아껴둘 수 있게 되죠.
다만, 이것도 너무 많이 하게 되면 뇌가 일하는 것도 아니고 휴식을 하는 것도 아닌 상태가 지속되어 몰입 능력이 회복되지 않는 거 같아요. 그래서, 바이브 코딩에 너무 많은 시간을 쓰는 것은 좋지 않다고 봅니다. 멍청해지는 것 같다는 이야기도 이런 맥락이 아닐까 싶어요. 바이브 코딩만 너무 많이 하다보면 단기적으로도 뇌가 휴식을 못해서 퍼포먼스가 떨어지고, 장기적으로는 몰입 경험이 부족해지면서 몰입 능력도 떨어지게 되는 거 같습니다.
뇌를 덜 쓰는 것과 멍청해지는 것 이야기로 돌아오면 다음과 같이 정리할 수 있을 거 같아요.
1. 뇌를 덜 쓰는 것은 맞는 말일 뿐 아니라 바이브 코딩은 뇌를 덜 써야 가치가 있다고 보는데,
2. 그렇다고 너무 많이 하게 되면 몰입 능력이 떨어져서 멍청해지는 느낌을 받는 것도 사실일 수 있다.
이 모순을 풀려면 적어도 본업에서는 전면적으로 바이브 코딩을 하기보다는 제한된 상황에서 쓰고, 잘 컨트롤해가면서 써야 할 거 같습니다. 생산성 측면에서도 아직은 바이브 코딩이 에디터에서 AI 어시스트를 받으면서 직접 코딩하는 것에 많이 못 미치지기 때문에 바이브 코딩 비중이 너무 높으면 퍼포먼스가 많이 떨어질 거 같아요.
나: 자세하게 경험과 생각을 공유해주셔서 정말 감사합니다. 덕분에 잘 이해가 되었어요.
말씀하신 것들에 전체적으로 공감되는 한편, 제가 이 글을 왜 썼나 다시 돌이켜보니 결국 이런 말을 하고 싶었던 것 같습니다.
"예전에는 뇌 빼고 대충 했던, 그래서 때론 품질도 좋지 않았던 일도 더 제대로 하게 됐다"
즉 저는 바이브 코딩을 '적은 집중력으로 진도 빼는' 데는 많이 안 쓰는 것 같습니다. 병렬로 작업 진행도 별로 안 시키고 천천히, 하나의 일을 제대로 하는 데 주로 씁니다. 이게 오히려 뇌를 더 쓴다고 느꼈던 원인일지도 모르겠네요. 바이브 코딩 '자체'에 들이는 절대 시간이 많지 않고, 앞에 계획 세우고 생각하는 시간이 더 기니까요. 이렇게 지속하면 일을 더 제대로 하는 능력이 향상될 것이다, 그러니 바이브 코딩을 통해 똑똑해질 수 있다, 이런 주장이었습니다.
그리고 조금 다른 측면이지만 몰입 얘기를 하셔서 생각이 났는데요.
저는 바이브 코딩의 가장 큰 함의가 전에는 번거롭거나 어려워서 아예 할 엄두를 못 냈던 일을 시작할 수 있게 해주는 데 있다고 봅니다. 이 때 난이도가 확 낮아지고 피드백(입력 -> 앱 동작 변화)이 빈번하게 오기 때문에 몰입 상태에 빠져들기 쉽다고 느껴요. 실제로 비개발자든 개발자든, 바이브 코딩이 재미있어서 시간 가는 줄 모르고 했다는 말이 나오는 게 이런 부분 때문인 것 같고요. 말씀대로 코딩의 몰입과는 좀 다른/약한 몰입일 수 있겠고, 후반부에 마무리할때는 아주 고통스럽지만요.
어쨌든 저도 조만간 1인 서비스 개발을 더 하게 되고, 생산성을 더 높이길 희망하는데 그러면 영록님이 말하신 것처럼 집중 덜 하고 진도 빼는 일이 많아질 수도 있겠네요.
Member discussion