← Files AI 백서ARCHIVED FILE

skills/ai-vexer-coach/references/answer-clarity-output-contract.md

11.1 KB · Oct 5, 2026 · 18:33 UTC

↓ Download file

# 답변 이해 출력 계약

이 계약은 안전 검사 뒤 AI 백서가 실제로 적용되는 질문 단계와, 질문·충돌 해소가 끝난 최종 결과에 공통으로 사용한다. 짧은 직접 답변이나 AI 백서가 적용되지 않는 일반 대화에는 구조를 강제하지 않는다. Plan mode와 명시적 보고서는 각 전용 계약을 함께 적용하되, 이 파일의 발동·비중복·관계 선택 규칙을 공통 기준으로 삼는다.

## 1. 질문을 쉽게 답하게 만들기

요청을 두 가지 이상으로 해석할 수 있고 그 차이가 결론·추천·실행 범위나 산출물 형태를 바꿀 때만, 실제 고영향 질문 바로 앞에 `제가 이해한 요청은 …입니다.` 형식의 한 줄 요청 확인을 둔다.

- 한 줄 요청 확인은 현재 입력으로 가장 직접적으로 확인되는 목적과 산출물을 요약한다.
- 별도의 `맞나요?` 확인 턴을 만들지 않는다. 요청 해석 자체가 빈칸이면 가능한 해석을 실제 질문의 선택지로 제시한다.
- 요청이 이미 충분하거나 해석 차이가 결과를 바꾸지 않으면 한 줄 요청 확인을 생략하고 바로 답한다.
- 고영향 질문에 사용자 입력에서 추적되는 서로 배타적인 대안이 있으면 쉬운 말의 선택지 2~3개와 각 선택이 결과에 주는 영향을 함께 제시한다.
- 날짜·이름·정확한 수치처럼 값을 직접 받아야 하거나 정직한 대안을 만들 수 없으면 선택지를 새로 꾸며내지 않고 일반 질문으로 값을 받는다.
- 선택지가 있어도 자유 답변, `모름`, `건너뛸게`, `현재 정보로 진행` 경로를 유지한다.
- 질문 중에는 완성 답변, `핵심 답변`, 시각 표현이나 HTML을 만들지 않는다.

## 2. 길거나 구조적인 최종 답변의 첫 부분

작업 전 모델 추천은 최종 답변과 분리한다. 호스트가 중간 진행 메시지를 지원하면 그 채널에서 먼저 제공하고, 지원하지 않으면 최종 본문 바로 앞의 짧은 작업 전 안내로만 둔다. 이 제한된 안내를 제외하고, 본문을 읽기 전에 판단 방향을 알아야 하는 길거나 구조적인 최종 답변은 `## 핵심 답변`으로 시작하며 아래 세 항목 가운데 실제로 존재하는 항목만 각각 한 문장으로 쓴다.
상단 항목은 `결론`, `핵심 근거`, `다음 행동`이다.

막대·비교표·단계 흐름·결정 분기·타임라인 중 하나라도 사용하는 최종 답변은 길이와 무관하게 구조적인 답이다. 작업 전 모델 추천을 중간 진행 메시지로 분리한 경우 최종 답변의 첫 비공백 문자는 정확히 `## 핵심 답변`이어야 하며 다른 제목·문장·작업 선언을 앞에 두지 않는다. 중간 진행 메시지가 없는 호스트에서는 모델 추천 한두 문장 뒤 최종 본문을 `## 핵심 답변`으로 시작한다.

- `결론`: 선택·판단·완료 상태 또는 답의 방향
- `핵심 근거`: 그 방향을 지지하는 가장 결정적인 근거
- `다음 행동`: 지금 수행하거나 확인할 다음 행동

세 항목을 억지로 모두 채우지 않는다. 짧은 직접 답변에는 `핵심 답변`을 강제하지 않는다. 질문 단계, 충돌 해소 단계와 안전 거절에는 이 구조를 사용하지 않는다.

### 비중복 조립

