AI 페르소나 A/B/C: 역할·출력 지시와 엑셀 릴리스 메모 검산
“전문가처럼 답해 줘”라고 요청해도, 논의 중인 내용을 완료된 사실로 바꾸면 요약은 실패입니다. 이 실습은 릴리스 메모 일곱 줄을 완료·대기·반려·논의로 나눕니다. 역할 이름을 붙였다는 이유로 근거 없는 확신을 보상하지 않고, 원문 ID와 건수를 함께 대조합니다.
아래 A/B/C는 실제 모델의 응답을 측정한 실험 결과가 아닙니다. 직접 작성한 세 요청 방식과 기대 출력입니다. C는 역할과 출력 조건을 함께 바꾸므로 결과가 좋아져도 ‘페르소나 하나의 효과’로 해석할 수 없습니다.

일곱 메모를 입력으로 고정하기
fixture.json의 notes와 XLSX 릴리스메모 시트 A5:C11은 같은 자료입니다. 실제 제품의 변경 내역이나 업무 진행 기록이 아닙니다.
| 근거ID | 메모 | 명시 상태 |
|---|---|---|
| N01 | 로그인 버튼 문구 교체 완료 | 완료 |
| N02 | 다운로드 안내 초안 검토 대기 | 대기 |
| N03 | 날짜 형식 수정 완료 | 완료 |
| N04 | 색상 변경 제안 반려 | 반려 |
| N05 | 빈 파일 경고 추가 완료 | 완료 |
| N06 | 모바일 표 잘림 원인 조사 대기 | 대기 |
| N07 | 유료 요금 변경 의견만 논의 | 논의 |
완료는 N01·N03·N05의 3건입니다. 대기 2건, 반려 1건, 논의 1건을 더하면 전체 7건과 맞습니다. 가상 입력 N07의 제안은 확정 사항이 아니며 구체적인 변경 내용도 제공되지 않았습니다.
A와 B를 먼저 비교하고 C를 별도 해석하기
동일한 메모 일곱 줄을 다음 문장 뒤에 붙입니다. A와 B의 차이는 역할 지정입니다. C는 검산할 출력 계약까지 추가한 별도 설계입니다.
A: 아래 메모를 상태별로 요약해 주세요.
B: 릴리스 편집자 역할로 아래 메모를 상태별로 요약해 주세요.
C: 릴리스 편집자 역할로 메모의 명시된 상태만 분류하세요.
완료·대기·반려·논의를 구분하고 각 상태의 count와 source_ids를
JSON으로 반환하세요. 논의 중인 요금을 확정하지 마세요.
상태가 없으면 확인 필요로 남기세요.
실제 비교를 한다면 세 요청 모두 같은 입력과 계정 조건을 사용합니다. A/B의 자유로운 요약을 C 전용 JSON 검산기에 그대로 넣어 실패했다고 ‘품질이 낮다’고 결론 내리지 않습니다. A/B는 원문 근거와 분류를 사람이 대조하고, C는 그 대조에 더해 명시된 형식도 확인하는 구조입니다.

C가 반환해야 할 내용
{
"완료": {"count": 3, "source_ids": ["N01", "N03", "N05"]},
"대기": {"count": 2, "source_ids": ["N02", "N06"]},
"반려": {"count": 1, "source_ids": ["N04"]},
"논의": {"count": 1, "source_ids": ["N07"]}
}
이것은 작성한 정답 예시입니다. 실행 화면에서 복사한 AI 답변이 아닙니다. verify.py는 fixture의 상태별 ID와 개수를 독립적으로 모아 expected와 비교합니다. 숫자만 맞추고 N07을 완료 근거에 섞는 답은 정확한 값 비교에서 거절합니다.
OpenAI의 프롬프트 안내는 모델 출력의 비결정성을 설명하고 평가를 함께 설계하도록 권합니다. 그래서 한 번 나온 문장만으로 역할 지정이 항상 효과 있다고 단정하지 않습니다. 이 글은 특정 모델별 최적 프롬프트나 생산성 개선율을 주장하지 않습니다.
파일을 이용한 확인 순서
-
릴리스 메모 ZIP 전체를 풀고 원본을 복사합니다. 첨부 검산기는 Python 표준 라이브러리만 사용합니다. 실제 검증 환경은 README에 기록했습니다.
-
python3 verify.py를 실행합니다. 기본 정답 일치와 반례 거절 건수가 나옵니다. 네트워크 요청은 없습니다. -
엑셀 파일의
릴리스메모의 F5:F8에서 3·2·1·1을, F10:F11에서 7·7을 확인합니다. -
C를 실제로 시험한 경우 최초 JSON을
response.json에 보관하고python3 verify.py response.json을 실행합니다. A/B의 서술형 응답은 원문 ID와 상태를 별도 대조합니다. -
재실행은 새 회차로 기록합니다. 마음에 든 출력만 남겨 처음부터 안정적이었다고 설명하지 않습니다.

상태 오타와 근거 발명을 다른 오류로 보기
실습 사본에서 C11의 논의를 완료로 바꾸면 완료 건수 F5가 4가 됩니다. 수식은 입력한 상태를 셀 뿐 N07 문장과의 모순을 이해하지 않습니다. 원문 메모와 대조한 뒤 C11을 논의로 복원해야 합니다.
C11에 논의중을 넣으면 네 가지 상태의 합계 F10은 6으로 줄지만 전체 행 수 F11은 7입니다. 이는 빠진 상태를 찾는 신호입니다. 원문이 실제로 논의 상태라면 입력 표기를 논의로 바로잡고 7·7을 재확인합니다. 새 상태가 필요한 업무라면 억지로 기존 분류에 넣지 말고 계약을 먼저 바꿉니다.
N08처럼 입력에 없는 ID가 나오면 철자만 추정해 바꾸지 않습니다. 원본 응답을 남기고 해당 근거가 없다는 오류로 기록합니다. 원문에 없는 세부 정보가 붙으면 자연스러운 문장이라도 근거 없음으로 표시합니다.

릴리스 메모 일곱 줄에 한정된 검산 범위
JSON 검산기는 이 일곱 줄에 대해 키·자료형·값을 정확히 비교합니다. 의미가 같은 다른 순서나 표현도 불일치일 수 있습니다. 새로운 회의나 릴리스 문서의 의미를 자동 평가하는 범용 모델이 아닙니다. XLSX의 고정 전체 행 수 7을 다른 자료에 그대로 적용하지 않습니다.
정답을 새로 정해야 하는 상황에서는 입력 사본, 상태 정의, 보류 조건을 함께 남깁니다. 역할은 글의 관점을 알려 주는 요청 요소이고, 자료에 없는 사실의 출처나 최종 승인 권한이 아닙니다.

출처 원문 수집일: S1 2026-09-24.