일타 저스틴의 책 읽기 – Agentic Design Patterns – 1장. Prompt Chaining
자, 집중! 대한민국 최고의 AI 강의, 저스틴의 명품 AI 특강이 돌아왔습니다! 지난 시간에는 AI 에이전트가 무엇인지, 그 레벨별 진화 과정에 대해 알아봤죠. 오늘은 그 똑똑한 에이전트를 실제로 어떻게 ‘제대로’ 만들 수 있는지, 그 첫 번째 비법을 전수하겠습니다.
오늘 우리가 파헤쳐 볼 내용은 바로 “제1장: 프롬프트 체이닝(Prompt Chaining)” 입니다. 이 책의 저자가 가장 먼저 이 패턴을 소개하는 데는 다 이유가 있습니다. 가장 기본이면서도 가장 강력한 기술이기 때문이죠. 자, 그럼 출발합니다!
[저스틴의 AI 특강] LLM 조종술의 기본! ‘프롬프트 체이닝’으로 AI를 지배하라
안녕하세요, 수강생 여러분! 일타 강사 저스틴입니다.
오늘 강의는 **”제1장: 프롬프트 체이닝”**의 내용을 기반으로 진행됩니다. 저자는 이 패턴을 ‘파이프라인 패턴’이라고도 부르며, 복잡한 작업을 다루는 강력한 패러다임이라고 소개합니다. 저와 함께 그 개념부터 실전 적용까지 완벽하게 마스터해 봅시다.
1. 하나의 프롬프트, 그 명백한 한계
자, 여러분. 똑똑한 LLM에게 “시장 조사 보고서 분석해서, 핵심 내용 요약하고, 데이터 기반 트렌드 3가지 뽑아낸 다음, 그걸로 마케팅팀에 보낼 이메일 초안 작성해줘!” 라고 한 번에 요청하면 어떻게 될까요?
저자는 이런 ‘원샷’ 방식의 문제점을 명확히 지적합니다.
- 지시 사항 누락: 너무 많은 요구사항에 모델이 일부를 까먹습니다.
- 맥락 이탈: 작업이 길어지면서 처음의 핵심 맥락을 잃어버립니다.
- 오류 증폭: 초반의 작은 실수가 뒤로 갈수록 눈덩이처럼 커집니다.
- 환각 (Hallucination): 인지적 부담이 커지면서 없는 사실을 지어낼 확률이 높아집니다.
한마디로, 요약은 그럴듯하게 할지 몰라도, 정확한 데이터를 뽑아내거나 이메일 작성 같은 후반 작업에서 실패할 위험이 크다는 겁니다.
2. ‘분할하고 정복하라!’ 프롬프트 체이닝의 위력
이 문제에 대한 저자의 해법은 아주 간단하고 명쾌합니다. 바로 “분할하고 정복하라(Divide and Conquer)”! 이것이 프롬프트 체이닝의 핵심 철학입니다.
자, 이 부분은 별표 세 개! 프롬프트 체이닝이란, 거대하고 복잡한 문제를 한 번에 해결하려 하지 않고, 작고 관리 가능한 여러 개의 하위 문제로 나누어 순차적으로 처리하는 전략입니다. 그리고 가장 중요한 것은, 한 단계의 결과물(output)이 다음 단계의 입력(input)으로 연결된다는 점입니다.
아까 그 시장 조사 보고서 예시를 저자의 방식으로 다시 풀어볼까요?
- 1단계 (요약): “다음 시장 조사 보고서의 핵심 내용을 요약해줘: [보고서 텍스트]” -> 오직 ‘요약’에만 집중하니 정확도가 올라갑니다.
- 2단계 (트렌드 식별): “이 요약본을 사용해서, 떠오르는 트렌드 3가지와 각 트렌드를 뒷받침하는 구체적인 데이터를 추출해줘: [1단계 결과물]” -> 검증된 요약본을 기반으로 하니 더 안정적입니다.
- 3단계 (이메일 작성): “다음 트렌드와 데이터를 요약해서 마케팅팀에 보낼 간결한 이메일 초안을 작성해줘: [2단계 결과물]”
어떤가요? 각 단계가 훨씬 단순하고 명확해졌죠? 저자는 이것이 마치 공장의 생산 라인(파이프라인)과 같다고 설명합니다. 각 공정이 자기 일에만 집중하니 최종 결과물의 품질이 높아지는 원리입니다.
3. 튼튼한 체인을 만드는 비결: 구조화된 출력 (Structured Output)
그런데 이 체인이 끊어지지 않고 잘 작동하려면 아주 중요한 전제 조건이 있습니다. 바로 단계 간에 주고받는 데이터가 명확해야 한다는 것이죠.
자, 이 부분도 별표 세 개! 저자는 체인의 안정성이 단계 간에 전달되는 데이터의 무결성에 크게 의존한다고 강조합니다. 만약 2단계의 결과물이 애매모호한 문장 형태라면, 3단계에서 그 내용을 정확히 파악하기 어렵겠죠.
그래서 저자는 JSON이나 XML 같은 구조화된 형식으로 출력을 지정하는 것이 매우 중요하다고 말합니다. 예를 들어, 2단계의 결과물을 다음과 같은 JSON 형식으로 받도록 하는 겁니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "trends": [ { "trend_name": "AI 기반 개인화", "supporting_data": "소비자의 73%가 개인 정보를 활용하여 쇼핑 경험을 더 관련성 있게 만드는 브랜드를 선호함." }, { "trend_name": "지속 가능하고 윤리적인 브랜드", "supporting_data": "ESG 관련 제품 매출이 지난 5년간 28% 성장함." } ] } |
이렇게 하면 기계가 읽을 수 있고(machine-readable), 다음 단계에서 오류 없이 정확하게 데이터를 파싱해서 사용할 수 있습니다. 이것이 바로 견고한 멀티스텝 LLM 시스템을 만드는 핵심 비법입니다.
4. 프롬프트 체이닝, 어디에 써먹을까? (실용적 적용 사례)
저자는 이 패턴이 정말 다양하게 활용될 수 있다고 말합니다. 몇 가지 핵심적인 사례를 살펴볼까요?
- 정보 처리 워크플로우: 문서 요약 → 핵심 개체 추출 → 데이터베이스 쿼리 → 최종 보고서 생성
- 복잡한 질문 답변: “1929년 주식 시장 붕괴의 원인과 정부의 대응은?” 같은 질문을 ‘원인’과 ‘대응’이라는 하위 질문으로 나눠 각각 조사한 뒤, 종합하여 답변을 생성
- 데이터 추출 및 변환: 송장 같은 비정형 텍스트에서 이름, 주소, 금액 등을 추출하고, 만약 실패하면 빠진 정보를 다시 찾아오도록 조건부 프롬프트를 실행
- 콘텐츠 생성 워크플로우: 아이디어 생성 → 개요 작성 → 개요에 따라 문단별 초안 작성 → 전체 검토 및 수정
- 코드 생성 및 개선: 요구사항 분석 후 의사코드 작성 → 코드 초안 생성 → 오류 분석 → 코드 개선 → 문서 및 테스트 케이스 추가
이처럼 여러 단계를 거쳐야 하는 거의 모든 작업에 프롬프트 체이닝이 적용될 수 있습니다.
5. 프롬프트 엔지니어링을 넘어서: ‘컨텍스트 엔지니어링’의 시대
저자는 여기서 한 걸음 더 나아가, 아주 중요한 개념을 제시합니다. 바로 **’컨텍스트 엔지니어링(Context Engineering)’**입니다.
자, 오늘 강의의 하이라이트입니다. 별표 세 개!
단순히 질문(프롬프트)의 문구를 다듬는 것이 ‘프롬프트 엔지니어링’이라면, **’컨텍스트 엔지니어링’**은 AI 모델에게 완벽한 정보 환경 전체를 설계하고 구축하여 제공하는 체계적인 학문입니다. 저자는 모델의 성능이 모델 아키텍처 자체보다 제공되는 컨텍스트의 풍부함에 더 많이 좌우된다고 주장합니다.
여기에는 다음 정보들이 포함됩니다.
- 시스템 프롬프트: “너는 기술 작가야. 톤은 격식 있고 정확해야 해” 와 같이 AI의 역할을 정의하는 기본 지침
- 외부 데이터: 지식 베이스에서 검색해 온 문서나, API를 호출해 얻은 실시간 데이터(예: 사용자의 캘린더 일정)
- 암묵적 데이터: 사용자 신원, 과거 대화 이력, 현재 환경 상태 등
컨텍스트 엔지니어링은 단순히 질문에 답하는 것을 넘어, 에이전트를 위해 완벽한 작전 상황실을 만들어주는 것과 같습니다. 이 상황실의 정보를 바탕으로 에이전트는 훨씬 더 상황에 맞고, 개인화되고, 실용적인 결과물을 내놓게 됩니다.
강의를 마치며
자, 오늘 강의 정리하겠습니다.
오늘 우리는 LLM을 다루는 가장 근본적인 기술인 **’프롬프트 체이닝’**에 대해 배웠습니다. 핵심은 ‘분할하고 정복하라!’ 복잡한 작업을 잘게 쪼개고, 그 단계들을 체인처럼 연결하되, 구조화된 출력을 통해 안정성을 확보하는 것이 핵심이었습니다.
그리고 이 개념의 확장판인 **’컨텍스트 엔지니어링’**이야말로, 단순한 챗봇을 유능하고 상황을 인지하는 에이전트로 발전시키는 열쇠라는 것도 확인했습니다.
저자의 결론처럼, 프롬프트를 연결하는 이 기술의 숙달은 정교하고, 맥락을 이해하며, 복잡한 워크플로우를 안정적으로 실행할 수 있는 AI 시스템을 구축하는 데 매우 중요합니다.