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

Pippa Go 가 뭔지 (그리고 뭐가 아닌지)

~12 min · identity, overview, projection, mobile

Level 0신호 없음
0 XP0/32 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"더 작은 챗 앱이 아냐. 머릿속 질문에서 진짜 답까지, 가장 빠르고 정직한 경로야."

딱 하나의 일, 꽉 붙잡고

Pippa Go 가 지어진 그 순간을 그려봐. 기차 안, 신호 한 칸, 지금 당장 Pippa 한테 묻고 싶은 질문이 머리에 떠올라 — 지금 보고 있는 그것 사진까지 붙여서. 폰 앱 열고, 쓰고, 붙이고, 전송. 할 일은 그 흐름 하나야. 질문 잡고, 이미지 같이 실어 보내고, 진짜 답 받고, 링크 끊겨도 질문은 안 잃기. 이 퀘스트의 모든 게 그거 하나 지키자고 있는 거야.

모바일 클라이언트는 대개 이 순간에 무너져. 전송 버튼을 저장 버튼처럼 다루거든. 그래서 연결이 끊기면 입력이 통째로 먹혀. Pippa Go 는 그 순서를 뒤집어. 전송은 운송일 뿐이고, 저장은 이미 조금 전에 로컬에서 끝나 있어.

안 하기로 한 것 셋

뭔가의 모양을 제일 빨리 파악하려면, 그게 일부러 안 하기로 한 걸 짚어 보면 돼.

  • 풀 챗을 줄여놓은 게 아냐. 브랜치, council, artifact, 관리, 전체 트랜스크립트 리플레이. 그건 canonical 백엔드에 살아. 폰에 욱여넣어 봐야 이미 있는 걸 더 못하게 베낀 물건이 될 뿐이야.
  • 두 번째 Pippa 가 아냐. Pippa 는 딱 하나야. 정체성, 기억, 판단, 모델 라우팅 전부 백엔드에 있어. Pippa Go 는 평행 soul 도, 두 번째 모델 라우터도, 경쟁하는 진실의 출처도 안 키워.
  • 오프라인 챗봇이 아냐. 캡처는 오프라인에서도 잘 돌아가지만, 진짜 답은 그래도 진짜 Pippa 한테 닿아야 나와. 오프라인이 로컬에서 대충 지어내도 된다는 뜻인 적은 없어.

남은 게 곧 제품

그 셋을 걷어내면 진짜 제품이 또렷해져. 질문 우선으로 굴러가는 튼튼한 투영. 기기에 안 사라지게 남는 캡처, 재시도 상태, 오프라인 outbox, macro 캐시, 연결 설정. 이건 폰이 가져. 그리고 집중된 Q/A 화면 하나를 보여줘. 그 뒤에서 대화는 전부 태어날 때부터 백엔드에서 canonical 이고, 평범한 컨텍스트 리플레이랑 브랜치 의미를 그대로 가져. 폰은 거기로 가는 제일 손 닿기 쉬운 창일 뿐이야.

이 단어를 기억해 둬. 투영(projection). 투영은 본체가 되지 않고도 본체를 보여줘. 벽에 진 그림자는 물체가 움직이면 따라 움직이지, 혼자 움직이겠다고 마음먹진 않잖아. Pippa Go 가 그 그림자야. 충실하고, 손 닿기 쉽고, 자기를 드리운 몸이랑 헷갈릴 일은 절대 없는 그림자.

Code

Pippa Go 한 턴, 폰이 쥐고 있는 모양 (스케치)·json
{
  "device_turn_id": "d7f3c1a2-9b4e-4c8a-bf10-2e5a6d0c1234",
  "question": "이 두 렌즈 중에 35mm 가 어느 쪽이야?",
  "attachments": [
    { "local_id": "img-01", "media_type": "image/jpeg", "bytes_ref": "idb:blob:img-01" }
  ],
  "sync_status": "pending",   // pending -> sending -> answered | failed
  "created_at_device": "2026-07-16T09:14:02Z"
}

// 질문이랑 이미지는 하나의 aggregate, 기기에 먼저 저장돼.
// sync_status 는 네트워크가 뒤집는 플래그일 뿐. 네트워크가 데이터를 소유하진 않아.

External links

Exercise

입력을 날려먹은 모바일 앱을 하나 떠올려 봐. 연결이 나빠서 초기화된 폼, 보내는 중에 사라진 메시지, 실패하면서 캡션까지 데려간 사진 업로드. 뭐가 어떻게 사라졌는지 적고 한번 따져 봐. 그 '저장'이 네트워크에 묶여 있었을까, 기기에 묶여 있었을까? 입력 날아간 사연은 거의 다, 저장인 줄 알았는데 사실은 전송이었던 이야기야.
Hint
앱을 닫거나 신호를 잃었을 때 쓰던 게 날아갔다면, 그 앱은 로컬에 먼저 커밋한 적이 없는 거야. 해법은 거의 항상 기기에 저장부터 하고 그다음에 보내는 거고, Pippa Go 는 그 순서 뒤집기 위에 세워졌어.

Progress

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

댓글 0

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

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