C.W.K.
Stream
Lesson 01 of 04 · published

격리

~11 min · quarantine, default-deny, promotion, trust-boundary

Level 0Empty Shelf
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"파이프라인이 끝난 건 파이프라인에 대한 사실이야. 나온 것의 진실에 대한 주장이 아니고."

절대 자동이면 안 되는 승격

Recall 의 transcript 는 솔깃해. 수천 개 있고, 검색 가능하고, 아빠의 실제 사고로 가득해 — 정확히 지식 시스템이 검색해 오고 싶어할 원재료야. 그리고 파이프라인이 방금 깨끗한 구조 점수로 완료를 선언했어. 그러니 corpus 로 보내면 되지?

아니. 그리고 그 거부는 조심스러운 손사래가 아니라 아키텍처야. 모든 새롭거나 import 된 release 는 status candidate, corpus eligibility excluded 로 착지해. 기본값 거부. corpus 자격을 얻으려면, release 가 명시적 경로 — excluded → candidate → approved — 를 걸어야 하고, 그 걸음의 모든 단계가 사람 결정이야. 전사 완료도 품질 감사가 깨끗하게 돌아온 것도 그 승격을 수행 못 해. 기계는 구조적으로 자기 출력을 신뢰 컨텍스트로 승격할 능력이 없어.

왜 기본-거부고 기본-허용이 아냐

그 transcript 안에 실제로 뭐가 있는지 때문이야. 레거시 corpus 는 침묵 hallucination, model 이 아무것도 안 들릴 때 내뱉는 boilerplate 상투구, 한국어/영어 혼동으로 가득해. 그 오염은 Recall 자신의 검색엔 괜찮아 — 검색하고, hit 을 받고, 영상을 열어 직접 봐. 사람이 loop 안에서 소스에서 검증해. 근데 지식 corpus 는 아무도 영상을 확인 안 한 채 하류에서 사실로 인용돼. 검색 결과에선 무해하게 시끄럽던 그 같은 텍스트가 지식 시스템에선 자신만만하게 틀린 인용이 돼.

그래서 기본값이 거부여야 해. 이건 보안 설계의 fail-safe-defaults 원리를 데이터 신뢰에 적용한 거야: 결정이 '이게 믿을 만해야 하나' 일 때, 안전한 실패 모드는 '아니오' 야. 리뷰가 영영 안 일어나면, 나쁜 게 하나도 안 나가 — transcript 는 검색엔 쓸모 있고 corpus 엔 안 보이게 남을 뿐이야. 기본값을 뒤집으면 실패 모드가 뒤집혀: 리뷰를 잊으면, 오염된 텍스트가 조용히 인용되는 지식이 돼. 그 실패 모드 중 하나는 지루해. 다른 하나는 아카이브 규모의 garbage-in, garbage-out 이야.

격리는 아무 비용도 안 들고, 그게 핵심이야

이 설계를 단지 엄격한 게 아니라 정직하게 만드는 게 여기 있어: Recall 은 corpus 통합이 완전히 없어도 완결된 제품이야. 런타임 의존성이 없어. 승인된 transcript 가 0개여도 검색이 되고, 편집 handoff 가 되고, 엔진 전체가 돌아. 그러니 격리는 제품을 붙잡는 병목이 아냐 — 제품이 쓸모 있으려고 넘을 필요 없는 벽이야. 아카이브가 품질 기준을 영영 못 넘으면, 통합은 그냥 없는 채 남고, 아무것도 안 약해져. 그게 잘 놓인 신뢰 경계의 신호야: 안전한 쪽이 혼자서 완전히 기능해서, 출시하려고 gate 를 약화시킬 압박이 절대 없어.

Code

기본값 거부; 명시적 사람 걸음만이 승격한다·python
# 모든 새롭거나 import 된 release 가 여기 착지. 예외 없음.
release.status = 'candidate'
release.corpus_eligibility = 'excluded'      # 기본값 거부

# 나가는 유일한 경로는 명시적이고 사람이:
#   excluded -> candidate -> approved
#
# 이 둘 중 어느 것도 그 전이를 수행 못 함:
#   - 전사 완료
#   - 깨끗한 구조 품질 감사

# export guard 는 경로를 안 걸은 건 뭐든 거부한다:
def serialize_for_corpus(release):
    if release.status not in ('reviewed', 'published'):
        raise NotApproved
    if release.corpus_eligibility != 'approved':
        raise NotApproved
    return export(release)

# 리뷰를 잊음 -> 아무것도 안 나감. 그게 안전한 실패.

External links

Exercise

네 일에서 파이프라인이 만든 데이터를 진실로 취급하는 뭔가가 소비하는 곳을 찾아 — 리포트, 대시보드, model 학습 셋, 검색 시스템. 물어: 뭐가 그걸 믿을 만하다고 표시하고, 만드는 파이프라인이 그 표시를 스스로 할 수 있어? 완료가 자동으로 신뢰를 뜻하면, 격리를 설계해: 기본-거부 플래그, 명시적 사람 전이, 그리고 승격 안 된 건 거부하는 소비 경계의 guard.
Hint
두 확인이 진짜 신뢰 경계가 있는지 드러내: (1) 데이터를 만드는 게 그걸 믿을 만하다고 선언도 할 수 있어? 그렇다면 경계가 없어 — 이름만 바꾼 거야. (2) 아무도 아무것도 리뷰 안 하면 어떻게 돼? 안전한 답은 '아무것도 안 나가고 나머지 시스템은 여전히 돈다' 야. 답이 '어차피 다 나감' 이나 '제품이 깨짐' 이면, gate 는 장식이거나 우회될 거야.

Progress

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

댓글 0

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

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