
어텐션 원리와 컨텍스트 윈도우를 활용해 엉뚱한 코드를 내뱉는 AI를 길들이는 실무 가이드
이 아티클은 디자인 시스템 코드 생성용 MCP 서버 개발 과정에서 겪은 LLM의 불일치 문제를 해결하기 위해, LLM의 작동 원리인 어텐션과 컨텍스트 윈도우를 다시 분석합니다. 프롬프트 작성 팁을 넘어 토큰 전체의 판을 짜는 '컨텍스트 엔지니어링'과 성공 기준을 제어하는 '하네스 엔지니어링'의 구체적인 실무 적용법을 다룹니다.
AI 코드 생성이나 프롬프트 자동화 파이프라인을 구축하려는 엔지니어에게 추천하며, AI의 일관성 없는 대답 때문에 고생하고 있다면 당장 컨텍스트에 담긴 노이즈를 쳐내고 성공 조건을 정량화하는 하네스를 설계할 것을 권장합니다.
디자인 시스템 규칙에 맞는 코드를 생성하도록 AI를 가이드하기 위해 가이드라인을 작성했으나, 생성 결과가 일관되지 않고 가이드를 완전히 무시하여 규칙에 어긋난 코드를 작성하는 문제가 발생했습니다.
LLM의 어텐션 메커니즘과 유한한 컨텍스트 윈도우의 작동 원리를 바탕으로, 정보를 최소화하여 전달하는 컨텍스트 큐레이션, 원자 단위의 명확한 지시문 분해, 사후 검증 규칙셋 도입(하네스 엔지니어링), 그리고 단계별 컴포넌트 선택 사다리 구조를 적용했습니다.
Figma 입력을 기반으로 반복 생성한 코드 분석 결과, 기존에 5회 실행 중 1~2회꼴로 발생하던 가이드 미준수 및 흔들림 빈도가 10회 중 1회 미만으로 크게 감소하였습니다.
Trade-off
다만 컨텍스트를 과도하게 정제하는 과정에서 핵심 제약 사항이 누락될 경우 하위 에이전트가 동일한 오류를 반복할 수 있으며, 최신 추론 모델에서 불필요하게 촘촘한 절차적 규정은 오히려 성능 저하를 유발할 수 있습니다.
LLM이 한 번에 처리하고 참조할 수 있는 작업 공간의 크기입니다. 시스템 프롬프트, 대화 이력, 외부 도구 출력, 그리고 현재 생성 중인 응답이 이 유한한 공간을 모두 공유하게 됩니다.
입력 데이터 내의 모든 단어가 서로 어떻게 연관되어 있는지 가중치를 계산하여 의미를 파악하는 방식입니다. 이를 통해 순차적이지 않고 전체를 한눈에 보며 문맥을 파악하지만, 텍스트가 너무 길어지면 집중력이 분산됩니다.
모델에게 특정 행동 절차를 강요하는 대신, 결과물이 통과해야 하는 구체적인 검증 규칙, 중단 조건, 또는 성공의 기준을 설정해 주는 프롬프팅 및 시스템 제어 설계입니다.




