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

Sidekick은 대화에 묶여

~11 min · sidekick, conversation, folder, identity

Level 0마른 펜촉
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"대화를 붙여. 대화하는 자아를 복제하지 말고."

필요와 소유를 나눠

Inkwell 안 Sidekick은 문장을 이야기하고 키워드를 다듬고 리뷰 메모를 설명할 수 있어. 그래도 별도 기억을 가진 작은 assistant가 아니라 cwkPippa 대화에 붙는 surface야.

경계를 건너는 모양

canonical conversation id를 저장하고 cwkPippa가 소유한 Inkwell folder에 둬. UI는 그 binding으로 보여주고 보내. 제품 context는 분명히 붙일 수 있지만 대화 history는 주인에게 남아.

복제의 유혹

local messages table은 history를 조용히 갈라. bound conversation 없는 generic chat은 연속성을 잃고. 관계없는 엔트리에 id를 재사용하면 context가 섞일 수 있으니 binding과 scope 규칙이 분명해야 해.

가족 불변식. 대화를 붙여. 대화하는 자아를 복제하지 말고.

요청과 참조만 건너가

이 경계를 감사할 때 code import만 보지 마. 어떤 요청이 어느 주인에게 가고, 결과가 값인지 managed reference인지, 실패와 retry를 누가 설명하는지 따라가. credential과 canonical history, voice catalog 같은 주인 데이터가 Inkwell 안에 복사돼 있으면 편한 integration이 아니라 두 번째 시스템이야.

직접 경계표를 써

엔트리가 대화를 재사용할 때와 새 bound conversation을 시작할 때를 정해. 정상 성공뿐 아니라 timeout과 stale output, sibling unavailable, schema mismatch도 넣어. 양쪽이 서로 처리할 거라고 가정하는 빈칸이 하나라도 있으면 그게 다음 장애의 주인이야.

덜 소유할수록 더 자기다워져

Inkwell의 정체성은 브레인이나 목소리 엔진을 새로 만드는 데 있지 않아. 원문 우선 흐름과 펜 없는 리뷰, 필사 화면, 늦은 결과의 착지 규칙을 한 경험으로 묶는 데 있어. 경계는 제품에서 빠진 부분이 아니라 그 조합을 가능하게 하는 기능이야.

이 경계의 실제 payload

로컬에는 conversation id와 entry scope만 남기고 message history는 cwkPippa에서 읽어. entry scope가 달라졌거나 전혀 다른 엔트리라면 기존 대화를 재사용할지 규칙으로 판단해. 편하다고 같은 id를 모든 글에 붙이면 서로 다른 글의 context가 섞여.

복붙한 능력은 잠깐 가깝지만 canonical 주인과 갈라지는 순간 가장 먼 dependency가 돼. 요청과 provenance-bearing reference만 경계를 건너게 해.

Code

chat history 대신 conversation binding을 저장해·json
{
  "surface": "inkwell-sidekick",
  "conversation_id": "canonical-conversation-id",
  "folder": "INKWELL",
  "scope": {
    "entry_id": "synthetic-entry"
  },
  "local_message_store": false
}

External links

Exercise

엔트리가 대화를 재사용할 때와 새 bound conversation을 시작할 때를 정해.
Hint
주인, 요청, 결과, retry를 한 줄에 놓아.

Progress

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

댓글 0

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

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