2026. 07. 20. · Archive

AI 코딩 용어사전: 한 오후에 읽고 끝내는 7개 섹션 정리

"AI is a collective name for problems which we do not yet know how to solve properly by computer." — Bertram Raphael, 1971

AI 코딩이 어렵게 느껴지는 건 대부분 제조된 혼란이다. VC가 투자한 수십 개 스타트업이 각자 용어를 만들고, 각자 프레임을 만들고, 각자 "우리만의 특별한 기술"처럼 포장한다. 그 결과 같은 개념에 여러 이름이 붙고, 같은 단어가 맥락마다 다른 뜻으로 쓰인다. Matt Pocock이 만든 Dictionary of AI Coding은 이 혼란을 걷어내는 작업이다. 핵심 용어들을 plain English로 정의하고, 각 용어가 왜 그렇게 불리는지, 실무에서 어떻게 작동하는지, 어떻게 쓰면 안 되는지까지 짚어준다. 이 글에서는 그 사전의 7개 섹션을 한국어로 풀어서 정리했다. 한 오후면 전부 읽을 수 있고, 읽고 나면 컨텍스트가 왜 degrade되는지, 비용이 왜 높은지, 같은 프롬프트가 왜 매일 다르게 동작하는지 깔끔하게 이해된다.

섹션 1~2 — 모델, 토큰, 그리고 컨텍스트

AI라는 단어부터 짚고 넘어가야 한다. AI는 고정된 기술이 아니라 "이동하는 라벨"이다. 1950년대엔 정리 증명기가 AI였고, 80년대엔 전문가 시스템이 AI였으며, 90년대엔 딥블루가 AI였다. 각 시대마다 기술이 작동하기 시작하면 "그건 AI가 아니라 그냥 검색이다", "그냥 통계다"라고 부정하고, AI라는 라벨은 다음 미해결 과제로 미끄러진다. 그래서 "AI가 추론할 수 없다"는 주장은 숨은 타임스탬프를 달고 있다. 2010년대 이미지 분류기에 대한 말인지, 지난달 LLM에 대한 말인지에 따라 결론이 완전히 달라진다. 기술적 논의에서 "AI"라는 단어는 피하고, 모델인지, 하네스인지, 에이전트인지, 컨텍스트인지 정확히 명명하는 게 낫다.

모델은 파라미터 그 자체다. Claude Opus 4.x, GPT-5.x가 모델이다. 모델 자체는 아무것도 할 수 없다. 파일을 읽을 수도, 명령을 실행할 수도, 어제를 기억할 수도 없다. 토큰을 받아서 다음 토큰을 예측하고, 그게 전부다. 에이전트가 도구를 선택하고 결과를 읽고 루프를 도는 모든 행위는 하네스(harness)가 모델의 예측을 오케스트레이션하는 것이다. 모델이 나쁘다고 blame하기 전에 확인해야 할 것은 "컨텍스트에 뭘 넣었는가", "하네스가 어떻게 구성됐는가"다. 대부분의 실망스러운 출력은 모델이 아니라 컨텍스트와 하네스에서 비롯된다.

파라미터는 훈련 후 동결된다. 세션에서 아무리 정정해 주고, 아무리 코드베이스를 보여줘도 파라미터는 변하지 않는다. 매 세션이 같은 숫자 위에서 돌아간다. 오늘 정정한 내용이 내일 안 붙는 건 모델이 무시한 게 아니라, 학습할 수 없기 때문이다. 모델은 stateless다. 연속성은 컨텍스트 윈도우나 메모리 시스템 같은 외부에서 와야 한다. 모델이 모르는 걸 "가르치겠다"고 하는 건 한 번에 몇 달이 걸리는 재훈련 이야기고, 실무에서 당장 쓸 수 있는 레버는 컨텍스트뿐이다.

토큰은 모델이 읽고 쓰는 원자 단위다. 대략 영어 단어의 3/4 크기지만 정확하진 않다. 흔한 단어는 1 토큰이고, 드물거나 긴 단어는 여러 토큰으로 쪼개진다. 해시값 같은 건 토크나이저가 본 적이 없어서 수많은 조각으로 분해된다. 비용, 속도, 컨텍스트 윈도우 크기가 전부 토큰 단위로 측정된다. "단어"라고 말하면 안 되는 이유는 토큰 경계가 단어 경계와 다르기 때문이다. tokens-per-second, tokens-per-dollar가 실제로 의미 있는 단위다.

다음 토큰 예측(next-token prediction)은 모델이 하는 일의 전부다. 컨텍스트가 주어지면, 가능한 모든 토큰에 대해 확률을 계산하고, 하나를 샘플링해서 붙이고, 다시 실행한다. 문장도, 도구 호출도, 천 줄짜리 파일도 전부 한 토큰씩 만들어진다. 모델은 토큰이 참인지 확인하지 않고, 가능성이 높은지만 본다. 이게 환각(hallucination)의 근원이다. 버그가 아니라 기계의 필연적 결과다.

비결정성(non-determinism)도 같은 기계적 이유에서 온다. 같은 프롬프트에 같은 컨텍스트를 줘도 출력이 달라진다. 매 스텝마다 확률 분포에서 하나를 샘플링하기 때문인데, 항상 가장 가능성 높은 토큰만 고르면 반복적이고 품질이 떨어진다. 초반에 하나의 토큰이 다르면 이후 모든 토큰이 연쇄적으로 달라진다. 그래서 같은 작업을 여러 번 시도해보는 건 합법적인 전략이다. 실패한 시도는 분포에서의 한 번의 추출이고, 다시 시도하면 더 나은 결과가 나올 수 있다.

