👉 Baseline: 프롬프트 체이닝에 대해 소개해요. 👉 Playground: 프롬프트 체이닝을 이용해 일 시키는 예시를 만들었어요. 👉 What's News?: 최신 뉴스들을 큐레이팅했어요.
“하 이걸 언제 다 설명하지? 차라리 내가 빨리 해버리는 게 낫지.”
일은 계속 쌓여가고, 빨리 끝내야 하는데, 시간은 없고. 그 와중에 내가 하는 것과 똑같은 퀄리티로 일을 처리해달라고 요청해야 할 때. 종종 이런 생각을 했습니다. 잘 알려주는 것이 더 어렵다는 것을요. 아무것도 모르는 사람에게 새로운 일을 하나하나 설명하고 규칙을 알려주는 것은 생각보다 광범위하고 고된 일입니다. 나에게는 너무나 익숙해서 당연하게 넘어갔던 일도 상대방에게는 전혀 예상치 못한 일이 될 수 있기 때문이죠.
요즘 AI를 쓸 때에도 가끔 이런 생각이 들곤 합니다. AI를 이용해 정말 사람이 만든 것처럼 좋은 결과물을 얻고 싶을 때에요. 어디서부터 어디까지 설명해야하는지조차 헷갈리는 순간들이 있습니다. 어떻게 하면 좋을까요? 오늘은 그 단초가 될 기법에 대해 소개해드립니다. 바로 프롬프트 체이닝이라는 기술입니다.
# Prompt Chaining(프롬프트 체이닝)
프롬프트 체이닝에서 체인은 말 그대로 연결고리입니다. (너와 나의 연결 고리~) 원래대로라면 하나의 긴 프롬프트에 모든 지시사항을 꼭꼭 담아 넣은 뒤 답변을 받았을텐데요. 프롬프트 체이닝은 프롬프트를 여러 개로 쪼개어 연결시켜줍니다. 즉, 복잡한 작업을 단순하고 관리하기 쉬운 하위 작업으로 나눈 뒤 연쇄적으로 일어날 수 있도록 연결시킨 것을 프롬프트 체이닝이라고 합니다.
어떻게 연결하나요?
프롬프트를 연결하기 위해 각 단계에서 나온 답변이 다음 단계의 입력으로 들어가도록 설계합니다. 첫 번째 프롬프트에서 나온 답변이 두 번째 프롬프트의 입력으로 들어가고, 두 번째 프롬프트에서 나온 답변이 다음 세 번째 프롬프트의 입력으로 들어가는 식으로요. 각 단계의 답변이 자연스럽게 이어질 수 있도록 정교한 설계가 필요합니다.
프롬프트 체이닝을 사용하면 긴 흐름을 가진 작업에서도 각 단계마다 맥락을 유지할 수 있습니다. 덕분에 품질이 향상되고요. 문제를 단계적으로 처리하니 오류도 줄어들게 됩니다. 또한 각 단계마다 출력이 나오기 때문에 중간 출력물을 살펴볼 수 있다는 점도 중요합니다. 중간 출력물이 마음에 들지 않는다면 그 부분의 프롬프트만 수정할 수 있고요. 체인 구조가 검증된다면 비슷한 다른 작업에서도 재활용할 수 있습니다. 이렇게 좋은 점이 많은 고급 기법이지만, 단점 역시 존재합니다.
프롬프트 체이닝을 설계할 때 생각보다 굉장한 시간과 노력이 들어갑니다. 이때 바로 “그냥 내가 하고 말지…”라는 생각이 들 수 있는 시점이고요. API를 여러 번 호출하게 되니 비용이 올라갈 수도 있습니다. 하지만, 제대로만 만들 수 있다면 활용 가능성이 무궁무진하다는 점! 프롬프트 체이닝은 현재 AI 에이전트 개발의 핵심 기술로 자리잡고 있습니다. 참고로 LangChain, AutoGPT와 같은 프레임워크 역시 프롬프트 체이닝을 체계적으로 구현한 프레임워크라고 할 수 있습니다.
# 프롬프트 체이닝을 활용해 더 나은 요약문 만들기
전문적인 문서 요약 서비스를 만든다고 가정해보겠습니다. 단순히 문서를 첨부하고 “이거 요약해줘”라고 하는 것보다 훨씬 더 세부적인 과정이 필요한데요. 프롬프트 체이닝을 활용해 작업을 나눌 수 있습니다.
1단계는 문서의 구조를 분석하는 단계입니다. 구조를 분석하기 위한 프롬프트를 입력하고, 구조화된 형식으로 출력을 받습니다. 예를 들면 다음과 같이 작성할 수 있습니다. (배경색이 하늘색인 부분은 모두 프롬프트 예시입니다.)
다음 문서의 구조를 분석해주세요:
[원본 문서 텍스트]
분석 결과를 다음 형식으로 제공해주세요:
1. 문서 유형: (논문/보고서/기사/백서 등)
2. 주요 섹션 목록:
- 섹션명: 중요도 (High/Medium/Low)
- 핵심 키워드 3개
3. 전체 문서의 주제와 목적
4. 예상 독자층
5. 요약 시 중점적으로 다뤄야 할 부분 (우선순위 순)
두 번째 단계에서는 핵심 내용을 추출합니다. 1단계에서 출력값으로 나온 분석 결과를 넣고, 내용을 바탕으로 핵심 내용을 추출하게 합니다.
1단계 분석 결과:
[1단계 출력 결과]
위 분석을 바탕으로 다음 우선순위에 따라 핵심 내용을 추출해주세요:
우선순위 High 섹션들로부터:
- 가장 중요한 사실 또는 발견 3개
- 핵심 수치나 데이터 포인트
- 주요 결론이나 주장
우선순위 Medium 섹션들로부터:
- 맥락을 이해하는 데 필요한 배경 정보
- 보조적 데이터나 근거
각 내용에 대해 다음 형식으로 정리해주세요:
- 내용: [핵심 내용]
- 중요도: [1-5점]
- 근거: [해당 섹션의 구체적 내용]
세 번째 단계에서는 요약문의 초안을 작성합니다.
2단계에서 추출한 핵심 내용:
[2단계 출력 결과]
이 내용을 바탕으로 다음 구조의 요약문을 작성해주세요:
구조:
1. 한 줄 요약 (25자 이내)
2. 핵심 내용 (150-200자)
3. 주요 성과 또는 발견 (100-150자)
4. 의미와 전망 (100-150자)
작성 원칙:
- 중요도 5점 내용을 반드시 포함
- 구체적인 수치나 데이터 활용
- 전문 용어는 필요시 간단히 설명
- 객관적이고 사실 중심의 서술
- 독자층을 고려한 깊이 조절
마지막 단계에서는 요약문을 검토하고 수정합니다.
3단계에서 작성한 요약문 초안:
[3단계 출력 결과]
다음 기준으로 요약문을 정제해주세요:
검토 항목:
1. 정확성: 수치나 사실의 정확성 확인
2. 일관성: 섹션 간 논리적 연결성 확인
3. 가독성: 문장 구조와 표현의 명확성
4. 완성도: 빠진 중요 정보가 있는지 확인
5. 길이: 각 섹션이 지정된 글자 수 범위 내에 있는지 확인
개선 사항:
- 어색한 표현이나 중복 제거
- 전문 용어의 적절한 사용
- 논리적 흐름 개선
- 핵심 메시지 강화
정제된 버전을 제공하고, 주요 수정 사항을 간단히 설명해주세요.
이처럼 여러 단계에 거쳐 요약문을 만들어가게 한다면 한번에 만드는 것보다 훨씬 더 안정적이고 퀄리티 높은 결과물을 얻어낼 수 있습니다.
프롬프트 체이닝은 복잡한 작업을 단계별로 나누어 해결할 때 외에도, 심층적인 정보를 탐색하거나 분석할 때, 여러 작업을 순차적, 병렬적으로 처리할 때, 사용자 맞춤형 응답이나 대화를 이어나가야 할 때에도 사용될 수 있습니다. 여러분들도 다양한 방식으로 활용해보시면 어떨까요!