C.W.K.
Stream
Lesson 07 of 10 · published

boundary condition — 정보 missing일 때 뭘 할지

~16 min · instructions, uncertainty, honesty

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

가장 흔한 버그: 조용한 confabulation

정보가 missing이면 모델은 default로 그럴듯한 걸 만들어. explicit boundary instruction 없으면 fabricated quote, invented statistic, made-up source가 나와. 처방은 "더 좋은 프롬프트" 일반론이 아니라 — missing-information case에 대한 boundary condition이야.

구조

required input마다 explicit하게 이름 붙이고 absent일 때 행동을 prescribe해. 패턴은 이래:

  1. required input 나열.
  2. 각각 canonical absence value 명시 (null, empty string, missing key).
  3. absence 감지될 때 response shape 명시.
  4. missing input 대체할 generation을 forbid.

왜 work하나

모델이 더 이상 "missing"이 뭔지 또는 그에 대해 뭘 할지 추측 안 해. absence case에 대한 structured response 가져 — null input에 대한 structured response 가진 좋은 코드처럼.

Code

boundary block (explicit)·markdown
## Required inputs
- {{customer_name}} — string, non-empty
- {{order_id}} — string, must match /^[A-Z]{2}-\d{6}$/
- {{transcript}} — non-empty conversation log

## When inputs are missing
Return JSON only:
{
  "status": "insufficient_context",
  "missing": ["<field name>", ...],
  "hint": "<which earlier step should provide this>"
}
Do not draft a response from partial inputs.

External links

Exercise

프롬프트 하나에서 required input 감사. absence 행동을 명시하는 explicit boundary block 추가. 각 input을 일부러 빼면서 프롬프트 돌려서 테스트.

Progress

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

댓글 0

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

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