원본: KKIRI_CASE_STUDY.md

끼리 (KKIRI) — 케이스 스터디

작성: 페이블 · 2026-09-04 목적: 대리인 협상이 실제 입력에서 어떤 결과를 내는지 3개 케이스로 끝까지 돌려 본다. 발표 데모의 자동 채움 값과 결과 문구는 Case 1을 그대로 쓴다. ※ 케이스 인물·답변은 모두 가상. 만족도 수치는 아래 산식으로 손계산한 값이며 실제 엔진 결과가 아니다.


0. 협상 규칙 (세 케이스 공통)

데모는 규칙 기반이라고 밝히고 있다. 발표에서 "규칙이 뭐냐"를 물으면 이 표로 답한다.

입력 → 대리인 조건

답변 유형 조건 협상에서의 힘
단일 선택(방식·지역) 선호 pref 맞으면 +, 틀리면 −
시간·예산 + 상한 토글 상한 cap 거부권. 넘는 후보는 탈락
1·2순위 목적 가중치 w1=2, w2=1 점수 배율
자유서술 금지 조건 금지 avoid 거부권

후보 점수

개인 만족도 s_i (0~100)
  = 40 × 목적 일치(1순위 1.0 / 2순위 0.5 / 불일치 0)
  + 25 × 방식 일치(정확 1.0 / 반반↔편측 0.5 / 반대 0)
  + 20 × 지역 일치(정확 1.0 / 무관 1.0 / 불일치 0)
  + 15 × 시간 일치(정확 1.0 / 더 짧음 0.6 / 더 김 0)
거부권: cap 초과 또는 avoid 해당 시 후보 즉시 탈락

후보 점수 = 0.5 × min(s_i) + 0.5 × mean(s_i)

min을 절반 반영하는 것이 "다수결이 아니다"의 실체다. 한 사람이 크게 손해 보는 후보는 평균이 높아도 진다.

설명 생성 규칙


Case 1. 팀 워크숍 4명 — 발표 데모 기준

상황: 스타트업 마케팅팀. 팀장이 방장. 분기 워크숍. 예산은 회사 부담이지만 1인 5만원 가이드가 있다.

비공개 답변

참가자 방식 시간 목적 1·2순위 지역 예산 상한 금지 조건
민수(방장) 반반 하루 재충전 · 아이디어 수도권 근교 5만 "운전은 안 하고 싶어요"
지영 실내 하루 아이디어 · 팀워크 서울 도심 5만 없음
태호 야외 1박 2일 팀워크 · 재충전 지역 무관 10만 없음
서연 실내 반나절 (상한) 재충전 · 아이디어 서울 도심 3만 (상한) "술자리 중심은 피하고 싶어요"

후보 (주제 템플릿에서 생성)

# 후보 방식 시간 지역 1인 비용 성격
C1 양평 리트릿 워크숍 반반 하루 근교 4만 재충전+아이디어
C2 성수 팀 미션 데이 실내 반나절 도심 3만 팀워크+아이디어
C3 가평 1박 팀빌딩 야외 1박 2일 근교 9만 팀워크
C4 강남 회의실 아이디어톤 실내 하루 도심 2만 아이디어

거부권 통과

이 시점에서 데모의 실제 결과(양평 리트릿 워크숍)는 서연의 반나절 상한을 무시한 결과다. 데모의 자동 채움 값은 알 수 없지만, 거부권을 도입하면 결과가 바뀔 수 있다는 점을 발표 전에 확인해야 한다. 발표 빌드의 자동 채움에서는 서연의 시간을 "하루"로 두면 C1이 산다. 아래는 그 조정(서연: 하루, 상한 없음)을 적용한 계산이다.

조정 후 거부권 통과: C1, C2, C4 (C3은 예산 상한으로 여전히 탈락)

개인 만족도

C1 양평 C2 성수 C4 강남
민수 40+25+20+15 = 100 20+12.5+0+9 = 41.5 20+12.5+0+15 = 47.5
지영 20+12.5+0+15 = 47.5 20+25+20+9 = 74 40+25+20+15 = 100
태호 20+12.5+20+9 = 61.5 40+0+20+9 = 69 0+0+20+9 = 29
서연 40+12.5+0+15 = 67.5 20+25+20+9 = 74 20+25+20+15 = 80
min 47.5 41.5 29
mean 69.1 64.6 64.1
후보 점수 58.3 53.1 46.6

결과: C1 양평 리트릿 워크숍.

화면에 나갈 문장


Case 2. 친구 여행 3명 — 예산 격차

