1. AI 활용 패러다임의 변화: 프롬프트 엔지니어링에서 컨텍스트 엔지니어링으로 [0]

thumbnail AI를 활용하는 방식이 단순히 질문을 잘하는 기술에서 AI가 최상의 결과를 내도록 환경 전체를 설계하는 방식으로 변화하고 있다.

1.1. 프롬프트 엔지니어링의 등장과 한계 [5]

  1. 트랜스포머 아키텍처의 등장과 LLM의 발전 [5]
    1. 2017년 구글의 트랜스포머 아키텍처는 기존 RNN, LSTM 모델의 장기 의존성 문제를 해결했다 [5].
    2. 트랜스포머의 어텐션 메커니즘은 모든 단어 간의 관계를 병렬적으로 한 번에 계산하여 이 한계를 극복했다 [7].
    3. 이 강력한 구조를 기반으로 버트(BERT), GPT와 같은 LLM(대규모 언어 모델)이 탄생했다 [7].
  2. 프롬프트 엔지니어링의 부상 [8]
    1. GPT-3 등장 이후 사람들은 AI를 더 잘 활용하는 방법을 고민하기 시작했다 [8].
    2. AI에게 어떤 명령어를 입력하느냐에 따라 답변의 품질이 크게 달라졌기 때문에 프롬프트 엔지니어링이 중요해졌다 [9].
    3. 한때 프롬프트 엔지니어는 LLM 성능을 극한까지 끌어내는 마법사처럼 여겨지며 유망 직업으로 주목받았다 [11].
  3. 프롬프트 엔지니어링의 기술적 한계 [12]
    1. 프롬프트의 취약성 문제 [13]
      1. 단어 하나, 조사 하나만 바꿔도 결과가 완전히 달라지며, 모델 업데이트 시 기존 프롬프트가 작동하지 않을 수 있어 안정적인 서비스 구축을 어렵게 했다 [14].
    2. 지식 단절 문제 [15]
      1. AI는 특정 시점까지의 데이터로만 학습하므로 최신 정보나 기업 내부 비공개 정보를 참조할 수 없었다 [16].
      2. 이로 인해 AI가 사실이 아닌 정보를 그럴듯하게 지어내는 환각(Hallucination) 현상을 일으키기 쉬웠다 [17].
    3. 개발자들은 완벽한 질문 하나를 만드는 것이 밑 빠진 독에 물 붓기일 수 있다고 깨달았다 [18].
    4. AI에게 질문만 던질 것이 아니라 답을 찾는 데 필요한 재료와 환경을 시스템적으로 제공해야 한다는 생각으로 전환이 필요했다 [20].

1.2. 컨텍스트 엔지니어링의 등장과 핵심 기술 [21]

  1. 컨텍스트 엔지니어링의 정의 [21]
    1. 컨텍스트 엔지니어링은 LLM이 주어진 일을 안정적으로 해결하도록 필요한 정보, 도구, 지시 사항을 하나의 묶음인 컨텍스트로 구성하여 동적으로 제공하는 시스템을 설계하는 모든 활동을 말한다 [22].
    2. 프롬프트 엔지니어링이 "이 질문에 똑똑하게 답해 봐"라고 말하는 것이라면, 컨텍스트 엔지니어링은 "여기 관련 매뉴얼 PDF 파일들과 실시간 주가 확인 API 도구, 그리고 방금까지의 대화 기록이 있어. 이걸 전부 참고해서 이 과업을 완수해 봐"라고 명령하는 것과 같다 [23].
    3. 사고방식이 "어떻게 질문할까?"에서 "AI가 성공하려면 무엇을 알아야 하고 무엇을 할 수 있어야 할까?"로 바뀌는 것이다 [25].
  2. 검색 증강 생성(RAG) 기술 [26]
    1. RAG는 컨텍스트 엔지니어링을 구현하는 대표적인 기술로, 환각 및 지식 단절 문제를 해결한다 [26].
    2. 사용자의 질문이 들어오면, 먼저 질문을 벡터로 변환하여 벡터 데이터베이스(Vector DB)에서 가장 유사한 데이터 조각들을 검색해 가져온다 [27].
    3. 검색된 사실 데이터를 원래 질문과 함께 긴 컨텍스트에 담아 LLM에 전달하여 답변을 생성하게 만든다 [28].
    4. 최근에는 LLM 스스로 검색 결과가 불충분하다고 판단하면 다른 검색을 하거나 여러 문서를 종합해 답변을 생성하는 코렉티브 RAG(Corrective RAG)와 같은 능동적인 연구도 활발히 진행되고 있다 [29].
  3. RAG 파이프라인 구축 프레임워크 [30]
    1. 랭체인(LangChain)이나 라마 인덱스(LlamaIndex) 같은 프레임워크는 복잡한 RAG 파이프라인 구축을 돕는 핵심적인 오픈 소스이다 [30].

2. 컨텍스트 엔지니어링 시대를 가능하게 한 AI 반도체 및 인터커넥트 기술 [31]

thumbnail 컨텍스트 엔지니어링은 방대한 정보를 실시간으로 처리할 수 있는 하드웨어 인프라 기술의 발전 덕분에 가능해졌다.

