byteforce

CPN 한국어 자습서 · Claude Certified Developer — Foundations Prep

2-11 · 모듈 마무리

모듈 마무리 — 핵심 정리와 용어

Module Wrap-up — Recap · Glossary · Module Complete

모듈 2의 마지막 레슨입니다. 학습 목표 하나당 하나씩 뽑은 여덟 가지 핵심 정리로 모듈 전체를 되짚고, 자주 나온 용어 열한 개를 풀이와 함께 확인합니다. 마지막에는 개발자 경로의 다섯 모듈 지도에서 지금 위치를 확인하고, 문항 여덟 개로 점검을 마칩니다.

이 장에서 배우는 것What you'll learn

약 8분
1

학습 목표 하나당 하나 — 여덟 가지 핵심 정리

2

실패를 고치는 순서 — 진단 먼저, 기법은 그다음

3

이 모듈이 참고한 원천 자료 여섯 가지

4

자주 나온 용어 열한 개의 풀이

5

개발자 경로 다섯 모듈 중 현재 위치

6

문항 여덟 개로 하는 마무리 점검

여덟 가지 핵심 정리

Recap — Eight takeaways, one per enabling objective

다룬 주제는 많았지만, 원문은 마무리에서 학습 목표 하나당 정리 하나, 여덟 개로 압축합니다. 하나씩 다시 읽어 보면, 각 레슨에서 확인했던 내용이 판단 기준의 형태로 다시 나타납니다.

1

어떻게 실패했는지 보면, 어떤 기법이 빠졌는지 나옵니다

출력이 엉뚱한 형태로 오면 출력 제약이 빠져 있는 경우가 많습니다. 대화가 이어지며 내용이 조금씩 어긋나면 시스템 프롬프트가 충분히 구체적이지 않은 경우이고, 요청한 적 없는 구조를 만들어 내면 퓨샷 예시가 없는 경우입니다. 지시문의 표현만 바꿔 다시 시도하는 방식이 잘 통하지 않는 이유는, 이 실패들 중 어느 것도 표현의 문제가 아니기 때문입니다. 실패 유형을 먼저 진단하고, 거기에 맞는 기법을 더합니다. 프롬프트 수준의 지시로 부족해서 시험하지 않은 입력이 계속 파서를 깨뜨린다면, 구조화된 출력으로 출력 제어를 API에 옮깁니다 — JSON 출력은 최종 응답을 스키마로 제약하고, 엄격한 도구 사용(strict tool use)은 Claude가 도구에 넘기는 인자를 검증합니다. 대신 첫 호출의 컴파일 지연과 입력 토큰 증가라는 비용이 따릅니다.

2

프롬프트를 다듬기 전에, 추론 깊이부터 과제에 맞춥니다

추론(reasoning)은 추론 과정이 답을 바꾸는 자리에만 켜고, effort 설정은 호출마다 무조건 올리기보다 문제에 맞춰 조절합니다. thinking 블록은 바꾸지 않은 그대로 API에 돌려보내야 다음 요청이 성공합니다. 추론을 켤지와 별개로 어떤 모델을 실행할지 고르는 문제는, 이 모듈에 앞서는 MSO Foundations 모듈에서 다룹니다.

3

스트림이 끝난 것과 메시지가 완성된 것은 다릅니다

스트리밍은 체감 지연을 줄여 주는 대신, 부분 이벤트를 받아 응답을 직접 조립하는 부담이 생깁니다. 블록은 닫힌 뒤에만 사용하고, 턴은 message_stop을 받은 뒤에만 대화 기록에 확정하고, 중간에 끊긴 스트림에서는 부분 턴을 버리고 재시도합니다. 알아 두면 좋은 실패 패턴이 하나 있습니다 — 재시도에서 나는 도구 사용 에러의 원인을 따라가 보면 스키마가 아니라, 끊긴 스트림에서 반쯤 조립된 채 남은 블록인 경우입니다.

4

잘못된 도구 선택의 원인은 스키마에, 대부분은 description에 있습니다

