mason
mason-log.
mason

mason.

안녕하세요. mason 입니다.

ai-assisted

How LLMs work.

토큰, 다음 토큰 예측, 컨텍스트 창, 환각의 기본 동작.

**LLM(Large Language Model)**은 입력 텍스트를 토큰 단위로 읽고, 다음에 올 토큰의 확률 분포를 예측해 문장·코드를 생성합니다. 프론트엔드 개발에서 쓰는 AI 코딩 도구의 핵심도 이 예측 루프입니다.

🔢 토큰과 예측

프롬프트가 토큰으로 나뉘어 다음 토큰을 예측하는 흐름

  • 토큰: 모델이 처리하는 텍스트 조각입니다. 단어 전체일 수도 있고, 단어의 일부나 기호일 수도 있습니다.
  • 프롬프트: 사용자 요청, 시스템 지시, 첨부한 코드·파일 등 모델에 들어가는 입력입니다.
  • 다음 토큰 예측: 지금까지의 토큰을 조건으로 다음 토큰 후보의 확률을 계산합니다.
  • 샘플링: 확률 분포에서 하나를 고릅니다. temperature가 높을수록 후보 선택이 넓어집니다.

모델은 “이해했다”기보다 통계적으로 그럴듯한 연속 토큰을 만듭니다. 그래서 문법적으로는 맞아 보이지만 사실·프로젝트 제약과 어긋나는 출력이 나올 수 있습니다.

🪟 컨텍스트 창

한 번에 참고할 수 있는 토큰 양의 상한을 컨텍스트 창이라 합니다.

  • 시스템 지시, 대화 이력, 열린 파일, 검색 결과, 도구 출력이 같은 창을 나눠 씁니다.
  • 창을 넘기면 앞쪽 내용이 잘리거나 요약되어 중요한 제약이 사라질 수 있습니다.
  • 긴 레포에서는 파일을 통째로 넣기보다 관련 경로, 심볼, 실패 로그만 좁혀 넣는 편이 안정적입니다.

🛠️ 도구와 에이전트 루프

코딩 도구는 보통 텍스트만 내보내지 않고 도구 호출을 합니다.

  1. 모델이 read_file, edit, shell 같은 도구 사용을 제안합니다.
  2. 런타임이 도구를 실행하고 결과를 다시 컨텍스트에 넣습니다.
  3. 모델이 결과를 보고 다음 행동(추가 수정, 테스트, 설명)을 고릅니다.

이 반복이 에이전트 형태입니다. 품질은 모델뿐 아니라 어떤 파일을 보게 하는지, 어떤 명령을 허용하는지에 크게 좌우됩니다.

⚠️ 환각과 한계

  • 환각(hallucination): 존재하지 않는 API, 잘못된 버전, 가짜 경로를 자신 있게 말할 수 있습니다.
  • 학습 컷오프: 학습 시점 이후의 라이브러리 변경을 모를 수 있습니다. 최신 문서는 검색·공식 문서 확인이 필요합니다.
  • 비결정성: 같은 프롬프트라도 샘플링에 따라 답이 달라질 수 있습니다.
  • 보안: 비밀키, 개인정보, 사내 미공개 코드를 프롬프트에 넣으면 유출 위험이 생깁니다.

💡 같이 알아둘 것

  • 좋은 결과는 “더 똑똑한 모델”만으로 오지 않습니다. 좁은 목표, 충분한 컨텍스트, 실행 가능한 검증이 같이 필요합니다.
  • 프론트엔드에서는 타입 에러, 테스트, 스토리북, 브라우저 확인으로 생성 코드를 기계적으로 검증하는 습관이 중요합니다.

🔗 참고 자료