상황: 대학 동기 3명, 2박 3일 여행. 한 명은 취준생이라 돈이 없는데 말을 못 한다. 끼리가 가장 필요한 장면.

비공개 답변

참가자 방식 시간 목적 1·2 지역 예산 상한 금지
하늘 야외 2박 휴식 · 사진 제주 40만 없음
반반 2박 맛집 · 휴식 지역 무관 30만 "렌트 운전 혼자 다 하는 건 싫어"
도윤(취준) 반반 1박 (상한) 휴식 · 맛집 지역 무관 15만(상한) 없음

후보

# 후보 방식 시간 지역 1인 비용 성격
C1 제주 2박 렌트 야외 2박 제주 38만 사진+휴식
C2 강릉 1박 KTX 반반 1박 강원 14만 휴식
C3 부산 2박 KTX 반반 2박 부산 24만 맛집
C4 제주 1박 뚜벅이 야외 1박 제주 16만 사진

거부권: 도윤 15만·1박 상한 → C1, C3, C4 탈락. C2만 생존.

결과: 강릉 1박 KTX.

설계 함의: 후보가 1개만 남으면 "협상"이 아니라 "필터"다. 이 경우 화면은 조건을 모두 만족하는 안이 하나예요 라고 솔직히 말하고, 차선안 섹션에 "예산 상한을 20만으로 올리면 열리는 안: 제주 1박 뚜벅이"를 방장에게만 보여준다. 상한을 낸 사람의 동의 없이 재조율하면 안 되므로 재조율 요청은 전원 익명 동의로 진행.


Case 3. 회식 6명 — 금지 조건이 충돌

상황: 개발팀 회식. 알레르기, 비건, 임신 초기(아직 비공개) 등 공개하기 어려운 조건이 모인다.

비공개 답변 (요약)

참가자 선호 메뉴 예산 상한 금지 조건(자유서술 → 구조화)
A 고기 4만 없음
B 고기 4만 없음
C 해산물 5만 "갑각류 알레르기" → avoid: shellfish
D 상관없음 3만 (상한) "술 강요 없는 분위기" → avoid: drinking-centered
E 채식 옵션 4만 "고기만 있는 집은 못 가요" → require: vegetarian-option
F 상관없음 4만 "날것은 피하고 싶어요" → avoid: raw (임신 초기, 사유는 안 씀)

후보

# 후보 비용 특성
C1 삼겹살집 3만 고기, 채식 옵션 없음, 술 중심
C2 회 코스 5만 날것, 갑각류 포함
C3 샤브샤브 뷔페 3.5만 채식 가능, 익힌 음식, 술 선택
C4 이탈리안 4만 채식 가능, 익힌 음식, 술 선택

거부권: C1(E 채식 요구, D 술 중심) 탈락 / C2(C 갑각류, F 날것, D 예산 3만 초과) 탈락. C3, C4 생존.

점수: 회식 템플릿은 목적 문항이 없으므로 메뉴 선호 60 + 예산 여유 40으로 계산 ※ 가정 기반 - 확인 필요.

결과: 샤브샤브 뷔페.

설계 함의: 회식은 금지 조건이 결과를 거의 결정한다. LLM 구조화의 정확도가 곧 서비스 신뢰다. "날것은 피하고 싶어요"를 avoid: raw로 못 바꾸면 C2가 살아남고 F는 침묵한 채 회 코스에 간다. 6번 자유서술의 구조화 결과를 본인에게 확인받는 단계(“이렇게 이해했어요: 날것 제외. 맞나요?”)가 S4에 필요하다.


세 케이스에서 나온 공통 결론

  1. 거부권이 차별점의 실체다. 세 케이스 모두 다수결과 다른 답이 나왔고, 원인은 항상 한 사람의 상한·금지 조건이었다.
  2. 후보가 1개만 남는 상황이 잦다. 그때 "협상 중" 연출은 거짓말이 된다. 화면은 필터 결과임을 밝히고, 상한을 풀면 열리는 안을 조건 낸 사람 동의하에 제시한다.
  3. 자유서술 구조화 확인 단계가 필수다. 구조화 오류 1건이 거부권 1건을 날린다.
  4. 결과 문장의 익명화 규칙은 코드로 강제해야 한다. 2인 이상 공통 조건만 구체화, 단독 조건은 집계 문장으로. LLM 프롬프트에만 맡기면 새는 날이 온다.
  5. 데모 자동 채움 값은 Case 1로 고정하고, 발표 전에 거부권 도입 후에도 양평 리트릿 워크숍이 나오는지 실제로 돌려서 확인한다. 이 문서의 손계산은 그 검증을 대체하지 않는다.