추론 effort는 모델이 답하기 전에 얼마나 깊이 생각할지 조절하는 다이얼이다. Low는 기계적 수정, Medium은 일상적 코딩, High는 까다로운 버그와 설계 결정, Max는 가장 어려운 문제용이다. effort를 높이면 더 많은 추론 토큰이 생성되고, 이는 output token으로 청구되면서 응답 대기 시간을 늘린다. 쉬운 작업에 Max를 걸면 불필요하게 기다려야 하고, 어려운 작업에 Low를 걸면 얕은 답이 나온다. 작업에 맞춰 조절해야지 세션 전체를 하나로 고정하면 안 된다.

섹션 3~4 — 도구, 환경, 그리고 실패하는 방식

모델은 환경(environment)과 직접 상호작용할 수 없다. 파일시스템에 접근하고, 명령을 실행하고, 웹을 탐색하는 건 전부 도구(tool)를 통해서다. 도구 호출(tool call)은 모델의 출력 스트림에서 하네스가 파싱해내는 구조화된 문자열이다. 모델이 "도구를 쓰겠다"고 결정하는 게 아니라, 다음 토큰 예측의 결과로 도구 호출 형식의 문자열이 만들어지면 하네스가 그걸 실행하는 구조다.

MCP(Model Context Protocol)는 도구를 표준화된 방식으로 노출하는 프로토콜이다. 에이전트마다 각자의 도구 인터페이스를 만들던 과거와 달리, MCP를 쓰면 하나의 도구 정의를 여러 에이전트에서 재사용할 수 있다. 권한 요청(permission request)과 권한 모드(permission mode)는 도구가 실행될 때 사용자가 통제할 수 있는 안전장치다. 샌드박스(sandbox)는 도구가 접근할 수 있는 범위를 제한한다.

실패 모드 중 가장 많이 오해받는 게 환각(hallucination)이다. 모델이 거짓말을 하는 게 아니라, 다음 토큰 예측의 기계적 결과로 "가능성이 높아 보이지만 사실이 아닌" 토큰 시퀀스가 만들어지는 것이다. 모델 내부에 사실 확인 메커니즘이 없다. 매개변수 지식(parametric knowledge)은 훈련에서 파라미터에 압축된 지식이고, 지식 절단(knowledge cutoff)은 훈련 데이터의 시점 한계다. 컨텍스트 지식(contextual knowledge)은 현재 세션에 주어진 정보고, 이게 모델의 실시간 판단 재료가 된다.

주의력 예산(attention budget)과 주의력 저하(attention degradation)는 컨텍스트가 길어질 때 품질이 떨어지는 이유를 설명한다. 모델은 컨텍스트의 모든 토큰에 균등하게 주의를 기울이지 않는다. 컨텍스트 윈도우가 차갔수록, 특정 정보에 대한 주의력이 희석된다. 스마트 존(smart zone)은 모델이 가장 정확하게 작동하는 컨텍스트 길이의 영역이다. 이 영역 안에서 일할 때 가장 좋은 결과가 나온다.

섹션 5~7 — 핸드오프, 메모리, 그리고 작업 패턴

에이전트 세션은 길어지면 컨텍스트가 꽉 찬다. 이때 압축(compaction)이 발생한다. 대화 내용을 요약해서 더 작은 토큰 수로 압축하고, 원본 대화는 버린다. 자동 압축(autocompact)은 하네스가 임계치에 도달하면 자동으로 실행하는 압축이다. 압축이 일어나면 정보가 손실된다. 중요한 맥락이 날아갈 수 있고, 그 결과 이후 대화의 품질이 떨어진다.

핸드오프(handoff)는 한 세션에서 다른 세션으로 작업을 넘기는 것이다. 이때 명세(spec)나 티켓(ticket) 같은 핸드오프 산출물(handoff artifact)이 필요하다. 일차 출처(primary source)는 원본 문서 그 자체이고, 이차 출처(secondary source)는 누군가의 요약이나 해석이다. 에이전트에게 이차 출처만 주면 게임에서 전화(game of telephone)처럼 정보가 왜곡된다. 원본을 주는 게 항상 낫다.

메모리 시스템(memory system)은 세션을 넘어서는 기억이다. AGENTS.md 파일은 에이전트가 매 세션 시작 시 읽는 프로젝트 지침서다. 점진적 공개(progressive disclosure)는 모든 정보를 한 번에 컨텍스트에 올리지 않고, 필요할 때만 로드하는 전략이다. 컨텍스트 포인터(context pointer)는 "이 파일을 참조해라"라는 간접 참조다. 스킬(skill)은 재사용 가능한 절차를 담은 파일이고, 서브에이전트(subagent)는 메인 에이전트가 작업을 위임하는 하위 에이전트다.

작업 패턴을 정의하는 용어들도 있다. 바이브 코딩(vibe coding)은 빠른 프로토타이핑 중심의 작업 방식이다. 그릴링(grilling)은 에이전트의 출력을 집요하게 검증하고 따져묻는 방식이다. human-in-the-loop는 사람이 개입해서 검토하는 구조고, AFK(away from keyboard)는 에이전트가 자율적으로 작업하는 구조다. 자동 검사(automated check)는 코드가 컴파일되는지, 테스트가 통과하는지 기계적으로 확인하는 것이고, 자동 리뷰(automated review)는 더 깊은 정적 분석을 의미한다. 사람이 직접 읽고 판단하는 건 인간 리뷰(human review)다. DX(Developer Experience)는 개발자 경험이고, AX(Agent Experience)는 에이전트 경험 — 에이전트가 얼마나 쉽게 도구를 쓰고 컨텍스트를 이해할 수 있는지를 가리킨다.