Claude는 description 필드를 읽고 사용자의 요청과 맞춰 보는 방식으로 도구를 고릅니다. 그래서 두 도구가 모두 "정보를 찾을 때 사용"이라고만 적혀 있으면, 입력 스키마가 아무리 달라도 Claude 쪽에서는 둘을 구분할 방법이 없습니다. 잘못된 도구 선택 대부분을 해결하는 한 문장은 제외 조건입니다. 언제 이 도구를 쓰지 말아야 하는지를 모든 description에 적어 두는 것인데, 첫 오호출이 로그에 나타난 뒤가 아니라 스키마를 설계하는 시점에 넣습니다. 다른 사람이 이미 도구를 만들어 두었다면 MCP로 관리되는 서버에 연결해 스키마를 전부 손으로 쓰는 일을 줄일 수 있습니다. 다만 연결한 서버마다 그 도구 정의가 사용 여부와 무관하게 컨텍스트 창에 더해지므로, 필요한 서버만 골라 연결하고 로딩 비용을 관리합니다.

5

컨텍스트는 정해진 예산이고, 도구 출력이 가장 빨리 소모합니다

프로덕션의 도구 출력은 개발 때 쓰던 픽스처(시험용 고정 데이터)보다 3~5배 길게 돌아옵니다. 그래서 테스트에서는 50턴을 깔끔하게 이어 가던 세션이, 출시 후에는 8턴 만에 한도에 걸리기도 합니다. 정리(pruning)·압축(compaction)·서브에이전트 넘김은 각각 다른 방식으로 여유 공간을 되찾아 주는데, 무엇을 쓸지는 앞선 상태가 아직 필요한지에 따라 갈립니다. 일정한 턴 수가 지난 뒤부터 도구 선택이 나빠지기 시작한다면, 가장 먼저 살펴볼 곳은 스키마가 아니라 컨텍스트 창입니다.

6

워크플로인지 에이전트인지가 이후 비용을 정하고, 사람 확인 단계는 설계에 들어갑니다

정확한 단계를 코드로 적을 수 있다면 워크플로가 맞고, 목표와 도구는 정할 수 있는데 그 사이의 경로를 정할 수 없다면 에이전트가 맞습니다. 어느 쪽으로든 잘못 고르면 프로덕션에 가서야 드러납니다. 워크플로면 충분한 곳에 에이전트를 쓰면 컨텍스트 비용이 늘고 동작이 대화 기록 속에만 남으며, 에이전트가 필요한 곳에 워크플로를 쓰면 입력이 경로를 벗어나는 첫 순간 깨집니다. 도구가 되돌릴 수 없는 동작을 할 수 있다면, 사람이 확인하는 단계(HITL)는 첫 쓰기 작업이 고객 환경에 닿은 뒤가 아니라 루프를 연결하기 전에 설계에 넣습니다.

7

메모리 범위는 세션의 형태를 보고 정합니다

인컨텍스트 메모리는 가장 쓰기 쉬운 패턴입니다. 그래서 프로덕션 세션이 개발 때의 길고 연속적인 세션과 달리 짧고 많은 것으로 드러나면, 가장 먼저 한계에 부딪히는 패턴이기도 합니다. 외부 저장은 지연이 늘어나는 대신 상태가 세션을 넘어 유지되고, 요약 메모리는 비용을 줄이는 대신 요약 프롬프트가 담지 않은 내용을 잃고, 상태 없는 방식은 완료되고 닫히는 작업에 맞습니다. 프로덕션 압박 속에서 인컨텍스트를 외부 저장으로 고쳐 쓰는 데는 한 시간쯤 걸리고, 설계 시점에 같은 선택을 미리 하는 데는 20분쯤 걸립니다. 반복되는 지시를 작업 사이에 가져가는 것은 상태를 가져가는 것과 별개의 문제인데, 그 자리에 맞는 패턴이 Skill입니다 — 매 세션에 지시를 주입하는 대신, Claude가 description을 맞춰 보고 필요할 때 불러오는 마크다운 파일입니다.

8

멀티모달 입력은 수집 코드를 쓰기 전에 비용부터 계산합니다

이미지 하나는 [가로 ÷ 28] × [세로 ÷ 28] 시각 토큰만큼 비용이 들고, 이미지당 상한은 모델 티어마다 다릅니다. 최신 모델에서 고해상도 원본은 테스트 세트의 썸네일보다 몇 배의 비용이 나올 수 있어서, 이 공식은 지금 갖고 있는 입력이 아니라 프로덕션에서 예상되는 가장 큰 입력으로 돌려 볼 필요가 있습니다. 인라인 base64는 한 번 쓰는 이미지에, Files API는 여러 요청에서 재사용하는 에셋에, Message Batches API는 지연 시간이 일정하지 않은 대신 토큰당 비용이 낮은 오프라인 작업에 맞습니다. 피해야 할 실수는 동기 API를 반복문으로 호출하면서 그것을 배치라고 생각하는 것입니다.

큰 그림 먼저

