측정
Prism의 점수(대표 지표인 프롬프트 점수와 보조 지표인 완료율)는 서브세션이 닫힐 때 기록하는 값들로 만들어집니다. 이 페이지에서는 그 값들이 어디서 오는지, 서브세션의 시작과 끝이 어떻게 정해지는지, 누가 판정을 내리는지를 설명합니다.
계산식과 페이지별 설명은 프롬프트 점수, 전체 알고리즘 명세는 알고리즘 개요를 참고하세요.
닫힌 서브세션이 기록하는 것
섹션 제목: “닫힌 서브세션이 기록하는 것”| 기록 | 출처 | 답하는 질문 |
|---|---|---|
| 실질 기준 | 규칙 기반 판정 | 실제 작업이 있었나? — 턴 3회 이상, 순 변경 10줄 이상, 변경 도구 호출 1회 이상 중 하나 |
| 목표 완료 | LLM 결과 판정 | 의도별 기준에 따라 서브세션이 목표를 달성했나? |
| 재작업 | 규칙 기반 판정 | 이후 서브세션이 이 서브세션을 되돌리거나 다시 썼나? |
| 사용 토큰 | OTel 텔레메트리 | 서브세션이 토큰을 얼마나 썼나? |
| 의도 확립 | LLM 루브릭 판정 | 서브세션이 명확한 유형(질문, 버그 수정, 기능 개발 등)으로 분류되었나? |
이 중 앞의 세 가지가 완료 여부를 정합니다. 실질 기준을 통과하고, 목표가 완료되고, 재작업이 아니어야 합니다. 의도는 이 판정에 들어가지 않습니다. 대신 어떤 루브릭 항목을 적용할지를 정하며, 루브릭 판정기가 유형을 정하지 못한 서브세션은 실패로 세는 대신 점수에서 빠집니다. 프롬프트 점수 → “완료”의 의미를 참고하세요.
실질 기준
섹션 제목: “실질 기준”LLM이 끼어들지 않는, 규칙만으로 판단하는 필터입니다. 이 기준은 실제 작업이 없는 서브세션을 잡아내 분모를 부풀리지 못하게 막습니다.
다음 중 어느 하나라도 참이면 서브세션은 기준을 통과합니다.
- 사용자와 어시스턴트 사이의 턴이 3회 이상.
- 순 추가 코드가 10줄 이상(수정된 모든 파일 합산).
- 변경(mutating) 도구 호출이 1회 이상(Edit, Write, 부수 효과가 있는 Bash 등).
기준을 통과하지 못한 서브세션은 사소한 서브세션 페이지로 갑니다. 처벌되지 않고, 비율의 양쪽에서 단순히 제외됩니다.
결과 판정 — 의도별 기준
섹션 제목: “결과 판정 — 의도별 기준”무엇을 “끝냈다”고 볼지는 어떤 작업이었는지에 따라 다릅니다. 판정은 서브세션을 읽고, 어떤 종류의 작업이었는지를 반영해 해당하는 기준을 적용합니다.
| 의도 | 완료로 인정되는 조건 | 묵시적 완료 기준선 |
|---|---|---|
| 질문 | 사용자가 답을 받아들임(추가 명확화 질문 없음) | 0.50 |
| 원인 조사 | 명시된 결론에 도달함 | 0.60 |
| 리뷰 | 실행 가능한 판단을 내림 | 0.60 |
| 계획·설계 | 서브세션 내에서 계획이 수락됨 | 0.60 |
| 소규모 수정 | 변경이 적용되고 즉시 되돌려지지 않음 | 0.50 |
| 버그 수정 | 수정 적용 + 검증 증거(테스트 통과, 오류 사라짐, 재현 확인) | 0.75 |
| 기능 개발 | 범위에 맞는 스캐폴딩 + 수용 기준 + (테스트 또는 명시적 “테스트 나중에”) | 0.75 |
| 리팩터링 | 동작 보존 증거(테스트 그린, 린트 클린, 타입 체크 통과) | 0.75 |
묵시적 완료 기준선(silent-completion floor)은 명시적인 “됐다”는 신호가 없을 때, 채점기가 정황 증거만으로 서브세션을 완료로 인정하려면 얼마나 확신해야 하는지를 나타내는 신뢰도 값입니다. 테스트가 통과했다거나 “고마워, 잘 되네” 같은 분명한 신호가 있으면 판정은 어렵지 않습니다. 그런 신호 없이 대화가 자연스럽게 끝났거나 곧바로 다음 주제로 넘어간 정황만 남으면, 채점기는 이 기준선을 넘을 만큼 확신이 설 때에만 완료로 봅니다. 기준선이 높을수록 더 많은 정황 증거가 필요합니다. 그래서 버그 수정·기능 개발·리팩터링은 기준선이 가장 높고(0.75), 검증 테스트로 결과를 확인하지 않은 수정은 대개 완료로 인정되지 않습니다.
재작업 감지
섹션 제목: “재작업 감지”서브세션이 닫힌 뒤 규칙에 따라 확인하는 항목입니다. 이후 서브세션이 같은 코드를 되돌리거나 다시 쓰면, 결과 판정이 완료로 봤더라도 이전 서브세션은 강등됩니다. 이는 “된다고 말하고 내일 고치기”가 점수를 부풀리는 것을 막아 줍니다.
서브세션 경계
섹션 제목: “서브세션 경계”서브세션은 다음 중 하나가 발생할 때 닫힙니다.
| 신호 | 의미 |
|---|---|
/clear | 컨텍스트를 명시적으로 초기화한 경우. 터미널을 새로 시작해도 동일하게 처리됩니다. |
| 주제 전환 | 프롬프트가 실질적으로 다른 작업으로 넘어간 경우. |
| 30분 유휴 | 30분간 멈춘 경우 — 점심, 회의, 퇴근 등. |
/compact는 경계가 아닙니다. 트랜스크립트를 압축하지만 목표는 유지합니다. 컨텍스트 여유가 필요할 때는 /compact, 새 작업을 시작할 때는 /clear를 쓰세요.
조각화 방지 병합(anti-fragmentation merge)
섹션 제목: “조각화 방지 병합(anti-fragmentation merge)”/clear는 작업 도중에도 일어날 수 있습니다. 컨텍스트에 여유를 만들려고 /clear로 대화를 비운 뒤, 하던 작업을 그대로 이어 가는 경우입니다. 이럴 때 병합기는 서브세션이 닫힌 뒤, 다음 두 조건이 모두 맞으면 앞뒤 서브세션을 다시 하나로 잇습니다.
- 닫힘 후 10분 이내에 다음 서브세션이 시작.
- 동일한 파일 50% 이상을 건드림.
이 병합기가 있어서 /clear를 확실한 경계로 안심하고 쓸 수 있습니다. 병합기가 없다면 /clear를 자주 쓰는 것만으로 성실하게 일한 사용자의 점수가 깎일 수 있습니다.
무엇이 판정하는가
섹션 제목: “무엇이 판정하는가”이 중 일부는 단순한 계산입니다. 실질 기준과 재작업 감지는 고정된 규칙이라 같은 세션이면 항상 같은 답을 냅니다. 나머지는 실제로 무슨 일이 있었는지 읽어야 하며, 여기에는 언어 모델이 쓰입니다. 한 작업이 끝나고 다음이 시작되는 지점을 정하고, 어떤 종류의 작업이었는지 분류하고, 각 프롬프트를 루브릭으로 채점하고, 목표에 도달했는지 판정하는 일입니다.
업데이트 주기
섹션 제목: “업데이트 주기”모든 점수 화면은 서브세션이 닫힌 뒤 몇 분 안에 갱신됩니다. 채점은 서브세션이 실제로 닫힐 때 시작되며 정해진 시각에 도는 것이 아니므로, 처리 시간 외에 따로 기다릴 것은 없습니다.