기법의 진화(zero → few → CoT → ToT → ReAct) · 메타 프롬프팅 · 컨텍스트 엔지니어링
강사 박수현 · 🚀 젠아이랩스(GenAI Labs)
🎨 이미지 프롬프트: "Editorial illustration on dark navy #1a1a2e background. On the left, a single short glowing command line labeled 'PROMPT' floats alone. A bold horizontal arrow labeled 'to CONTEXT' sweeps rightward. On the right, a tidy desk holds a small neat stack of layered materials labeled 'Instruction', 'Examples', 'Docs', 'Memory', 'Tools' arranged in order under a soft glow. Clean editorial illustration style, teal #00b894 and purple #6c5ce7 accents with warm orange highlights, 16:9. CRITICAL: All visible text MUST be in English ONLY (no Korean characters). Each label appears EXACTLY ONCE — no duplicates. No mirrored or reversed text."

Session 4 · Day 1 — 15:20 ~ 16:30 (70분)
어떻게 묻느냐가 확률 막대의 모양을 바꾼다 · 이 기법들은 설계된 게 아니라 발견된 것.
이 기계는 매 순간 다음에 올 후보들의 확률 막대그래프를 세우고, 그중 하나를 골라 잇는다.
그 확률은 무엇이 정하는가. 모델의 학습된 성질이 절반이라면, 나머지 절반은 우리가 건넨 말이다. 같은 질문이라도 어떻게 묻느냐에 따라 그 막대그래프의 모양이 달라진다.

📌 오늘의 물음. 애초에 잘 물으면 이 확률을 우리 쪽으로 당길 수 있지 않은가. 무엇을 어떤 순서로, 어떤 맥락과 함께 건네야 하는가.
오늘 소개할 기법들 — zero-shot, few-shot, 생각의 사슬, 생각의 나무, 추론+행동 — 은 누가 책상에서 이론으로 설계한 것이 아니다. 모델이 먼저 세상에 나왔고, 그 모델을 수많은 사람이 써 보며 "이렇게 물으니 더 잘하더라"를 하나씩 발견해 온 것이다.
📌 이 관점을 잡으면 오늘 전체가 한 줄기로 이어진다. 각 기법은 앞선 기법의 한계에서 나온 다음 방법이고, 그 방법들은 모두 한 방향 — 모델이 스스로 더 생각·행동하게 — 을 가리킨다.
🎨 이미지 프롬프트: "Editorial illustration on dark navy #1a1a2e background showing a single left-to-right arrow with five stops labeled in order: 'Zero-shot', 'Few-shot', 'CoT', 'ToT', 'ReAct'. Above the arrow a bold directional label reads 'Model thinks and acts more on its own'. The leftmost stops glow softly while the rightmost grow brighter, suggesting increasing autonomy. Clean editorial timeline style, teal #00b894 and purple #6c5ce7 accents, 16:9. CRITICAL: All visible text MUST be in English ONLY (no Korean characters). Each label appears EXACTLY ONCE — no duplicates. No mirrored or reversed text."