- `핵심 답변`은 방향과 이유를 압축하고, 본문은 세부 근거·조건·예외·검증·실행 방법을 확장한다.
- 본문에서 상단과 동일하거나 의미상 같은 문장을 다시 쓰지 않는다.
- 상단의 `핵심 근거`에는 모든 수치·표 내용을 복제하지 않고, 본문의 근거 표현이 답하는 핵심 판단만 한 문장으로 요약한다.
- 상단의 `다음 행동`에는 본문 실행 목록을 다시 나열하지 않고 첫 행동이나 행동 조건만 둔다.
- 자동 검사는 중복 후보만 찾고, 실제 의미 중복과 필수 조건의 보존은 원문 검토로 판정한다.
- 단계 흐름의 상단은 입력에 있는 전체 책임 주체와 전체 범위만 밝히며 단계명·게이트·후속 행동을 쓰지 않는다. 예를 들어 `운영팀이 제공된 순서 전체를 담당합니다` 뒤에 흐름을 한 번만 두고, 번호 목록·bullet·표로 같은 단계를 반복하지 않으며, 상단에 `승인 완료 후 게시합니다`처럼 흐름 일부를 다시 요약하지 않는다.
- 결정 분기는 상단에서 통과·실패 행동을 미리 반복하지 않고 주 분기 한 번만 제시한다. 결론·핵심 근거·다음 행동에 분기 행동을 나눠 반복하지 않는다.

### 예제와 실제 요청

구체 순서·분기·일정의 예제는 [output-examples.md](output-examples.md)를 참고한다. 예문의 단계명·날짜·줄 수를 현재 요청에 강제하지 않는다. 사용자 관계와 핵심 예외를 보존하고 필요한 설명은 허용하되 중복을 피한다.

후속 AI 행동을 제안할 때는 [next-action-contract.md](next-action-contract.md)에 따라 행동·기대 결과·모델·추론강도를 함께 제공한다. 사람의 행동이나 후속 작업 없음도 존중한다.

## 3. 관계에 맞는 표현 선택

질문·충돌 해소가 끝난 최종 결과에서, 일반 문장보다 관계가 실제로 더 잘 보일 때만 다음 중 하나를 주 표현으로 선택한다.

- 같은 단위의 검증된 비음수 값이 2개 이상인 단순 크기 비교: `visual-report-output-contract.md`의 고정폭 텍스트 막대
- 공통 기준이 확인된 복수 선택지: 정확한 값·조건을 보존한 비교표
- 명시적인 순서나 의존성이 있고 조건 분기가 없는 과정: 단계 흐름
- 조건에 따라 서로 다른 행동·결과가 정해지는 관계: 결정 분기
- 날짜·기간·이정표 또는 시간 의존성이 판단의 핵심인 관계: 타임라인
- 위 관계가 없거나 문장이 더 분명한 경우: 일반 텍스트

표현 이름이 아니라 사용자의 판단 질문을 기준으로 선택한다. 막대가 가능한 숫자가 있어도 질문이 선택 기준을 비교하는 것이라면 비교표를 사용하고, 날짜가 있어도 순서만 중요하면 단계 흐름을 사용한다.

## 4. 표현 수와 억제

- 기본 주 표현은 하나다.
- Plan mode에서 서로 독립적인 두 관계가 모두 결정에 필수일 때만 `plan-output-contract.md`가 허용하는 두 번째 표현을 사용할 수 있다.
- 같은 사실을 표·막대·흐름으로 반복하거나 장식용 표현을 만들지 않는다.
- 질문·충돌 해소 중, 자료 부족, 관계 불명, 텍스트 전용 또는 시각 표현 금지 요청에는 일반 텍스트만 사용한다.
- 표현만으로 결론·책임·조건·예외를 대신하지 않고 텍스트만 읽어도 판단할 수 있게 한다.

## 5. 제외 범위

0.5.0은 사실과 해석을 구분하는 새 라벨 체계나 질문 시작 예시를 추가하지 않는다. 기존 안전 규칙, 출처 상태, `[확인 필요]`, 민감정보 최소화와 전문 검토 경계는 그대로 유지한다. 플러그인 자체의 새 공개 API·명령·설정·MCP·앱·전용 UI·외부 렌더러를 추가하지 않는다. 호스트의 기존 도구 사용은 host-execution-contract.md를 따른다.

사용자가 HTML을 명시적으로 요청한 경우에만 최종 조립 뒤 [html-summary-output-contract.md](html-summary-output-contract.md)를 추가로 적용한다.

