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

대화가 state 를 materialize 한다

~12 min · proposal, provenance, mutation, accept

Level 0표식 없는 길
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"여기선 말이 싸지 않아. 말이 itinerary 를 짓는 방식이야 — 단, 네가 yes 한 다음에."

턴 하나가 mutation 을 제안할 수 있다

대화가 곧 계획이면, 대화 턴은 계획을 바꿀 수 있어야 해 — 아니면 그냥 잡담이지. Waystone 에선 턴 하나가 하나 이상의 proposed 도메인 mutation 을 만들 수 있어: 날 추가·제거·재정렬; 후보 장소 추가하거나 planned 로 승격; route 나 호텔 비교; 추천과 rationale 기록; 아빠의 결정 기록; travel event 생성; 링크된 글 문서 열기. 대화는 폼 위의 장식이 아냐 — 구조화된 state 가 쓰이는 주된 방식이야.

Proposal, 그다음 accept — 절대 조용히 아냐

근데 여기 신뢰를 지키는 규율이 있어: Pippa 는 중요한 변경을 보이는 proposal 이나 diff 로 제시하고, 아빠가 같은 대화에서 accept·reject·refine 할 수 있어. 언급되는 순간 중요한 게 쓰이는 일은 없어. accept 만이 proposal 을 canonical Waystone state 로 바꿔. 이건 'AI 가 그냥 해버렸다' 패턴 — assistant 가 네 데이터를 조용히 mutate 하고 넌 나중에 발견하는 — 에 대한 의도적 거부야. Waystone 에선 'Pippa 가 제안했다' 와 '이제 이게 사실이다' 사이 경계가 명시적인 인간의 행위야.

Accept 된 state 는 provenance 를 실는다

proposal 이 accept 되면, 결과 state 는 고아로 도착하지 않아. 그걸 만든 대화와 결정으로 provenance 를 간직해. 몇 달 뒤, 추가된 날이나 승격된 장소를 보고 인지 추적할 수 있어 — 어느 턴, 어떤 추론, 어떤 결정. 그 provenance 가 itinerary 편집 더미를 방어 가능한 history 로 바꿔. 설명 못 하는 편집은 신뢰 못 하는 편집이고, lineage 있는 편집은 audit·재방문·학습 가능한 거야.

이 proposal-그다음-accept 루프의 첫 완전 버튼형 버전이 Track 6 의 Carve 야: 거친 계획이나 사진이 gated 리뷰 상태로 에디터에 로드되는 proposed scaffold 가 되고, Accept 만이 그걸 persist 해 — 이전 버전을 먼저 스냅샷하면서. 같은 루프, 구체화된.

Code

proposal -> accept -> provenance 루프·text
아빠 (대화에서):  "Zurich 빼고, Grindelwald 에 이틀 추가."
        |
        v
Pippa 가 DIFF 제안:  - remove day: Zurich (D2)
                     + add day: Grindelwald (D2)
                     + add day: Grindelwald (D3)
        |
        v
아빠: accept / reject / refine  <-- 인간의 경계
        |
   (accept)
        v
canonical state 가 mutate 되고, 새 날들이 provenance 를 실어:
   from_conversation: <id>   from_decision: "날씨로 Zurich 뺌"

# 'Pippa 가 제안했다' 와 '이제 사실이다' 는 다른 이벤트야.
# 그 둘 사이의 틈에 신뢰가 살아.

External links

Exercise

네 데이터를 편집하는 AI 도구를 떠올려봐 — 똑똑한 캘린더, 이메일 자동응답, 파일을 재정리하는 assistant. 행동 전에 proposal 을 보여줘, 아니면 행동하고 네가 알아채길 바라? 이제 1년 뒤 그 변경 중 하나가 왜 일어났는지 설명해야 한다고 상상해. 할 수 있어? 그 변경을 audit 가능하게 만들 최소 'accept' 단계를 설계해봐.
Hint
가장 싼 audit 가능성은 보이는 diff + 저장된 이유야. AI 변경이 '어떤 요청이 이걸 일으켰고 왜?' 에 답 못 하면, 오늘은 편의고 내일은 미스터리야. accept 단계가 이유가 붙는 곳이야.

Progress

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

댓글 0

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

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