관점을 먼저 못 박는다 — 설계가 아니라 발견
zero-shot의 한계 → few-shot이 예시로 패턴을 세우는 원리 → 문맥 속 학습.
가장 단순한 방식은 그냥 시키는 것이다. 예시도 요령도 없이 원하는 일을 말로 지시한다. 이것을 zero-shot(제로샷)이라 한다. 여기서 "샷(shot)"은 모델에게 미리 보여 주는 예시의 개수다. 예시를 하나도 안 주니 제로샷이다.
📌 지시만으로는 우리가 의도한 결과를 모델이 정확히 맞추지 못한다. 여기서 다음 방법이 나온다.
제로샷의 한계를 메운 발견은 단순하다. 말로 설명하지 말고, 예시를 몇 개 보여 주는 것. 예시를 몇 개 주면 few-shot(퓨샷), 딱 하나면 one-shot(원샷)이다. 고객 리뷰를 긍정·부정으로 분류하는 일로 차이를 본다.
다음 리뷰가 긍정인지 부정인지 판단해줘.
"배송은 느렸지만 물건은 마음에 든다."
어떤 때는 "긍정", 어떤 때는 "긍정입니다. 왜냐하면…" 하고 설명을 늘어놓는다.
리뷰: "포장이 꼼꼼했다." → 긍정
리뷰: "두 번이나 환불받았다." → 부정
리뷰: "화면은 예쁜데 배터리가 빨리 닳는다." → 부정
리뷰: "배송은 느렸지만 물건은 마음에 든다." →
앞의 세 줄이 세운 틀을 이어받아 "긍정" 한 단어만 내놓는다.
예시가 답의 내용만이 아니라 형식까지 지정했다. 원하는 모습 자체를 몇 번 보여 주니 모델이 그 모습을 따라 그린다.
🎨 이미지 프롬프트: "Editorial illustration on dark navy #1a1a2e background. On the left, three stacked example blocks, each shaped as 'review -> label', line up to form a smooth rail or track. At the end of the rail a new review card rolls along and a single clean label 'Positive' emerges. On the far right, a contrasting cluster shows plain BLANK cards scattering in all directions with no rail and no order — the scattered cards carry NO text at all. A caption reads 'Examples lay the track'. Clean editorial illustration style, teal #00b894 and purple #6c5ce7 accents, 16:9. All visible text MUST be in English ONLY (no Korean characters). Do NOT write the word 'Answer' anywhere. The only labels are 'review', 'label', 'Positive', and 'Examples lay the track' — NO duplicated/mirrored text, NO paragraph/sentence text, the scattered cards stay empty, keep every element fully inside frame."

few-shot — 예시 몇 개로 패턴을 세우기
예시 몇 개가 왜 이렇게 힘이 셀까. 앞 절에서 쌓은 두 가지로 곧장 설명된다.
이 기계는 "이런 흐름 다음엔 이런 것이 온다"를 익힌 기계다. 예시 세 줄은 "이런 흐름"을 눈앞에 직접 깔아 주는 일이다. 그러면 모델은 자기가 가장 잘하는 일 — 깔린 패턴 이어 가기 — 를 하면 된다.
모델 내부를 다시 학습시키는 게 아니다. 건넨 예시는 오직 이번 대화에서만 힘을 발휘한다. 이렇게 주어진 문맥 안의 예시만으로 그 자리에서 요령을 잡는 능력을 문맥 속 학습(in-context learning)이라 부른다.
📌 few-shot은 모델을 다시 가르치는 게 아니라, 이미 가진 패턴 잇기 능력에 정확한 본보기를 깔아 주는 것이다. 그래서 예시의 질이 곧 답의 질을 좌우한다.
📖 참고: Brown et al., Language Models are Few-Shot Learners (GPT-3, 2020, NeurIPS · arXiv 2005.14165) — 프롬프트 안 예시만으로 새 과제 수행.
CoT(과정을 펼친다) → 왜 통하나(자기회귀 발판) → "Let's think step by step" → ToT(갈래를 뻗는다).
예시로 형식을 잡았어도 여전히 어려운 일이 있다. 여러 단계를 밟아야 풀리는 문제 — 계산, 논리 추론, 조건이 얽힌 판단이다. 이런 문제에서 모델은 과정을 건너뛰고 결론부터 내놓다가 곧잘 틀린다.
여기서 나온 발견이 생각의 사슬(Chain of Thought, CoT)이다. 발상은 단순하다. 답을 바로 내지 말고, 중간 과정을 한 줄씩 적으면서 풀라고 시키는 것.
카페에 사과가 23개 있었다. 20개로 주스를
만들었고, 그다음 6개를 더 사 왔다.
지금 사과는 몇 개인가?
과정을 건너뛰니 그럴듯한 숫자를 성급하게 내놓기 쉽다.
처음 사과는 23개다.
20개로 주스를 만들었으니 23 - 20 = 3개.
6개를 더 사 왔으니 3 + 6 = 9개.
답: 9개.
같은 모델, 같은 문제인데 정답률이 눈에 띄게 오른다.
CoT가 왜 통하는지가 이 파트의 핵심이다. 앞 절에서 배운 자기회귀 — 한 조각씩 앞을 보고 다음을 잇는다 — 하나로 곧장 설명된다.
이 기계는 다음 조각을 고를 때 지금까지 화면에 적힌 것 전부를 근거로 삼는다. 그러니 중간 과정을 적게 하면, 그 적힌 과정 자체가 다음 조각을 고르는 새로운 근거가 된다. "23 - 20 = 3"이라고 적고 나면, 그 "3"이 다음 계산의 발판이 된다.

