DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 우아한형제들
  • Related reads#LLM
#AI

AI가 내 프롬프트를 흘려듣는 이유: 원리부터 다시 본 컨텍스트 엔지니어링

AI가 내 프롬프트를 흘려듣는 이유: 원리부터 다시 본 컨텍스트 엔지니어링
01

Summary

AI가 내 프롬프트를 자꾸 무시하나요? 범인은 프롬프트가 아니라 '컨텍스트'입니다

어텐션 원리와 컨텍스트 윈도우를 활용해 엉뚱한 코드를 내뱉는 AI를 길들이는 실무 가이드

이 아티클은 디자인 시스템 코드 생성용 MCP 서버 개발 과정에서 겪은 LLM의 불일치 문제를 해결하기 위해, LLM의 작동 원리인 어텐션과 컨텍스트 윈도우를 다시 분석합니다. 프롬프트 작성 팁을 넘어 토큰 전체의 판을 짜는 '컨텍스트 엔지니어링'과 성공 기준을 제어하는 '하네스 엔지니어링'의 구체적인 실무 적용법을 다룹니다.

  • 01LLM은 사람이 읽듯 순서대로 읽지 않고 어텐션 기반의 단어 간 관련도 가중치로 정보를 동시에 처리합니다.
  • 02컨텍스트 윈도우 중앙에 위치한 정보는 유실되기 쉬우며(Lost-in-the-Middle), 정보가 너무 많으면 어텐션이 희석됩니다.
  • 03모델의 '아첨 성향(Sycophancy)'을 극복하기 위해 유도신문을 피하고 약점이나 반례를 먼저 찾도록 지시해야 합니다.
  • 04최신 추론형 LLM에는 절차를 하나씩 떠먹이기보다 검증 가능한 '성공 기준(하네스)'과 원리 기반의 추상화된 규칙을 주어야 효과적입니다.
  • 05복잡한 지시문은 원자 단위로 쪼개고, 컴포넌트 선택 사다리(단계적 하강 구조)를 설계하여 일관된 코드 출력을 보장합니다.

+RECOMMENDATION

AI 코드 생성이나 프롬프트 자동화 파이프라인을 구축하려는 엔지니어에게 추천하며, AI의 일관성 없는 대답 때문에 고생하고 있다면 당장 컨텍스트에 담긴 노이즈를 쳐내고 성공 조건을 정량화하는 하네스를 설계할 것을 권장합니다.

The Problem

디자인 시스템 규칙에 맞는 코드를 생성하도록 AI를 가이드하기 위해 가이드라인을 작성했으나, 생성 결과가 일관되지 않고 가이드를 완전히 무시하여 규칙에 어긋난 코드를 작성하는 문제가 발생했습니다.

The Solution

LLM의 어텐션 메커니즘과 유한한 컨텍스트 윈도우의 작동 원리를 바탕으로, 정보를 최소화하여 전달하는 컨텍스트 큐레이션, 원자 단위의 명확한 지시문 분해, 사후 검증 규칙셋 도입(하네스 엔지니어링), 그리고 단계별 컴포넌트 선택 사다리 구조를 적용했습니다.

The Result

Figma 입력을 기반으로 반복 생성한 코드 분석 결과, 기존에 5회 실행 중 1~2회꼴로 발생하던 가이드 미준수 및 흔들림 빈도가 10회 중 1회 미만으로 크게 감소하였습니다.

Trade-off

다만 컨텍스트를 과도하게 정제하는 과정에서 핵심 제약 사항이 누락될 경우 하위 에이전트가 동일한 오류를 반복할 수 있으며, 최신 추론 모델에서 불필요하게 촘촘한 절차적 규정은 오히려 성능 저하를 유발할 수 있습니다.

03

Key Concepts

Concept · 01

컨텍스트 윈도우 (Context Window)

