Context Engineering의 기초: 프롬프트에서 시스템 설계로 · 퀴즈

7 문항 · Bloom: Remember:2, Understand:2, Analyze:3

Q1 Understand mcq_single

Prompt Engineering과 Context Engineering의 관계를 가장 정확하게 설명한 것은?

정답: B
Prompt Engineering은 단일 LLM 호출에 들어가는 문자열을 튜닝하는 층위이고, Context Engineering은 그 프롬프트를 포함해 추론 시점에 LLM이 참조하는 모든 것(네 가지 소스)을 설계하는 상위 관점입니다. Prompt는 Context의 부분집합입니다.
오답 해설:
  • A. 흔한 오해: Context Engineering이 대체재라는 생각. 실제로는 포함 관계이며 prompt engineering 스킬은 여전히 유효합니다.
  • C. 두 용어의 구분은 메시지 role이 아니라 다루는 범위(한 턴 vs 세계 전체)입니다.
  • D. 다루는 층위가 다르므로 동의어가 아닙니다.
Q2 Remember mcq_multi

LLM이 추론 시점에 참조하는 네 가지 context 소스에 해당하는 것을 모두 고르세요. (정답 4개)

정답: A, B, C, D
Anthropic이 정리한 네 가지 context 소스는 instructions, knowledge, tools, memory입니다. Hyperparameter는 모델 디코딩 설정으로, LLM이 '보는' context에는 포함되지 않습니다.
오답 해설:
  • E. 흔한 오해: 모든 '설정'이 context에 들어간다고 생각하기 쉽지만, temperature 같은 디코딩 파라미터는 모델이 토큰으로 읽는 context가 아닙니다.
Q3 Understand true_false

어떤 문자열이 system 메시지 role로 전달되면, 그 내용은 언제나 Instructions 소스로 분류해야 한다.

정답: B
거짓입니다. 메시지 role이 아니라 **의미론적 역할**로 분류해야 합니다. 예를 들어 system 메시지 안에 retrieved 문서 발췌를 박아 넣으면 그 부분은 knowledge이고, 이전 대화 요약을 박아 넣으면 memory입니다.
오답 해설:
  • A. 흔한 오해: '메시지 role = context 소스'로 매핑하는 실수. S1.C2의 '흔한 실수' 섹션에서 경고한 바로 그 지점입니다.
Q4 Analyze mcq_single

다음 에이전트 세팅 스니펫에서 `<retrieved>Doc#42: 2026년 1분기 매출은 전년 대비 18% 증가...</retrieved>` 블록은 어떤 context 소스로 분류해야 하는가? (이 블록은 이전 턴에 `search_docs` tool이 반환한 결과이다.)

정답: B
Tool schema 자체는 tools에, tool이 **반환한** 문서는 knowledge에 분류합니다. '경계가 시간축으로 나뉜다' — 호출 전 메뉴는 tools, 호출 후 결과물이 context에 주입되면 knowledge입니다.
오답 해설:
  • A. 흔한 오해: tool과 관련된 모든 것을 tools로 묶기. 하지만 schema와 output은 분리됩니다.
  • C. Memory는 '지금까지 무슨 일이 있었는지'의 이력 요약이지, retrieved 문서 본문이 아닙니다. 이전 턴 호출 사실을 기록한 요약이라면 memory지만, 문서 본문은 knowledge입니다.
  • D. 메시지 role이 아니라 의미론적 역할로 분류해야 합니다.
Q5 Analyze mcq_single

한 동료가 에이전트가 '존재하지 않는 함수를 호출한다'고 토로합니다. 이 증상은 주로 어느 층위의 문제이며, 첫 번째로 손대야 할 곳은 어디인가?

정답: C
'존재하지 않는 함수 호출'은 LLM이 보는 **tool 메뉴**가 현실과 어긋나는 문제, 즉 context의 tools 소스 문제입니다. system prompt에 규칙을 더 적어도 모델이 실제로 접근할 수 있는 tool 목록이 바뀌지 않으면 환각은 계속됩니다.
오답 해설:
  • A. 흔한 착각: '프롬프트만 더 길게 쓰면 해결된다'. 증상이 지식/도구 부재면 문자열 튜닝으로는 닿지 않습니다.
  • B. Few-shot은 포맷 학습엔 도움이 되지만 tool 존재 자체의 문제는 풀지 못합니다.
  • D. Memory 청소는 stale memory 문제에 맞는 처방이지, tool 환각의 1차 원인이 아닙니다.
Q6 Remember mcq_single

네 가지 context 소스 중 '누적되기 때문에 stale(상한) 위험이 가장 크다'고 note에서 설명한 소스는?

정답: D
Memory는 과거 대화·이전 tool 결과·scratchpad가 쌓이는 소스입니다. 시간이 지날수록 현재 맥락과 어긋난 낡은 정보가 남기 쉬워 stale 위험이 상존합니다.
오답 해설:
  • A. Instructions는 대체로 고정이고 매 턴 같은 내용이 실리는 '상수 비용' 소스입니다.
  • B. Knowledge는 변동이 심하지만 retrieval로 매번 새로 가져올 수 있어 stale의 주 원인은 아닙니다.
  • C. Tools의 주된 이슈는 description 중복·모호함이지 누적 stale이 아닙니다.
Q7 Analyze short_answer

다음 세팅 스니펫을 네 가지 context 소스로 분류해 context 맵을 작성하세요. 각 줄이 어느 소스인지 근거와 함께 쓰세요. ``` [1] "You are a helpful research assistant. Always cite sources." [2] { name: "search_docs", description: "Search the internal wiki", parameters: { query: string } } [3] <retrieved>Doc#42: 2026년 1분기 매출은 전년 대비 18% 증가...</retrieved> [4] <previous_turn>사용자가 매출 트렌드를 물었고, 나는 search_docs를 호출했다.</previous_turn> [5] "출력은 3문장 이내 bullet로." ```

정답: 모범 답안 참조
모범 답안: [1] Instructions(역할 규범), [2] Tools(함수 시그니처), [3] Knowledge(retrieved 문서 본문 — tool이 반환했더라도 context에 주입된 사실 자료), [4] Memory(이전 턴의 행동 요약), [5] Instructions(출력 규칙). 핵심은 메시지 role이 아니라 의미론적 역할로 분류하는 것.
오답 해설:
  • rubric. 채점 기준 (총 5점): - [1] Instructions로 분류 + 근거(역할/규범) = 1점 - [2] Tools로 분류 + 근거(함수 시그니처/description) = 1점 - [3] Knowledge로 분류 + 근거(retrieved 문서 본문, tool output이 knowledge로 들어간다는 설명) = 1점 - [4] Memory로 분류 + 근거(과거 대화/행동 이력 요약) = 1점 - [5] Instructions로 분류 + 근거(출력 규칙) = 1점 감점 사유: '[3]을 Tools로 분류' 또는 '[5]를 system 메시지라서 무조건 instructions' 같이 role 기반 논리만 쓴 경우 해당 문항 근거 점수 없음.