📌 암산과 필산의 차이다. 복잡한 계산을 머릿속에서 한 번에 끝내려 하면 사람도 틀린다. 종이에 한 줄씩 풀어 적으면 훨씬 정확해진다. 앞 줄의 결과가 눈앞에 남아 다음 줄의 기반이 되기 때문이다. 중간 토큰이 곧 다음 토큰의 더 나은 발판이 된다.
📖 참고: Wei et al., Chain-of-Thought Prompting (2022, NeurIPS · arXiv 2201.11903).
CoT를 처음 쓸 때는 단계를 밟아 푼 예시를 몇 개 붙였다(few-shot CoT). 그런데 더 놀라운 발견이 뒤따랐다. 예시를 하나도 붙이지 않고, 딱 한 문장만 덧붙여도 같은 효과가 난다.
그 문장이 "Let's think step by step", 우리말로 "차근차근 단계별로 생각해보자"이다. 문제 끝에 이 한 줄을 붙이는 것만으로 모델이 스스로 과정을 펼치기 시작했고, 정답률이 크게 뛰었다. 예시조차 필요 없는 이 방식을 zero-shot CoT라 한다.
📌 말 한마디가 성능을 끌어올렸다. 프롬프트 기법이 왜 "설계가 아니라 발견"인지를 이보다 잘 보여 주는 예가 없다. 누군가 시험 삼아 넣어 보고 효과를 확인했고, 왜 통하는지는 그다음에 설명이 붙었다.
📖 참고: Kojima et al., Large Language Models are Zero-Shot Reasoners (2022, NeurIPS · arXiv 2205.11916).
생각의 사슬은 한 줄기다. 한 방향으로 디딤돌을 놓는다. 그런데 처음 디딤돌을 잘못 놓으면 그 줄기 전체가 틀린 곳으로 향한다.

이 방식을 모델에 옮긴 것이 생각의 나무(Tree of Thoughts, ToT)다. 한 단계에서 후보 여러 개를 벌여 보고, 각 후보가 얼마나 유망한지 스스로 가늠한 다음, 될 성싶은 가지를 골라 더 뻗는다. 막다른 가지는 접고 다른 가지로 돌아간다.
📌 대가가 있다. 여러 갈래를 벌이고 저울질하니 계산과 시간이 더 든다. 그래서 ToT는 일상의 간단한 물음보다 여러 수를 내다봐야 하는 어려운 문제(탐색·계획)에서 진가를 발휘한다.
📖 참고: Yao et al., Tree of Thoughts (2023, NeurIPS · arXiv 2305.10601).
ReAct(생각-행동-관찰 루프) → 한 줄기 진화 — 점점 더 스스로.
지금까지의 기법은 모두 모델의 머릿속에서만 이루어진다. 다음 방법은 이 한계를 넘어선다. 생각만 하지 말고, 밖으로 행동해 정보를 가져오게 하는 것. 추론(Reason)과 행동(Act)을 합쳐 ReAct(리액트)라 부른다.
"이걸 풀려면 최신 환율이 필요하다."
검색 도구를 불러 환율을 조회한다.
도구가 돌려준 결과를 받아 읽는다.

