# 면접 데모 가이드

## 첫 20초

“이 프로젝트는 LLM 성능 시연보다, LLM이 실제 업무를 실행할 때 생기는 실패를 통제하는 방법에 초점을 맞췄습니다. Solar가 문서를 구조화하지만 승인·재시도·중복 방지·복구는 별도의 결정론적 제어층이 담당합니다.”

## 3분 시연 순서

1. 첫 화면의 `432`, `24/24`, `20,736`을 가리키며 정상 흐름만 확인한 프로젝트가 아니라고 설명합니다.
2. `저장 후 응답 유실`을 선택하고 문서 분석을 시작합니다.
3. `APPROVAL_PENDING`에서 외부 기록이 0회임을 보여줍니다.
4. 승인 버튼을 누르며 “새 runtime이 기존 SQLite checkpoint에서 재개한다”고 말합니다.
5. 완료 카드에서 `실제 기록 1`, `중복 0`, `기존 결과 재사용`을 확인합니다.
6. 같은 요청을 다시 보내도 기록 횟수가 1인 것을 보여줍니다.

## 한 문장으로 설명해야 할 때

“모델이 틀리거나 응답이 끊겨도 승인되지 않은 작업과 중복 작업이 발생하지 않도록 만든 agent 실행 안전망입니다.”

## 예상 질문과 답변

### 왜 LLM이 직접 도구를 실행하지 않나요?

생성 결과는 확률적이기 때문입니다. LLM은 구조화 후보를 만들고, 실제 권한은 strict schema·정책·사람 승인·idempotency를 통과한 코드 경로에만 줬습니다.

### 정확히 한 번 실행을 보장하나요?

분산 시스템의 exactly-once를 주장하지 않습니다. 동일 idempotency key와 persisted business-state version을 이용해 이 업무 계약 안에서 중복 효과를 막습니다.

### 응답 유실은 어떻게 구분하나요?

도구가 기록을 commit한 뒤 응답만 사라지는 fault를 주입합니다. 재시도 때 같은 key의 committed result를 먼저 조회하므로 다시 기록하지 않고 기존 결과를 반환합니다.

### 승인은 어떻게 묶이나요?

승인 대상 case, tool, arguments digest, TTL을 저장합니다. 재개 시 현재 실행 인자와 승인 증거가 맞지 않으면 실행을 거부합니다.

### 432개 시험이 모두 UI도 검증하나요?

아닙니다. 432개는 봉인된 reliability core 검증입니다. Solar adapter·웹 데모·로컬 실행 경로에는 별도의 10개 unit/contract test 및 HTTP smoke test가 있습니다. 라이브 공급자 호출은 별도 receipt로 증명합니다.

### 가장 어려웠던 버그는 무엇이었나요?

Windows에서 종료된 프로세스의 PID가 재사용되면 다른 프로세스를 기존 child로 잘못 볼 수 있는 문제가 있었습니다. PID만 비교하지 않고 process creation time을 함께 확인하도록 바꿔, cleanup 대상의 identity를 고정했습니다.

### 실제 운영으로 확장한다면 무엇을 더 하나요?

실제 업무 connector sandbox, secrets manager, distributed lock 또는 transactional outbox, provider rate-limit/backoff, OpenTelemetry, red-team dataset, approval RBAC, 개인정보 보존정책을 추가합니다.

## 절대 과장하지 않을 문장

- “운영 안전을 완전히 보장합니다.” → 사용하지 않음
- “exactly-once를 달성했습니다.” → 사용하지 않음
- “라이브 Solar E2E를 검증했습니다.” → `LIVE_PROVIDER_E2E_RECEIPT.json`이 PASS인 경우에만 사용
- “432개가 모든 환경과 UI를 검증했습니다.” → 사용하지 않음

## 라이브 최종 확인

1. 공개 웹주소를 열고 서버 연결 상태를 확인합니다. CMD 실행이나 개인 키 입력은 필요 없습니다.
2. 공개 배포의 PASS receipt와 최종 ZIP의 SHA-256을 확인합니다.
3. 로컬 재검증이 필요할 때만 Windows ZIP의 압축을 완전히 풀고 `START_HERE_UPSTAGE_LIVE_DEMO.cmd`를 실행합니다.
4. 이 경우 Upstage Studio의 본인 Secret key를 보안 입력창에 한 번 붙여넣습니다.
5. PASS receipt가 생기기 전에는 새 로컬 라이브 검증 완료라고 주장하지 않습니다.