LLM이 한 번에 처리하고 참조할 수 있는 작업 공간의 크기입니다. 시스템 프롬프트, 대화 이력, 외부 도구 출력, 그리고 현재 생성 중인 응답이 이 유한한 공간을 모두 공유하게 됩니다.

  • 긴 세션이나 MCP 사용 시 정보가 누적되면서 이전 대화와 도구 결과가 유효 컨텍스트 공간을 차지하는 문제를 확인했습니다.
  • 정보가 중간 영역에 배치될 때 제대로 참조하지 못하는 'Lost in the middle' 현상이 발생하므로 핵심 지시는 맨 앞이나 맨 뒤에 두어야 함을 설명했습니다.
Concept · 02

어텐션 메커니즘 (Attention Mechanism)

입력 데이터 내의 모든 단어가 서로 어떻게 연관되어 있는지 가중치를 계산하여 의미를 파악하는 방식입니다. 이를 통해 순차적이지 않고 전체를 한눈에 보며 문맥을 파악하지만, 텍스트가 너무 길어지면 집중력이 분산됩니다.

  • 가이드라인에 너무 많은 정보나 쓸모없는 텍스트가 들어가면 어텐션이 분산되어 올바른 구현을 무시하게 되는 원인임을 지목했습니다.
  • 유사한 형식을 학습하는 어텐션 내 'Induction Heads' 원리를 설명하며, Few-shot 예시는 로직 학습이 아닌 형식 고정용으로만 사용하도록 제한했습니다.
Concept · 03

하네스 엔지니어링 (Harness Engineering)

모델에게 특정 행동 절차를 강요하는 대신, 결과물이 통과해야 하는 구체적인 검증 규칙, 중단 조건, 또는 성공의 기준을 설정해 주는 프롬프팅 및 시스템 제어 설계입니다.

  • 생성된 코드를 사후에 점검하는 16가지 규칙의 사후 검증 규칙셋을 도입하여 오동작을 최소화했습니다.
  • 완성형 컴포넌트에서 로우(raw) 스타일로 직행하지 않도록 표준 빌딩블록과 토큰 단계를 순차적으로 거치는 '컴포넌트 선택 사다리'를 정의했습니다.
Continue reading · same source

우아한형제들More from 우아한형제들

View all posts from 우아한형제들
  • 한 번 성공하니 다음도 쉬울 줄 알았다: 최소주문금액바 4번의 A/B실험

    AB TestingConversion RateUX Design
    1주 전
  • 사람도 AI도 놓친 번역 누락, ESLint 플러그인을 만들어 해결하기

    ESLintASTi18n
    2주 전
  • 우아한공방의 새로운 동료, 시스템 맥락을 가진 챗봇서비스 개발기(feat. RAG)

    AWS BedrockRAGLangChain
    1개월 전
  • 하네스 엔지니어링(harness engineering)으로 팀 맞춤형 AI 환경 구축하기

    CursorLLMHarness Engineering
    2개월 전
  • 5년 동안 못 푼 배민 다국어 숙제, AI와 함께 한 달 만에 끝내기

    LLMAWS BedrockSpring AI
    3개월 전

Related reads#LLM

Explore #LLM
포스타입·Claude Code

AI 코드 리뷰, 3번 갈아엎고 배운 것

#LLM12시간 전
NAVER D2·LLM as a Judge

[AI 해커톤 후기] 코드와 문서만 읽은 LLM은 어떻게 사람과 같은 팀을 1위로 골랐을까

#LLM23시간 전
왓챠

왓챠 직원 누구나 AI 앱을 만들 수 있게 된 이유

#LLM6일 전
Samsung Tech

전문가를 넘어선 AI – 5G vRAN 추론 코드 자동 생성을 위한 Multi-Agent 컴파일러

#LLM6일 전
NAVER D2·AI Agent

AI 에이전트 회사 차리기: 설립부터 어디서든 동기화까지

#LLM1주 전

Source

우아한형제들
우아한형제들
Engineering Blog

Published · July 7, 2026

Topics

LLMPrompt EngineeringContext WindowModel Context ProtocolAttention Mechanism