여덟 개로 나뉘어 있지만 핵심은 두 가지입니다. 고치기 전에 원인부터 확인하고, 큰 결정은 코드를 쓰기 전에 내려 둔다 — 여덟 항목 대부분이 이 두 가지로 모입니다.

원문은 이 정리 뒤에 다음 내용을 덧붙입니다. 이 모듈은 개발자 기본 요소 라이브러리를 마련했고, 이후의 모든 개발자 모듈이 가져다 쓰는 다섯 가지 상호작용 유형이 여기에 포함됩니다. 프롬프팅 기법, 도구 스키마, 컨텍스트 엔지니어링, 에이전트 구성, 메모리 범위 설정, 멀티모달 처리 — 여기서 소개한 패턴이 다음에 오는 모든 모듈의 기초가 됩니다.

이 모듈의 원천 자료

Sources

원문 마무리 화면은 이 모듈의 내용이 어디에서 왔는지도 함께 밝힙니다. 더 깊이 들어가고 싶을 때 참고할 수 있는 자료들입니다.

이 모듈의 용어 정리

Glossary — Key terms from this module

원문 코스는 이 모듈에서 자주 나온 용어 열한 개를 알파벳순으로 실었습니다. 용어를 누르면 풀이가 열립니다. 기술 용어와 필드 이름은 원문 표기 그대로 두었습니다.

Claude Agent SDK

@anthropic-ai/claude-agent-sdk(TypeScript) / claude-agent-sdk(Python)로 배포되는 관리형 에이전트 런타임. Claude Code를 움직이는 것과 같은 에이전트 루프 — 반복, 도구 실행, 관찰, 종료 — 에 프로그램으로 접근할 수 있게 해 줘서, 터미널에서 Claude Code를 실행하는 대신 자기 제품 안에 에이전트를 넣을 수 있습니다. API를 얇게 감싼 편의 래퍼일 뿐 에이전트 루프를 실행하지 않는 Anthropic SDK와는 구분됩니다.

Context Window

모델이 요청 한 번에 처리할 수 있는 토큰의 총량. 시스템 프롬프트, 대화 기록, 도구 정의, 도구 결과, 모델 자신의 출력까지 전부 포함됩니다. 누적 합계가 한도에 닿으면, 새 내용을 더하기 전에 앞선 내용을 제거하거나 요약해야 합니다.

Function signature

함수의 선언을 뜻하는 프로그래밍 용어. 함수 이름과, 그 함수가 받는 매개변수 목록 — 이름·타입·기본값까지 — 을 가리킵니다.

HITL

Human-in-the-loop. 자동화된 과정에서 중대한 동작이 실행되기 전, 사람이 검토하거나 승인하는 단계를 넣는 것을 가리킵니다.

Refactor

겉에서 보이는 동작은 바꾸지 않으면서 코드의 내부 구조를 바꾸는 일. 더 깔끔하게, 더 빠르게, 시험하기 쉽게, 확장하기 쉽게 구현을 재구성하거나 다시 쓰지만, 시스템의 나머지 부분이 보는 동작은 그대로 유지됩니다.

SOC 2

Service Organization Control 2. 미국공인회계사회(AICPA)가 만든, 서비스 조직이 고객 데이터를 어떻게 다루는지 평가하는 감사 프레임워크. SaaS 업체나 클라우드 서비스가 보안 수준을 입증해 달라는 요청을 받을 때 가장 흔히 인용되는 표준입니다.

State

에이전트가 턴 사이에 유지하는 정보 — 지금까지의 대화, 사용자가 요청한 것, 앞선 도구 호출의 결과.

Stop_reason

모델이 왜 생성을 멈췄는지 코드에 알려 주는 API 응답 필드. 에이전트 루프에서 가장 자주 만나는 두 값은, Claude가 작업을 마쳐 더 요청할 것이 없다는 end_turn과, tool_use 블록을 내고 결과를 기다리고 있다는 tool_use입니다.

Subagent

오케스트레이션하는 에이전트가 별도의 하위 작업을 맡기려고 새로 띄우는 독립 에이전트 인스턴스. 서브에이전트는 부모 세션의 대화 기록·스킬·컨텍스트를 물려받지 않습니다. 각자 빈 상태로 시작하므로 필요한 지시와 도구를 명시적으로 설정해 줘야 합니다. 결과는 오케스트레이터로 돌아가고, 오케스트레이터가 이를 전체 작업에 반영합니다.

Token