📖 참고: Yao et al., ReAct (2022 · ICLR 2023 · arXiv 2210.03629).
따로 보면 다섯 개의 기법이지만, 이어 보면 한 줄기다. 사람이 손으로 쥐여 주던 몫이 점점 모델 쪽으로 넘어갔다.
초기에는 답의 형식까지 일일이 예시로 지정해 줘야 했다(예시). 그다음에는 생각하는 방법을 지시했고(과정을 펼쳐라), 이제는 스스로 판단해 도구까지 쓰게 한다(행동하라). 이 방향의 끝에 — 스스로 목표를 쪼개고 도구를 골라 일을 끝내는 — 에이전트가 있다.
사람이 쥐여 주던 몫 → 모델이 스스로 하는 몫
📌 이 방향은 다음 단계를 예고한다. 이 흐름을 더 밀고 나가면, 굳이 기법을 하나하나 짜 맞추지 않아도 되는 지점에 이른다. 오늘의 뒤 절반은 바로 그 지점 — 기법을 다 외우지 않아도 되는 단계 — 를 다룬다.
좋은 프롬프트를 모델에게 대신 짜게 한다 · 일이 아니라 "일을 시키는 방법"을 시킨다.
다섯 기법을 다 외워야 하나. 상황마다 어떤 기법을 조합할지 매번 고민해야 하나. 그럴 필요가 점점 줄고 있다.
방법은 단순하다. 모델 자신에게 좋은 프롬프트를 대신 써 달라고 부탁하는 것이다. "이 일을 가장 잘 시킬 수 있는 프롬프트를 만들어줘"라고 물으면 된다. 이렇게 프롬프트에 대해 프롬프트를 시키는 방식을 메타 프롬프팅(meta prompting)이라 한다. "메타"는 "한 겹 위에서"라는 뜻 — 일을 시키는 것이 아니라 일을 시키는 방법을 시키는 한 겹 위의 주문이다.

