안녕하세요, 구독자님 😊
복잡한 IT를 한입 크기로 잘라 전해 드리는 뉴스레터, 이정환의 한입 IT입니다.
오늘은 조금 무거운 이야기로 시작해 보려고 합니다. 2009년, 승객과 승무원 228명을 태운 비행기 한 대가 대서양 한복판에 추락했습니다. 그런데 이 사고의 원인이, 오늘날 바이브코딩으로 서비스를 만드는 우리에게 그대로 적용되는 교훈을 남겼습니다. "AI가 다 해주는데 굳이 개발을 알아야 하나요?"라는 질문에 대한 답이기도 하죠. 오늘은 그 이유를 사람의 한계와 AI의 한계, 두 축으로 나누어 정리해 드리겠습니다.
멀쩡한 비행기가 추락한 이유
2009년 6월 1일, 에어 프랑스 447편이 브라질을 떠나 프랑스 파리로 향했습니다. 원래대로라면 약 11시간의 비행 끝에 무사히 도착했어야 할 항공편이었죠. 하지만 이륙 세 시간쯤 뒤, 비행기는 대서양에 추락했고 탑승객 228명 전원이 사망했습니다.

이상한 점은, 비행기 자체는 멀쩡했다는 사실입니다. 엔진도 정상이었고 날개에도 이상이 없었습니다. 프랑스 당국의 조사 결과 밝혀진 원인은 의외로 사소했습니다. 비행기의 속력을 측정하는 작은 센서가 얼어붙으면서, 자동 조종 장치가 갑자기 꺼진 것이었습니다.
여기서 중요한 건, 자동 조종이 꺼졌다고 해도 비행기는 여전히 날 수 있는 상태였다는 점입니다. 문제는 사람이었습니다. 그날의 파일럿들은 이미 자동 조종에만 익숙해져 있었고, 수동 조종 상황에서 실수가 반복되면서 결국 비행기는 바다로 떨어졌습니다.
이 사고 이후 전 세계 항공 당국은 규정을 바꿨습니다. 모든 파일럿이 수동 비행 훈련을 의무적으로 받도록 한 것이죠. 그리고 이 규정은 자동 조종 기술이 나날이 발전하고 있는 오늘날까지도 그대로 유지되고 있습니다.
이제 여러분은 서비스를 운항하는 파일럿입니다
무거운 이야기로 서두를 연 이유가 있습니다. 바이브코딩으로 무언가를 만들어 세상에 내놓는 순간, 여러분은 유저를 태우고 서비스를 직접 운항하는 파일럿이 되기 때문입니다.
자동 조종 장치 역할을 하는 클로드나 코덱스 같은 AI가 가끔 실수를 하더라도, 그것이 개인정보 유출이나 데이터 유실 같은 사고로 이어져 서비스가 추락하지 않도록 바로잡을 수 있어야 합니다. 그리고 그 판단은 최소한의 기본 지식이 있어야만 가능합니다.
물론 요즘 AI는 정말 훌륭합니다. 최근 공개된 클로드의 Fable 5 모델은 웹 기반으로 마인크래프트를 거의 똑같이 구현해 낼 정도로 발전했습니다. 그럼에도 자율주행이 잘 된다고 해서 무면허 운전이 괜찮아지는 게 아닌 것처럼, 서비스를 운영하려면 정말 최소한의 기본 지식은 갖추고 계셔야 합니다. 왜냐하면 아직은 사람과 AI 양쪽 모두에게 해결하기 어려운 한계가 각각 남아 있기 때문입니다.
사람의 한계 — 우리는 원하는 걸 정확히 설명하지 못합니다
먼저 사람 쪽 문제부터 짚어 보겠습니다. 아래 사진을 한번 보시죠. 이 사진이 어떻게 보이시나요?