Claude가 텍스트를 재고 처리하는 단위. 토큰당 글자 수 평균은 해당 모델의 토크나이저에 달려 있고 모델 세대마다 다릅니다. "토큰당 몇 글자" 식의 어림값은 모델에 따라 달라지는 값으로 보고, 빌드 시점에 현재 토크나이저의 동작을 확인하는 것이 좋습니다. 토큰은 컨텍스트 창에 들어가는 모든 것 — 프롬프트, 응답, 도구 스키마, 도구 결과 — 이 소모하며, 과금과 컨텍스트 예산 계산의 기준입니다.

Tool_use_block

Claude가 함수를 호출하고 싶을 때 어시스턴트가 돌려주는 콘텐츠 블록. 도구 이름, 고유 ID, Claude가 코드에 넘기려는 입력 인자를 담습니다. 모든 tool_use 블록에는 바로 다음 사용자 턴에서, 같은 ID를 그대로 유지한 tool_result 블록으로 응답해야 합니다.

모듈 완료 — 개발자 경로의 현재 위치

Module Complete · Developer Path

여기까지 왔다면 이 모듈을 끝까지 마친 것입니다. 이제 Claude 프로토타입을 프로덕션으로 가져갈 수 있습니다.

프로덕션급 프롬프트를 쓰고, 실제 조건에서 유지되는 도구 사용 루프를 연결하고, 스트리밍을 안전하게 다루고, 컨텍스트와 메모리를 규모에 맞게 관리하고, 맞는 자리에 확인 단계를 둔 에이전트 루프를 만드는 것 — 원문 코스는 이 지점에서 점검 10개 중 10개 통과를 함께 표시합니다. 프로토타입에서 멈추는 시스템과 실서비스에서 버티는 시스템은, 이 모듈에서 다룬 엔지니어링 결정들에서 갈립니다.

DEVELOPER PATH — 다섯 모듈 지도

M1MSO Foundations — 토큰, 컨텍스트 창, 샘플링, 모델 티어, 프롬프팅 모드, API 전송 동작.
M2Production-Grade Prompting, Agents & Tool-use (현재 위치) — 프로덕션급 프롬프트, 도구 사용 루프, 스트리밍, 컨텍스트·메모리 관리, 체크포인트를 갖춘 에이전트 루프.
M3Claude Code, MCP & Integration (다음 모듈) — 권한 모드, 오래 유지되는 프로젝트 컨텍스트, 플러그인 패키징, 자격 증명을 노출하지 않는 MCP 연동.
M4Production Engineering, Evals, and Security — 평가(evals), 트레이싱, 실패 처리, 비용·오케스트레이션 예산, 프로덕션에서 유지되는 보안 경계.
M5Accelerators and IP Contribution — 액셀러레이터 패키징, 검증 가능한 기여 준비, 배포 플랫폼 선택, 신뢰 경계 표시.
한눈에

다섯 모듈 가운데 두 번째를 마쳤고, 다음은 Claude Code와 MCP 연동입니다.

기억할 점

스스로 점검 — 모듈 되짚기

Module review quiz

원문 마무리에는 별도 점검 문항이 없어, 위의 여덟 가지 정리를 바탕으로 확인 문항을 구성했습니다. 정리 하나당 문항 하나입니다. 정답을 먼저 떠올려 본 뒤 골라 보세요. 맞히면 설명이 나옵니다.

Q1프롬프트가 실패했을 때, 이 모듈이 권하는 첫 단계는 무엇일까요?

Q2추론(reasoning)은 언제 켜는 것이 좋을까요?

Q3스트리밍에서 턴을 대화 기록에 확정해도 되는 시점은 언제일까요?

Q4잘못된 도구 선택 대부분을 해결해 주는 한 문장은 무엇이었을까요?

Q5테스트에서는 50턴을 이어 가던 세션이 출시 후 8턴 만에 한도에 걸렸습니다. 이 모듈이 짚는 원인은 무엇일까요?

Q6에이전트가 맞는 선택인 경우는 어느 쪽일까요?

Q7메모리 방식은 무엇을 기준으로 고를까요?

Q8멀티모달 비용 공식([가로 ÷ 28] × [세로 ÷ 28] 시각 토큰)은 어떤 입력으로 돌려 볼까요?

MEMBER SESSION REQUIRED · REGISTRATION IS FREE

여기부터는 등록한 분에게 열립니다.

전 코스는 계속 무료입니다. 등록하면 이 코스의 남은 38개 레슨을 끝까지 읽을 수 있습니다.

등록하고 이어서 읽기

이미 등록하셨다면 그때 쓰신 이메일을 넣어 주세요.