2.1. 대규모 컨텍스트 처리의 하드웨어적 도전과 해결책 [31]

  1. 트랜스포머 어텐션 메커니즘의 계산량 문제 [31]
    1. 트랜스포머의 어텐션 메커니즘은 컨텍스트 길이의 제곱에 비례하여 계산량이 폭증하는 특성이 있다 [31].
    2. 컨텍스트가 두 배 길어지면 계산량은 네 배, 열 배 길어지면 백 배로 늘어난다 [32].
    3. 이 어마어마한 어텐션 병목을 감당하는 것이 컨텍스트 시대를 연 하드웨어의 역할이다 [33].
    4. 최근 플래시 어텐션(FlashAttention) 같은 GPU 메모리 I/O 최적화 알고리즘이나 맘바(Mamba) 같은 새로운 아키텍처가 등장했지만, 여전히 대규모 컨텍스트 처리는 하드웨어의 힘에 절대적으로 의존한다 [34].
  2. 하드웨어 병목 현상 해결 기술 [35]
    1. GPU와 메모리 사이의 병목 해결: HBM3(고대역폭 메모리)가 초당 테라바이트급 데이터 전송 속도로 이 문제를 해결했다 [35].
    2. 서버 내 GPU 간의 병목 해결: NVLink는 GPU들을 직접 연결하여 PCI 익스프레스보다 수십 배 빠른 통신을 가능하게 하며, NV 스위치(NV Switch)는 이 링크들을 거미줄처럼 엮어 여덟 개의 GPU가 마치 하나의 거대한 GPU처럼 작동하게 한다 [37].
    3. 서버와 서버 사이의 병목 해결: 인피니밴드(InfiniBand)는 CPU를 거치지 않고 원격 서버의 메모리에 직접 접근하는 RDMA(Remote Direct Memory Access) 기술을 사용하여 이 문제를 해결했다 [38].
    4. 결국 컨텍스트 엔지니어링은 컨텍스트 윈도우가 커지면서 가능해졌고, 이는 HBM, NVLink, 인피니밴드라는 세 박자가 완벽하게 맞아떨어진 하드웨어 인프라 기술 위에서 탄생한 것이다 [39].

2.2. 컨텍스트 엔지니어링이 지향하는 미래: 에이전틱 AI [40]

  1. 에이전틱 AI의 개념 [40]
    1. 컨텍스트 엔지니어링이 지향하는 미래는 스스로 생각하고 행동하는 에이전틱 AI(Agentic AI)의 구현이다 [40].
    2. 에이전틱 AI는 단순히 답하는 것을 넘어 목표를 가지고 계획을 세우고, API 같은 도구를 사용하며, 스스로 피드백을 통해 결과를 수정해 나가는 자율적인 시스템이다 [41].
    3. 최근 코그니션 랩스(Cognition Labs)의 데빈(Devin), 스카이워크(Skywork), 오픈AI의 에이전트 모드 등이 대표적인 사례이다 [42].
  2. 데빈(Devin) 사례 [44]
    1. 데빈은 최초의 AI 소프트웨어 엔지니어를 표방하며, 사용자의 요구 사항을 바탕으로 스스로 코드를 짜고 웹 브라우저와 터미널을 오가며 소프트웨어를 개발하고 디버깅하는 모습을 보여주었다 [44].
    2. 이러한 에이전트가 제대로 작동하려면 자신의 임무, 계획, 사용 가능한 도구, 과거의 행동 기록 등 모든 상황을 실시간으로 인식해야 하며, 이 모든 정보가 바로 컨텍스트이다 [45].
  3. 리액트(ReAct) 프레임워크 [46]
    1. 스탠포드 대학에서 발표한 리액트 프레임워크는 에이전트가 "나는 지금 X라는 정보가 부족하니 Y라는 도구를 사용해 검색해야 해"와 같이 생각과 행동을 순차적으로 생성하며 작업을 수행하는 방식을 제안했다 [46].
    2. 이는 컨텍스트를 얼마나 정교하게 구성하고 제공하느냐가 에이전트의 성능을 좌우한다는 것을 명확히 보여준다 [46].
  4. 프롬프트와 컨텍스트의 차이 [47]
    1. 프롬프트가 에이전트에게 "출장 계획을 세워줘"라는 단 하나의 시작 명령이라면, 컨텍스트는 출장 규정, 항공권 검색 API, 내 캘린더 정보 같은 임무 수행에 기반이 되는 월드 모델(World Model) 그 자체를 제공하는 것이다 [47].
  5. 결론: 컨텍스트 엔지니어링의 중요성 [49]
    1. AI 개발의 패러다임이 프롬프트의 기교에서 컨텍스트의 아키텍처로 넘어가는 거대한 흐름이 진행 중이다 [49].
    2. 이는 프롬프트 엔지니어링의 명확한 한계를 극복하고 RAG와 같은 기술을 통해 더욱 안정적이고 신뢰도 높은 AI를 만들려는 필연적인 흐름이다 [50].
    3. 궁극적으로 컨텍스트 엔지니어링이 향하는 곳은 자율적인 AI 에이전트의 구현이다 [51].
    4. 문제를 자율적으로 풀기 위한 AI를 만들기 위해 하드웨어 인프라부터 소프트웨어 운영 알고리즘까지 인간이 인간과 같은 인공지능을 만들기 위해 달리고 있다 [52].