📌 이게 통하는 이유는 앞에서 다 나왔다. 모델은 방대한 글을 학습하며 "잘 쓰인 지시문이 어떻게 생겼는지"까지 익혔다. 역할을 정하고, 맥락을 깔고, 형식을 지정하고, 예시를 붙이는 — 좋은 프롬프트의 패턴도 학습 안에 들어 있다.
어설픈 요청 하나를 던지고, 잘 다듬은 프롬프트를 받아 본다.
고객이 배송 지연에 항의하는 메일을 보냈다.
여기에 정중하고 책임감 있게 답장하는 일을 시키려 한다.
이 일을 가장 잘 해내게 할 프롬프트를 대신 만들어줘.
모델은 대개 이런 얼개를 돌려준다 — 먼저 답하는 이의 역할을 정하고("너는 고객 응대 담당자다"), 지켜야 할 태도와 제약을 깔고("사과로 시작하고, 보상안을 한 가지 제시하며, 다섯 문장 이내로"), 필요하면 예시까지 붙인다. 오늘 배운 기법들이 그 안에 알아서 녹아 있다.
📌 두 가지를 보인다. ① 프롬프트 설계를 몰라도 쓸 만한 프롬프트를 얻는다. ② 그 결과를 알아보고 고칠 수 있는 사람은 오늘 원리를 배운 사람이다. 프롬프트 짜기의 무게를 모델과 나눠 지는 것 — 이것이 메타 프롬프팅의 실속이다.
관건이 "한 줄 주문"에서 "무엇을 보여줄 것인가"로 · 컨텍스트 다섯 조각 · 책상 비유.
메타 프롬프팅까지 오면 한 가지가 드러난다. 한 줄 주문을 얼마나 잘 짜느냐는 이제 예전만큼 결정적이지 않다. 그 짜기는 모델이 상당 부분 거들 수 있다.
관건은 "모델에게 무엇을 보여줄 것인가"로 옮겨 간다. 같은 주문이라도, 곁에 어떤 자료를 함께 놓느냐에 따라 답이 완전히 달라진다. 근거 문서를 붙이니 답이 교정됐다. 회사 내부 규정을 함께 건네면 그 규정에 맞는 답이 나오고, 지난 대화를 기억해 두면 맥락을 이어 간다.
📌 이 세션의 전환. 초점이 한 줄을 어떻게 쓰나(프롬프트)에서 무엇을 어떤 순서로 함께 보여 주나(컨텍스트)로 넘어간다. 잘 쓰인 한 문장보다, 잘 갖춰진 한 묶음의 자료가 결과를 더 크게 좌우하는 단계에 들어섰다.
컨텍스트, 우리말로 맥락이란 모델이 답을 만들기 전에 함께 건네는 모든 것이다. 크게 다섯 조각으로 나뉜다.
무엇을 해 달라는 주문 그 자체. 지금까지 프롬프트라 부른 것.
오늘 배운 few-shot의 본보기. 원하는 입력·출력의 짝.
답의 근거가 될 자료. 규정집·보고서·문헌. 검색 증강(RAG)이 이 조각을 자동으로 찾아 붙이는 방식.
주고받은 내용, 사용자에 대해 기억해 둔 정보(직무·선호·프로젝트).
검색·계산·조회 도구가 물어와 건넨 결과. 컷오프 너머의 최신 사실이 여기로 들어온다.
🎨 이미지 프롬프트: "Editorial illustration on dark navy #1a1a2e background showing five input streams flowing into a central prediction-engine icon, each stream a distinct icon with a single label: 'Instruction' as a speech bubble, 'Examples' as sample cards, 'Documents' as a stack tagged 'RAG', 'Memory' as a clock and drawer, 'Tools' as a search-and-calculator icon. The five streams merge into one bundle labeled 'Context' entering the engine. Clean editorial illustration style, teal #00b894 and purple #6c5ce7 accents, 16:9. CRITICAL: All visible text MUST be in English ONLY (no Korean characters). Each label appears EXACTLY ONCE — no duplicates. No mirrored or reversed text."

컨텍스트란 무엇인가 — 다섯 조각
다섯 조각을 다 쏟아붓는다고 좋은 답이 나오지는 않는다. 모델의 제한된 작업 공간에 무엇을, 얼마나, 어떤 순서로 채울지를 설계하는 일 — 이것이 컨텍스트 엔지니어링이다.
먼저 "제한된 작업 공간"을 짚는다. 모델이 한 번에 볼 수 있는 양의 한계를 컨텍스트 창(context window)이라 한다. 창은 점점 커지지만 무한하지 않고, 크다고 아무거나 잔뜩 넣는 게 유리한 것도 아니다.
📌 비유는 책상이다. 관련 없는 서류까지 책상 가득 쌓으면 정작 필요한 걸 못 찾고 산만해진다. 반대로 자료를 너무 아끼면 근거가 부족해 막힌다. 일에 꼭 필요한 자료만, 손이 잘 닿는 자리에, 보기 좋은 순서로 펼치는 것 — 컨텍스트 엔지니어링은 모델의 책상을 그렇게 차려 주는 일이다.
프롬프트 엔지니어링이 한 줄을 잘 쓰는 일이었다면, 컨텍스트 엔지니어링은 그 한 줄이 놓일 책상 전체를 차리는 일이다.
🎨 이미지 프롬프트: "Editorial illustration on dark navy #1a1a2e background with two contrasting desks side by side inside a single rounded border frame. A small centered label on the top border reads 'Context window'. The left desk is buried under piles of unrelated papers with a needed document lost in the mess and a confused person; one heading sits above this desk reading 'Cluttered'. The right desk holds only a few essentials placed neatly within reach, with a calmly-working person; one heading sits above this desk reading 'Well-arranged'. A caption below the frame reads 'Lay out only what the work needs'. Clean editorial illustration style, teal #00b894 and purple #6c5ce7 accents, 16:9. All visible text MUST be in English ONLY (no Korean characters). The ONLY four text labels in the whole image are 'Context window', 'Cluttered', 'Well-arranged', and 'Lay out only what the work needs' — each printed EXACTLY ONCE. Do not print any other words, subtitles, notes, or parenthetical text anywhere. NO duplicated/mirrored text, keep every element fully inside frame."
📖 참고: Anthropic, Effective context engineering for AI agents (2025.09.29).