지난번 무료로 진행한 라이브 세미나에서 이 사진을 보여드렸더니, 답변이 제각각이었습니다. 피크닉을 하는 것 같다는 분이 계셨고, 점심 식사 중으로 보인다는 분도 계셨습니다. 심지어 성북동의 어딘가로 보인다고 하신 분도 계셨죠.
여기서 알 수 있는 중요한 사실이 있습니다. 우리는 똑같은 사진을 보고도 비슷하기만 할 뿐, 서로 다르게 표현한다는 것입니다. 인간의 언어는 기본적으로 모호하기 때문입니다.
그렇다 보니 AI에게 무언가를 설명할 때도, 그것이 아주 간단한 요구가 아니라면 내가 정확히 원하는 게 무엇인지를 100퍼센트 정밀하게 전달하기가 어렵습니다. 이 지점에서 이런 생각을 하실 수도 있습니다. "모호한 표현이 문제라면, 100퍼센트 확실하게 표현할 수 있는 새로운 표현법을 만들면 되지 않나요?"
정말 맞는 말씀입니다. 그리고 놀랍게도 그런 목적으로 만들어진 아주 오래된 표현 체계가 이미 존재합니다. 바로 프로그래밍 언어입니다. 프로그래밍 언어를 배우면 컴퓨터에게 절대 모호하지 않게 설명할 수 있죠. 다만 우리가 원하는 건 그게 아니잖아요? 한국어나 영어 같은 자연어 수준으로도 정밀하게 설명하고 싶은 것이기 때문에, 이 방향으로는 한계가 분명합니다.
AI의 한계 1 — 기억에는 정해진 용량이 있습니다
AI에게도 한계가 있습니다. 우리가 코딩에 사용하는 클로드나 GPT 같은 모델들은 책이나 아티클 등 인간의 언어를 대규모로 학습해 만들어졌습니다. 그래서 Large Language Model, 줄여서 LLM이라고 부르죠. 이 LLM에는 대표적으로 두 가지 한계가 존재합니다.
첫 번째는 기억에 명확한 한계가 있다는 점입니다. LLM은 사용자와 나눈 대화를 메모리 공간에 저장해 두는 방식으로 문맥을 유지합니다. 대화의 문맥을 담아두는 공간이라는 뜻에서 이 공간을 컨텍스트라고 부르는데요. 문제는 이 컨텍스트의 용량이 무한하지 않다는 것입니다.
그래서 대화가 너무 길어지면 용량이 부족해지고, LLM은 공간을 확보하기 위해 그동안의 대화를 압축합니다. 이때 모든 정보를 100퍼센트 챙기기는 어렵다 보니 특정 정보가 누락되는 일이 종종 발생합니다.

그 결과가 바로, 한창 잘 작업하던 AI가 갑자기 딴사람이 된 것처럼 앞뒤가 맞지 않는 답변을 내놓는 현상입니다. 오래 붙잡고 있던 대화에서 유독 품질이 떨어졌던 경험이 있으시다면, 대부분 이 압축 과정에서 중요한 정보가 빠졌기 때문입니다.
AI의 한계 2 — 확률로 답을 만들기 때문에, 틀려도 자신 있습니다
두 번째 한계는 확률을 기반으로 답변을 생성한다는 점입니다. LLM은 한 단어 한 단어씩, 다음에 어떤 단어가 와야 자연스러운지를 확률로 계산해 답변을 만들어 냅니다.
예를 들어 "오늘"이라는 단어 다음에는 70퍼센트의 확률로 "날씨"가 가장 높게 나오니 그 단어가 선택되고, 그다음에는 79퍼센트인 "춥다"가 선택되는 식이죠.

문제는 여기서 발생합니다. 복잡하거나 어려운 주제를 다룰 때, 확률만 높다면 틀린 답이라도 아주 자신 있게 정답이라고 말하는 경우가 생깁니다. AI가 마치 환각을 보는 것과 비슷하다고 해서 이런 현상을 할루시네이션이라고 부르는데요.
할루시네이션은 확률로 답변을 생성하는 LLM의 구조적 특성이기 때문에 완전히 피하기가 상당히 어렵습니다. 그래서 AI의 응답을 항상 100퍼센트 신뢰할 수는 없다고 말씀드릴 수 있겠습니다.
마무리 — 다만 정말 최소한만 배우시면 됩니다
정리하면 이렇습니다. 사람은 원하는 바를 자연어로 정밀하게 전달하기 어렵고, AI는 기억이 압축되며 정보를 흘리고 확률에 기대어 틀린 답을 자신 있게 내놓습니다. 양쪽 모두에 아직 해결되지 않은 문제가 남아 있으니, 지금은 AI를 100퍼센트 신뢰할 수 없습니다.

그래서 항공기 조종사들이 지금도 수동 조종 훈련을 의무적으로 받는 것처럼, 우리도 바이브코딩으로 서비스를 운영하기 위한 최소한의 개발 지식은 갖추고 계셔야 합니다. 여기서 강조하고 싶은 건 '최소한'입니다. 전공 커리큘럼을 통째로 밟자는 이야기가 전혀 아닙니다.
물론 개발 공부를 조금이라도 해보신 분들이라면 공감하시겠지만, 개발 지식은 워낙 복잡하고 양이 많습니다. 어디서부터 어떻게 시작해야 할지 막막하고, AI 시대에 흐름과 동떨어진 걸 배우는 건 아닌지 걱정도 되죠. 그래서 제가 AI 시대에 꼭 필요한 핵심 지식만 직접 추려 일곱 가지 단계로 정리해 두었습니다. 지난 호에서 다룬 그 로드맵이니, 무엇부터 시작할지 고민이시라면 이어서 살펴보시면 좋겠습니다.
AI는 훌륭한 자동 조종 장치입니다.
다만 조종석에 앉은 사람은 여전히 구독자님이라는 사실만 기억해 주세요.
영상으로 더 자세히 보기
오늘 내용을 더 자세히 보고 싶으시다면, 영상으로도 함께 확인해 보세요.
의견을 남겨주세요