LLM이란 무엇인가 — 언어 모델이 코드를 쓰는 원리

Ch.04 · Lesson 01 · Updated 2026.05.02 · 6 min read

← 바이브코딩 바이블 목차 (챕터 0)

Cursor에게 “로그인 기능 만들어줘”라고 입력하면 몇 초 만에 코드가 완성됩니다. 어떻게 이게 가능한 걸까요? AI가 코드를 외워뒀다가 꺼내주는 걸까요? 사실은 전혀 다른 원리로 작동합니다.

이 글은 API에 이어, 바이브코딩의 핵심 엔진인 LLM이 무엇인지, 그리고 어떻게 코드를 만들어내는지 살펴봅니다.


LLM이란 — 방대한 텍스트로 훈련된 언어 모델

Wikipedia에 따르면, LLM(Large Language Model)은 자연어 처리를 위해 방대한 텍스트로 훈련된 신경망입니다. 최첨단 모델은 보통 100억 개 이상의 파라미터를 가지고 있어요.

파라미터는 모델이 학습 과정에서 쌓은 지식의 단위라고 이해하면 됩니다. GPT-3는 2020년 출시 당시 1,750억 개의 파라미터를 가졌고, 이 규모 덕분에 명시적으로 가르치지 않은 작업도 척척 해낼 수 있었어요. 코드, 소설, 번역, 요약 — 텍스트라면 무엇이든요.


핵심 원리 — 다음 단어를 예측하는 반복

LLM이 코드를 생성하는 원리는 생각보다 단순합니다. 다음에 올 토큰(단어 조각)이 무엇인지 예측하는 작업을 반복하는 거예요.

“def calculate(” 다음엔 뭐가 올까? 수십억 개의 코드 예시를 학습한 모델은 “value” 같은 변수명이 높은 확률로 온다는 것을 압니다. 그 다음엔 “:”이 오고, 그 다음엔 들여쓰기, 그 다음엔 로직이 이어지죠. 이 예측을 수백 번 반복하면 완성된 함수가 만들어집니다.

이 구조의 기반이 된 것이 2017년 Google 연구팀이 발표한 논문 “Attention is All You Need”입니다. 이 논문에서 제안한 트랜스포머(Transformer) 아키텍처가 오늘날 모든 주요 LLM의 토대예요. 핵심은 어텐션(Attention) — 문장 안에서 어떤 단어가 어떤 단어와 관련 있는지를 계산하는 방식입니다.

토큰이 뭔지 알면 대화가 달라진다

LLM은 글자 단위가 아니라 토큰(token) 단위로 텍스트를 처리해요. 영어 “Hello”는 토큰 1개지만, “바이브코딩”은 한글 특성상 여러 토큰으로 쪼개질 수 있습니다. 대략 한국어 300~400자가 토큰 100개 정도에 해당해요.

왜 중요하냐면, 모델이 한 번에 처리할 수 있는 토큰 수에 한계가 있기 때문이에요. 이를 컨텍스트 창(Context Window)이라고 합니다. Claude 3.5 Sonnet의 경우 약 20만 토큰(한국어로 수만 줄의 코드)을 처리할 수 있어요. 컨텍스트 창이 클수록 AI가 더 많은 파일과 대화 내용을 기억하면서 일관된 코드를 만들어줍니다.

반대로 대화가 아주 길어지면 초반 내용이 컨텍스트 창을 벗어나 AI가 처음 설정을 잊는 일이 생겨요. 긴 작업을 할 때 중간중간 “지금까지 만든 구조 정리해줘”로 맥락을 다시 잡아주는 이유가 여기에 있습니다.


대표 모델들

현재 바이브코딩에서 자주 만나는 LLM은 세 가지입니다.

  • Claude (Anthropic) — Cursor의 기본 모델. Opus·Sonnet·Haiku 등 용도별 라인업이 있어요. Anthropic은 AI 안전성 연구를 중심에 두는 공익법인으로, 모델의 내부 작동 원리를 이해하는 해석가능성(Interpretability) 연구에 집중하고 있습니다.
  • GPT (OpenAI) — ChatGPT의 엔진. GPT-4o 등이 현재 널리 쓰이고 있어요.
  • Gemini (Google) — 텍스트·이미지·영상을 함께 처리하는 멀티모달 모델입니다.

Cursor 안에서 이 모델들을 선택해서 쓸 수 있어요. 작업 성격에 따라 더 빠른 모델을, 복잡한 작업엔 더 강력한 모델을 선택하는 식으로요. 같은 요청이라도 모델에 따라 결과물의 깊이와 정확도가 달라지는 걸 경험하게 됩니다.


개발자들은 이미 쓰고 있다 — 2024년 통계

Stack Overflow 2024 개발자 설문조사에 따르면, 전체 개발자의 76%가 AI 도구를 사용하거나 사용할 계획이라고 답했어요. 실제 활발하게 쓰고 있다는 응답은 61.8%로, 전년(44%) 대비 크게 늘었습니다.

주요 사용 목적은 코드 작성(82%), 검색 대체(67.5%), 디버깅(56.7%) 순이에요. 코드를 처음부터 짜는 것보다, 막힌 부분을 물어보거나 에러를 해결하는 용도로도 많이 쓰인다는 뜻입니다.


LLM을 알면 AI와의 대화가 달라진다

LLM은 코드를 알고 있는 게 아니라, 다음에 올 텍스트를 예측합니다. 이 차이가 중요한 이유가 있어요. 요청이 구체적이고 맥락이 풍부할수록 예측의 정확도가 올라가거든요.

“로그인 만들어줘”보다 “이메일과 비밀번호로 로그인하고, 실패 시 에러 메시지를 보여주는 기능을 Python Flask로 만들어줘”가 훨씬 좋은 코드를 이끌어냅니다. LLM의 원리를 이해하면, 프롬프트를 어떻게 써야 하는지도 자연스럽게 보이기 시작해요.

한 가지 더 알아두면 좋은 점이 있어요. LLM은 확률적으로 답을 생성하기 때문에, 같은 질문을 여러 번 해도 매번 조금씩 다른 답이 나올 수 있어요. 그리고 틀린 정보를 자신 있게 말하는 경우도 있습니다. 강점과 한계를 구체적으로 파고드는 게 다음 글의 주제예요.


이 글은 Wikipedia, Anthropic 공식 웹사이트, Stack Overflow Developer Survey 2024, arxiv.org 등 공개 자료를 바탕으로 작성되었습니다.

이 챕터에 대해 질문이 있으신가요? Cursor Korea 커뮤니티에서 함께 이야기해요.

질문하러 가기 →
DISCUSSION

댓글 0