본문 바로가기
C.W.K.
Stream
Lesson 02 of 05 · published

쓰레기통이 아니라 예산

~24 min · budget, safety-margin, output

Level 0Window Watcher
0 XP0/50 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete

초보의 본능

대부분은 window가 찰 때까지 계속 밀어넣으려고 해. context를 창고로 보는 거지. 실전에서는 예산으로 봐야 맞아.

token 하나하나가 다 기회비용이야. 오래된 tool dump는 방금 들어온 요구사항이랑 attention을 두고 싸워. 거대한 설계 문서는 실패한 test log랑 싸우고. 모형이 늘어놓는 긴 사과문은 다음 명령 결과랑 싸우지. 물어야 할 건 "이거 들어가나?"가 아니라 "이게 지금 attention 받을 자격이 있나?"야.

안전마진도 설계에 들어간다

window를 벽까지 몰지 마. output이 나올 자리, 고쳐 쓸 자리, tool 결과가 들어올 자리, 그리고 사람이 갑자기 "그거보다 이 규칙이 먼저야" 하고 끼어들 자리를 남겨둬야 해. 여유가 사라지는 순간 작업은 툭 건드리면 무너져 — 추론이 거칠어지고, 근거가 빠지고, 마지막 답이 뚝 잘리고, 모형은 "네 맞습니다" 모드로 들어가버려.

불러오기 전에 먼저 떼어놔

손에 익은 순서는 이래. output이랑 reasoning, 안전 여유분을 먼저 떼어놓고, 남은 자리만큼만 input에 쓴다. 대부분은 거꾸로 하다가 답이 중간에 잘리는 걸 보고 나서야 놀라지.

철칙: context가 꽉 찰 때까지 기다렸다가 checkpoint 하지 마. 꽉 찼다는 건 움직일 자리가 없다는 뜻인데, 제일 까다로운 turn은 꼭 그때 온다.

Code

안전마진 정책·yaml
context_budget:
  hard_limit: 100%
  checkpoint_at: 65%
  compact_or_handoff_at: 75%
  emergency_only: 85%
  never_plan_for: 100%
불러오기 전에 먼저 떼어놓기·python
WINDOW = 200_000
RESERVE_OUTPUT = 16_000
RESERVE_REASONING = 12_000
SAFETY_MARGIN = 16_000

usable_input_budget = WINDOW - RESERVE_OUTPUT - RESERVE_REASONING - SAFETY_MARGIN
assert usable_input_budget > 0
print(f"Usable input budget: {usable_input_budget} tokens")

External links

Exercise

네 워크플로에 맞는 context 예산 정책을 정해봐. checkpoint 찍을 시점, compaction 걸 시점, 아예 멈출 시점 각각.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.