컨텍스트 엔지니어링 — 책상에 필요한 자료만 펼치기
자료는 많이 넣을수록 안전할 것 같지만, 오히려 답이 산만해진다. 그 까닭은 앞 절에서 본 어텐션에 있다.
📌 자료가 많아질수록 주목이 얇게 퍼진다. 관련 없는 내용을 잔뜩 넣으면 중요한 대목이 그 속에 묻히고, 모델은 어디에 주목해야 할지 판단하기 어려워진다. 자료를 더 넣는다고 근거가 또렷해지는 것이 아니라, 오히려 핵심이 흐려질 수 있다.
좋은 컨텍스트는 두꺼운 자료가 아니라 알짜만 잘 추린 자료다. 정말 필요한 것만 골라 넣고, 중요한 것을 잘 보이는 자리에 둔다. 이것이 "무엇을, 얼마나, 어떤 순서로"라는 세 물음이 컨텍스트 엔지니어링의 전부인 까닭이다.
오늘 내내 다룬 것은 전부 글이었다. 어떻게 물어야 좋은 글이 나오는가, 어떤 글을 곁에 놓아야 답이 정확해지는가. 지시도 예시도 문서도 대화도, 모두 글자로 된 것이었다. 이 코스에서 살펴본 예측 기계도, 결국 다음 단어를 확률로 잇는 기계였다.
그런데 지금의 AI는 글만 다루지 않는다. 그림을 그리고, 영상을 만들고, 목소리를 낸다. 문장 한 줄로 없던 이미지를 만들어 내고, 짧은 설명만으로 움직이는 영상을 뽑아낸다.
🎯 여기서 하나의 물음이 남는다. 글이 아닌 것 — 이미지·영상·소리 — 은 대체 어떻게 만들어지는가. 다음 단어를 잇는 것과 같은 원리인가, 전혀 다른 방식인가. 그림에서 "다음 단어"에 해당하는 것은 무엇인가. 이 물음은 다음 세션에서 자세히 다룬다.
🎨 이미지 프롬프트: "Editorial illustration on dark navy #1a1a2e background. On the left, four clean solid rectangular tiles are neatly stacked and labeled 'Instruction', 'Examples', 'Documents', 'Dialogue' — solid tiles with one crisp single-word label each, NO scattered letters, NO random characters, NO gibberish texture. On the right sit a blank white canvas, a film reel, and a music note, all dim and empty. Between them stands an open glowing door with a single caption on the floor reading 'What about things that aren't text?'. Clean editorial illustration style, teal #00b894 and purple #6c5ce7 accents, 16:9. All visible text MUST be in English ONLY (no Korean characters). Each label 'Instruction', 'Examples', 'Documents', 'Dialogue', 'What about things that aren't text?' appears EXACTLY ONCE — NO duplicated/mirrored text, NO clouds of random letters, short labels only, keep every element fully inside frame."

남겨 두는 물음 — 글이 아닌 것은 어떻게 만들어지나
이 세션의 기법·개념은 아래 출처로 1차 검증했다. 수치·창 크기 같은 값은 과제·버전에 따라 달라지므로 방향만 남긴다.