ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프롬프트의 시대를 넘어 '컨텍스트 엔지니어링
    AI 2026. 3. 20. 15:33

    단순히 질문(Prompt)을 잘 던지는 것만으로 AI를 마스터하는 시대는 끝났습니다. 이제는 AI가 최적의 판단을 내릴 수 있도록 정보의 환경과 흐름을 설계하는 '컨텍스트 엔지니어링(Context Engineering)'의 능력이 핵심 경쟁력입니다.

    오늘은 프롬프트의 기본기인 4대 프레임워크부터, 이를 지탱하는 하드웨어 혁신, 그리고 미래의 에이전틱 AI까지 하나로 묶어 정리해 보겠습니다.

     

    AI의 작업 기억: 컨텍스트 윈도우(Context Window)

    AI에게는 사람의 단기 기억과 같은 컨텍스트 윈도우가 있습니다. 모델이 한 번에 이해할 수 있는 정보의 양(토큰)을 의미하며, 최근에는 수백만 토큰까지 확장되었습니다. 하지만 무작정 많이 넣는 것이 답은 아닙니다.

    • 배치의 미학: 모델은 정보의 앞과 뒤를 더 잘 기억합니다(Primacy & Recency Effect). 핵심 지시 사항은 서두나 결론에 배치하는 것이 효율적입니다.
    • 비용과 속도: 컨텍스트가 길어질수록 연산 비용이 늘어나고 응답 속도가 느려집니다. 따라서 필요한 정보만 골라 담는 '엔지니어링'이 필수적입니다.

    프롬프트 엔지니어링이 단순히 "말을 잘하는 기술"을 넘어 "컨텍스트 엔지니어링"으로 진화한 이유는 바로 컨텍스트 윈도우라는 물리적 한계를 극복하고 최적화하기 위함입니다.

    AI는 어떻게 질문하냐에따라 결과물의 수준이 천차만별입니다.

     

    Prompt Engineering

    프롬프트엔지니어링의 핵심요소는 역할, 맥락, 목표, 형식입니다. 이것을 이루기 위해서 대표적인 프롬프트 엔지니어링 프레임워크 몇개가 있습니다. 이것은 AI에게 구조화된 지시를 내리기 위한 '설계도'입니다. 상황에 맞는 프레임워크를 선택하면 AI의 답변 품질이 비약적으로 향상됩니다.

     

    R-A-C-E: 범용적으로 가장 강력한 구조

    가장 대중적이고 효과적인 프레임워크입니다. AI에게 특정한 '페르소나'를 부여하고 명확한 목표를 줄 때 사용합니다.

    • Role (역할): AI의 정체성 부여 (예: 10년 차 시니어 파이썬 개발자)
    • Action (행동): 수행할 작업 (예: 코드 리뷰를 수행하고 버그를 찾아줘)
    • Context (맥락): 작업에 필요한 배경 지식이나 제약 사항 (예: 이 코드는 실시간 트래픽을 처리하는 API 서버야)
    • Expectation (기대 결과): 원하는 출력 형식 및 톤 앤 매너 (예: 표 형식으로 정리하고, 개선된 코드를 포함해줘)

    [예시]
    "(Role) 너는 시니어 데이터 과학자야.
    (Action) 이 가상 화폐 데이터셋의 이상치를 탐지하는 파이썬 코드를 작성해줘.
    (Context) 데이터는 시계열 데이터이며 결측치가 포함되어 있어.
    (Expectation) 결과는 주석이 달린 코드와 탐지 알고리즘을 선택한 이유를 포함해야 해."

     

     

    R-I-S-E: 복잡한 워크플로우 해결용

    문제 해결의 '단계'가 중요할 때 사용합니다. 구조적이고 문제 해결 중심으로 작성하기 위한것입니다.

    논리적 사고(Chain-of-Thought)를 유도하기에 좋습니다.

    • Role (역할): 전문가 설정 (예: 기술 전략 컨설턴트)
    • Identity (정체성/대상): 무엇에 대해 다루는지 명확히 규정 (예: 중소기업을 위한 AI 도입 전략)
    • Steps (단계): AI가 따라야 할 논리적 순서 (예: 1. 시장 분석, 2. 리스크 평가, 3. 실행 로드맵 작성)
    • Expectation (기대 결과): 최종 보고서의 형태

    [예시]
    (Role)"너는  MLOps 아키텍트야.
    (Identity) 우리 회사의 수동 배포 프로세스를 자동화하려고 해.
    (Steps) 먼저 현재 문제점을 분석하고, 추천하는 도구를 나열한 뒤, 최종 CI/CD 파이프라인 구조를 제안해줘.
    (Expectation) 비즈니스 결정권자가 이해할 수 있게 요약본을 포함해줘."

     

    S-T-A-R: 성과 분석 및 리포트 최적화

    원래 채용 면접 기법으로 유명하지만, AI에게 과거 데이터를 분석시키거나 사례 연구(Case Study)를 작성하게 할 때 매우 강력합니다.
    특히, 마켓팅 성과검토, 업무보고, 면접답변에 유용합니다.

    • Situation (상황): 배경 설명 (예: 지난달 서버 장애가 발생했음)
    • Task (과제):  검토가 필요한 작업을 설명 (예: 가동 중단 시간을 최소화하고 원인을 파악해야 했음)
    • Action (행동): 실제 수행한 조치 (예: 로그 분석 및 DB 인덱스 최적화 수행)
    • Result (결과): 수치화된 성과 (예: 응답 속도 30% 개선, 재발 방지책 마련)

    [예시]
    (Situation) 최근 광고 캠페인이 기대보다 약한 결과를 냈어
    (Task) 타겟팅, 메시지, 크리에이티브 선택을 평가해줘.
    (Action) 새로운 세그먼트와 단순화된 카피를 테스트했어."
    (Result) 전환율이 올라가고 리드당 비용이 낮아졌어."

     

    S-O-A-P: 전략 기획 및 운영 관리용

    의료계의 경과 기록 방식에서 유래되었습니다. 명확한 목표설정과 실행계획에 특환된 프레임워크입니다.

    현재 상태를 진단하고 구체적인 '실행 계획'을 뽑아낼 때 유용합니다. 특히 온보딩, UX 설계, 프로덕트 기획등에 유용합니다

     

    • Subject (주제): 다루고자 하는 핵심 안건 (예: 팀 내 코드 퀄리티 저하 문제)
    • Objective (목표): 달성하고자 하는 정량적/정성적 목표 (예: 코드 리뷰 승인 시간 24시간 이내 단축)
    • Action (행동): 구체적인 실행 방안 (예: 정적 분석 도구 도입, 페어 프로그래밍 주 1회 실시)
    • Plan (계획): 향후 일정 및 로드맵 (예: 다음 주 월요일부터 시범 운영 시작)

    [예시]
    "(Subject) 신규 프로젝트의 보안 강화 안건에 대해,
    (Objective) OWASP Top 10 보안 위협을 모두 방어하는 것을 목표로 설정해.
    (Action) 보안 취약점 스캔 도구 적용과 인증 로직 강화를 수행할 거야.
    (Plan) 이를 바탕으로  4주간의 보안 고도화 일정을 짜줘."

     

     

     

    G-R-O-W: 코칭 및 문제 해결용

    비즈니스 코칭 모델에서 유래되었습니다. 목표설정과 실행의지에 특화되었습니다.
    막연한 문제를 구체화하고 AI와 함께 브레인스토밍하며 최적의 대안을 찾을 때 유용합니다.

    • Goal (목표): 최종적으로 얻고 싶은 결과 (예: 올해 안에 앱 다운로드 10만 달성)
    • Reality (현실): 현재의 상황과 장애물 (예: 현재 1만 건, 마케팅 예산 부족)
    • Options (대안): 가능한 해결책들 (예: SNS 바이럴, 인플루언서 협업, 추천 이벤트)
    • Will (실행): 즉시 실행할 첫 단계 (예: 다음 주까지 SNS 광고 시안 제작)
    [예시]
    "(Goal) 앱 로딩 속도를 2초 이내로 줄이고 싶어.
    (Reality) 현재 5초이며 메인 페이지 이미지가 무거워.
    (Options) 이미지 압축, CDN 도입, 지연 로딩 등 대안을 제시해줘.
    (Will) 그중 가장 비용 효율적인 것부터 실행 계획을 세워줘."

     

    C-L-E-A-R: 학습과 평가 중심용

    지시문 명확화 및 정제에 사용되며, 특히 제품 출시, 교육 설계, 성과 검토에 매우 유용한 학습/평가 중심 프레임워크입니다.

    • Context (맥락): 필수적인 배경 정보 제공 (예: "새로운 워크플로우 툴을 출시할 준비 중이야.")
    • Learn (학습): 이해가 필요한 내용을 명확히 함 (예: "팀이 간단한 작업 흐름에서 필요한 것을 설명해줘.")
    • Evaluate (평가): 성공을 측정하는 방법 정의 (예: "가입 수, 사용량, 첫 주 유지율을 추적해줘.")
    • Action (행동): 취해야 할 단계들을 나열 (예: "마찰을 줄이는 온보딩 아이디어 3가지를 만들어줘.")
    • Review (검토): 핵심 내용 요약 및 피드백 (예: "출시 전에 개선할 부분을 강조해줘.")
    [예시]
    (C) 구독형 AI 서비스를 런칭할 거야.
    (L) 타겟 유저인 2030 개발자들이 생산성 툴에서 가장 중요하게 생각하는 가치를 분석해줘.
    (E) 초기 이탈률을 5% 미만으로 잡는 것을 성공 지표로 해.
    (A) 이를 위해 필수적인 핵심 기능 3가지만 제안해줘.
    (R) 마지막으로 서비스의 잠재적 리스크를 검토해줘.

     

    Context Engineering

    프롬프트 엔지니어링이 좋은 질문을 만드는 기술이라면, 컨텍스트 엔지니어링은 AI가 최적의 성능을 내도록 전체 정보환경을 설계하는 기술입니니다. 즉, 프롬프트가 대사한줄이라면, Context는 무대 전체 설계입니다.

    🛠️ 컨텍스트 엔지니어링의 3대 구성 요소

    AI가 최적의 결과를 내기 위해 컨텍스트 윈도우 안에 구성해야 할 세 가지 기둥입니다.

    1. 인스트럭션 (Instruction / Induction) — "어떻게 행동할 것인가?"

    • 정의: AI의 페르소나와 작업 규칙, 사고 방식을 규정하는 지침입니다.
    • 역할: AI에게 '너는 누구이며, 어떤 논리적 단계를 거쳐 답해야 하는가'를 알려줍니다. 앞서 다룬 R-A-C-ES-O-A-P 같은 프레임워크가 바로 이 인스트럭션을 구조화하는 방법론입니다.
    • 핵심: AI가 스스로 판단할 수 있는 '추론의 가이드라인'을 제공하는 것입니다.

    2. 지식 (Knowledge) — "무엇을 알고 있는가?"

    • 정의: AI의 내부 학습 데이터 외에, 작업을 위해 추가로 제공되는 외부 데이터입니다.
    • 역할: RAG(검색 증강 생성)를 통해 가져온 문서 조각, 기업 내부 DB, 혹은 사용자의 이전 대화 기록 등이 여기에 해당합니다.
    • 핵심: AI의 고질적인 문제인 할루시네이션(환각)을 방지하고, 최신성 및 전문성을 보완하는 '참고서' 역할을 합니다.

    3. 도구 (Tool) — "무엇을 할 수 있는가?"

    • 정의: AI가 스스로 해결할 수 없는 작업을 처리하기 위해 외부 시스템과 연결되는 통로입니다.
    • 역할: 파이썬 코드 실행기(Interpreter), 최신 웹 검색, 외부 API 호출(날씨, 주가, DB 조회) 등이 포함됩니다.
    • 핵심: AI가 텍스트 생성을 넘어 실질적인 '액션' 을 취할 수 있게 만드는 에이전틱 AI(Agentic AI)의 핵심 요소입니다.

    🚀 컨텍스트 엔지니어링: 4대 핵심 전략

    방대한 데이터 속에서 AI가 길을 잃지 않도록 만드는 4가지 설계 전술입니다.

    Write (쓰기) — 정보보전 

    작업중 필요한 정보를 컨텍스트 윈도우 밖에 미리 저장해두어, 나중에 다시 불러올수 있도록 보존하는전략
    단순히 머릿속(Context Window)에서만 생각하는 게 아니라, 나중을 위해 중요한 정보를 외부 저장소에 기록하는 전략입니다.

    • 정의: AI의 작업 기억 공간(Scratchpad)에 추론 단계나 중간 데이터를 명시적으로 적게 함으로써 논리적 오류를 줄이는 방식입니다.
    • 핵심 기술: Long-term Memory, 벡터 DB 저장, 상태 보존(State Persistence).
    • 이점: 대화가 길어져 컨텍스트가 넘치더라도 과거의 중요한 맥락을 잃지 않으며, 여러 세션에 걸쳐 일관된 답변을 제공할 수 있습니다
    • 활용:
      • ChatGPT Memory: 유저와의 대화 중 중요한 사실을 기억해 두었다가 다음 대화에 반영.
      • Cursor/Windsurf: 프로젝트 전체 구조를 인덱싱하여 파일 간 맥락을 유

    Select (선택) — 정보의 정밀 타격

    모든 데이터를 다 주는 대신, 현재 질문과 가장 관련성이 높은 정보만 골라서 주입하는 '정보 스나이퍼' 전략입니다.

    • 정의: 방대한 지식 베이스(DB, 문서)에서 시맨틱 검색을 통해 최적의 컨텍스트 조각(Chunk)을 선별하여 제공하는 방식입니다.
    • 핵심 기술: RAG (Retrieval-Augmented Generation), 벡터 데이터베이스(Vector DB), 시맨틱 필터링.
    • 지식 선택: AST 파싱(코드 구조 분석), 임베딩, 지식 그래프를 활용한 정교한 데이터 선별.
    • 이점: 컨텍스트 윈도우 낭비를 막고, 최신 정보나 기업 내부 데이터를 바탕으로 답변하게 하여 할루시네이션(환각)을 획기적으로 줄입니다.

    Compress (압축) — 효율적인 토큰 다이어트

    정보의 핵심 의미는 유지하면서 토큰의 양을 최소화하여 AI의 처리 효율을 높이는 전략입니다.

    • 정의: 긴 대화 이력이나 방대한 문서를 핵심 요약본으로 변환하거나, 중복된 정보를 제거하여 컨텍스트 공간을 확보하는 방식입니다.
    • 핵심 기술: 요약(Summarization), 프롬프트 트리밍(Trimming), 토큰 최적화 알고리즘.
    • 이점: 토큰 사용료를 절감하고 AI의 응답 속도를 높이며, 더 긴 맥락의 대화를 끊김 없이 이어갈 수 있게 합니다.
    • 활용 예: Claude Code auto-compact

    Isolate (격리) — 전문성과 보안의 분리

    여러 작업이나 정보가 서로 뒤섞이지 않도록 독립된 환경을 만들어 주는 전략입니다.

    • 정의: 특정 역할이나 민감한 데이터를 별도의 컨텍스트로 분리하여, 정보 간섭(Instruction Leakage)이나 보안 사고를 방지하는 방식입니다.
    • 핵심 기술: 멀티 에이전트 시스템(Multi-agent), 샌드박스 환경, 상태객체
    • 이점: 각 에이전트가 자신의 전문 분야에만 집중하게 하여 복잡한 협업 작업을 안정적으로 수행하며, 데이터 오염 리스크를 최소화합니다.

    바이브 코딩 (Vibe Coding)

    최근 안드레 카파시(Andrej Karpathy)와 같은 대가들이 언급하며 유명해진 단어입니다. 개발자가 로우 레벨(Low-level)의 문법이나 세부 로직에 매몰되지 않고, 고차원적인 의도와 아키텍처(Vibe)를 전달하여 코드를 생성하는 방식을 말합니다.

    • 작업 방식: "이 부분은 이런 느낌(Vibe)으로 구현해줘", "A 라이브러리 스타일로 전체 구조를 잡아줘"처럼 자연어와 고수준의 설계 의도를 중심으로 대화하며 코딩합니다.
    • 핵심 도구: Cursor, Windsurf 등 AI 에이전트 기반 IDE.
    • 왜 '바이브'인가?: 이제 코드를 '치는' 행위보다, AI에게 어떤 방향성을 줄 것인지 결정하는 '기획력'과 '검수 능력'이 더 중요해졌기 때문입니다.
      • 개발자는 전체적인 '무드(Vibe)'와 '설계'를 잡고, 노가다 코딩은 AI 에이전트가 수행합니다.

    둘의 상관관계: 컨텍스트가 없으면 바이브도 없다

    바이브 코딩이 제대로 작동하려면 컨텍스트 엔지니어링이 선행되어야 합니다.

    1. 컨텍스트는 연료: AI 에이전트(Cursor 등)가 프로젝트 전체 코드의 맥락(AST 파싱, 임베딩 등)을 정확히 알고 있어야(Select 전략), 사용자의 추상적인 '바이브'를 구체적인 코드로 구현할 수 있습니다.
    2. 아키텍처 설계자: 바이브 코더는 이제 단순 타이피스트가 아니라, 컨텍스트를 설계하고 조율하는 아키텍트가 됩니다.

    정리하자면

    • 컨텍스트 엔지니어링: "AI가 무엇을 보고(Knowledge), 어떻게 생각하고(Instruction), 무엇을 쓸지(Tool) 설계하는 시스템 구축"
    • 바이브 코딩: "설계된 컨텍스트 위에서 개발자가 방향성만 제시하며 제품을 만들어가는 새로운 개발 경험"

    즉, 에이아이에게 충분한 Context를 넘겨주면서 요청을해야하는것입니다.
    아래 좀더 디테일하게 보겠습니다.

     

    엔지니어의 설계 (Context Engineering)

    AI에게 넘겨줄 '가이드라인(판)'을 미리 준비하는 과정입니다.

    • Knowledge (무엇을 보고): * "단순 뉴스 말고, 내가 지정한 FRED의 금리 데이터yfinance의 배당 이력만 정답으로 간주해." (Select 전략)
    • Instruction (어떻게 생각하고): * "무조건 오를 거라는 낙관론은 버려. S-O-A-P 프레임워크에 맞춰서 '현재 상태 진단 -> 목표 설정 -> 실행 계획' 순으로 논리를 전개해." (프레임워크 주입)
    • Tool (무엇을 쓰고): * "수익률 계산은 네 머릿속 암산 말고, 무조건 파이썬 Pandas를 써서 검증해." (Tool 부여)

    에이전트에게 넘겨주기 (The Handoff)

    이렇게 설계된 정보를 AI(예: Cursor, ChatGPT)에게 넘겨주는 방식은 보통 세 가지입니다.

    1. 시스템 프롬프트 / .cursorrules: 프로젝트 폴더에 아예 규칙을 박아버리는 것. (Write 전략)
    2. RAG (문서 주입): 관련 논문이나 API 문서를 채팅창에 첨부하는 것.
    3. 첫 번째 지시: 대화를 시작할 때 "너는 이런 규칙과 지식을 가진 전문가야"라고 선포하는 것.

    그 다음이 바로 '바이브 코딩' (Vibe Coding)

    판이 깔렸으니, 이제 제임스님은 세세한 코딩 지시를 할 필요가 없습니다.

    사용자: "야, 지금 금리가 심상치 않아. 우리 리츠 포트폴리오의 리스크를 '공포(Panic)' 수준으로 잡고 모델 다시 튜닝해봐."

    AI의 반응: 미리 주입된 **Knowledge(금리 데이터)**를 확인하고, **Instruction(보수적 관점)**에 따라 생각한 뒤, **Tool(파이썬)**로 시뮬레이션을 돌려 결과를 가져옵니다.

    • 사용자 코드를 한 줄도 안 짰지만, 본인의 **투자 철학(Vibe)**이 완벽히 반영된 프로그램이 완성되는 거죠.

     

Designed by Tistory.