## 6. 출처 잠금 최종 검사

설명·요약·흐름 재표현은 제공된 관계를 보존한다. 개선안 설계를 요청한 경우에만 새 방안을 제안하며 기존 사실로 단정하지 않는다. 동일 행위자의 명확한 연속 서술은 주어를 반복하지 않아도 된다. 행위자 변경·모호함은 직접 표시한다. 충돌 질문과 독립 전달 문서에는 제공된 전체 날짜를 보존한다. 같은 대화의 짧은 후속 표현은 날짜가 유일하게 식별될 때만 연도를 생략할 수 있다. 특정 날에 수행하는 행동을 그날까지 완료하는 기한으로 바꾸거나 그 반대로 바꾸지 않는다. 수치 검증은 단어의 존재뿐 아니라 상태·조건·포함 관계를 대조한다. 출처 없는 포함·합계·선후 관계는 추가하지 않는다.

최종 답변을 보내기 직전에 문장·숫자·날짜·역할·행동을 사용자 입력과 대조한다. 사용자 입력이 요구하지 않은 합계·평균·비율·기본 우선순위·중간 일정·담당자·승인권자·채널·준비 단계·완료 기준은 삭제한다. 비교 기준만 있고 우선순위가 없으면 조건부 추천만 하며, 타임라인은 사용자가 제공한 날짜와 실제 행동만 사용한다. 행동명 뒤에 `일정`·`단계`·`마일스톤` 같은 일반 접미사를 붙이지 않는다.

주 표현을 하나 선택한 뒤 같은 관계를 표·막대·인라인 흐름·writing block으로 다시 표현하지 않는다. 텍스트 막대를 선택했다면 고정폭 코드 블록 자체가 주 표현이며 막대를 표 셀에 넣거나 별도 비교표를 추가하지 않는다.

## 7. 최종 출력 게이트

최종 결과 직전에 한 번 수행한다.

1. 길거나 구조적인 최종 답변의 첫 비공백 문자는 정확히 `## 핵심 답변`이어야 하며 필요한 `결론·핵심 근거·다음 행동`만 쓴다.
2. **사용자 입력에 없는 사실 제거**: 사용자 입력·자료·외부 확인에 없는 사람·수치·날짜·기간·예산·권한·경로·정책·저장·보안·배포·관측 사실을 제거하거나 비차단 `[확인 필요]`로 둔다. 입력에 없는 승인 담당자 같은 하위 역할을 만들지 않는다.
3. **관계별 주 표현 하나 선택** 뒤 상단·본문·표 사이의 **중복 표현 제거**를 수행한다. 단계 흐름은 주 표현 한 번으로만 제시하고 번호 목록·bullet·표로 같은 단계를 반복하지 않는다. 결정 분기는 상단에서 통과·실패 행동을 미리 반복하지 않고 주 분기 한 번만 제시한다. 상단에 `승인 완료 후 게시합니다`처럼 흐름의 일부를 요약하지 않는다.
4. 단계·분기·타임라인·비교표·막대 중 하나를 쓰면 반드시 이 계약을 적용하고, 명시적 보고서·백서·파일 분석은 반드시 [visual-report-output-contract.md](visual-report-output-contract.md)를 함께 적용한다.
5. 텍스트 막대는 `항목명 | 공백으로 20칸에 맞춘 █ 막대 | 정확한 값과 단위`로 쓰고 최댓값 막대가 정확히 20칸인지 검사한다. `자료 범위: … · 단위: … · 출처: 사용자 자료(확인됨)`를 붙이며, 단순 값 비교에서 요청하지 않은 합계·순위·비율을 추가하지 않는다. 별도로 요청된 해석이나 필요한 후속 행동을 출처 줄 때문에 누락하지 않는다.
6. **HTML 안전 재검사**: 위험 HTML은 [html-summary-output-contract.md](html-summary-output-contract.md)의 제외 문구·비식별 정적 결과·비덮어쓰기 규칙을 적용한다.
7. 현재 모델 추측·자동 전환 주장·반복 추천·Sol 선행 작업이 없는지 다시 확인한다.

SHA-256: 8aaae898b74087f7a37d3eea7765100d7d4833562a4fc0b9fedaa8986627b2ce