← Files AI 백서ARCHIVED FILE
references/coaching-runtime-contract.md
22 KB · Sep 30, 2026 · 23:15 UTC
# 요청 다듬기 런타임 계약 `요청 다듬기` 경로에서만 이 파일을 사용한다. 목적은 모든 정보를 수집하는 것이 아니라 가능한 답이 최종 판단·행동·실행안을 바꾸는 빈칸만 선별하는 것이다. ## 목차 1. 입력과 출처 분리 2. 복수 업무 렌즈 3. 영향 요소와 선별 4. 빈칸 상태와 질문 묶음 5. 답·자료 충돌 검사 6. 질문 종료 ## 1. 입력과 출처 분리 처음 요청 A와 당시 사용 가능했던 정보를 보존하고 다음을 섞지 않는다. - 처음부터 제공된 사실·제약·첨부·근거자료 - 요청 전에 이미 존재해 관련 요청에서 읽은 로컬 도메인 문맥 - 확인 질문에서 얻은 사용자 답 - 코칭 중 새로 추가된 사용자 자료 - 외부 도구나 원출처로 확인한 정보 - 되돌리기 쉬워 명시적으로 둔 모델 가정 - 아직 확정되지 않은 항목 과거 대화·기억·다른 프로젝트의 문맥은 현재 요청에 대한 가설과 출처로 구분한다. 적용 대상·업무 범위·시점이 맞고 사용자에게 확인된 사실·답·승인만 같은 업무에 재사용한다. 과거의 목적·수신자·파일럿 여부·권한을 새 요청에 자동 대입하지 않는다. 현재 요청이 충분하면 추가 질문 없이 수행하고, 과거 맥락 없이는 결과가 크게 갈리면 그 빈칸만 묻는다. 같은 업무의 짧은 후속 답이나 명시적인 계속 지시에서는 이미 확정된 답·승인을 잃지 않는다. 새 상위 규칙이 주어지면 그 적용 범위의 하위 충돌 문장을 실제로 교체한다. 원문의 목적을 임의로 바꾸거나 답하지 않은 내용을 사실처럼 추가하지 않는다. 로컬 도메인 문맥은 처음부터 있던 사용자 자료로 취급한다. 질문은 현재 산출물에 필요한 정보만 대상으로 한다. 대화에 규칙·우선순위가 있으면 그 범위의 수정 문안·계획을 작성하고, 실제 파일 수정에 필요한 경로를 문안 작성의 차단 질문으로 옮기지 않는다. 업무 범위가 바뀌면 이전 업무의 빈칸을 자동 승계하지 않고 새 요청과 관련된 답만 대조한다. N3처럼 사용자 입력이 처음 요청뿐이고 그 뒤 새 사용자 답·새 자료·외부 확인이 전혀 없으면, `AI 백서 변화 추적`·`조치·변화 추적`·A·delta 전용 제목·표·설명을 만들지 않는다. 입력에 이미 주어진 운영 승인·감사 기록 요건은 실행·검증에 그대로 둘 수 있지만 변화 추적으로 다시 이름 붙이지 않는다. 이때 입력이 제공한 기존 승인 시스템·읽기·쓰기 역할·3년 보존은 보존하되, 입력에 없는 실제 기록 수행자·서식·내부 저장 절차는 생략하거나 비차단 `[확인 필요]`로 둔다. `실제 수행자는 조직 절차에 따라 정함`, `기존 내부 서식과 저장 절차는 변경하지 않음`처럼 그 존재나 불변 상태를 단정하지 않는다. 민감정보 제외 규칙은 그대로 유지한다. N3에서 입력이 제공한 쓰기·읽기 역할은 승인 기록에 대한 접근 권한일 뿐 실제 저장 수행자·책임 주체 지정이 아니다. 역할별 접근통제와 승인 기록 저장 완료는 적용·검증할 수 있지만, `쓰기가 허용된 지정 역할`이나 `쓰기 권한이 있는 두 역할만`을 실제 저장 수행자·책임자로 이름 붙이거나 그 수행 범위를 해당 역할로 한정하지 않는다. 입력에 없는 수행자는 생략하거나 비차단 `[확인 필요]`로 둔다. `읽기·쓰기 권한만으로 새로 지정하지 않는다` 같은 면책 문장은 표·본문의 명시적 배정을 해소하지 못한다. 출처가 지정한 팀·역할은 그대로 보존하고 하위 역할을 만들지 않는다. 초기 입력뿐인 경우에는 `별도 변화 추적 산출물은 생성하지 않는다`처럼 생략 사실을 설명하는 메타 문장도 만들지 않고 조용히 생략한다. `2026년 9월 18일까지`는 준비·검토·수정·재승인·기록 저장의 최종 완료 기한이므로, `2026년 9월 18일 하루 안에`나 `9월 18일 실행`처럼 당일 시작 또는 하루짜리 실행 기간으로 바꾸지 않는다. N3의 날짜만 있는 최종 완료 기한 `2026년 9월 18일까지`는 그 날짜를 포함한다. `2026년 9월 18일 이전에`·`2026년 9월 18일 전까지`·`2026년 9월 17일까지`처럼 출처보다 이른 완료 컷오프로 바꾸지 않는다. 대상 날짜를 완료 기한·완료 관계에 반복할 수 있다. N3에서 실제 저장 수행자가 제공되지 않았다면 승인 기록 저장이 포함된 행동 묶음을 `IT 운영팀·보안팀` 같은 출처상 다른 책임 주체가 승인 기록 저장까지 문법적으로 지배하게 하지 않으며, 요약·표·완료 기준·집계 행에서도 허용하지 않는다. 행동을 분리하거나 저장 수행자를 비차단 `[확인 필요]`로 둔다. 접근 권한, 승인·반려 수정·재승인·검토 책임, 완료 검증은 출처가 지정한 주체에 그대로 둘 수 있다. 별도의 저장 수행자 `[확인 필요]` 행이나 면책 문장은 다른 행의 적극적 책임 배정을 해소하지 못한다. 기존 승인 시스템·읽기·쓰기 역할·3년 보존, 네 가지 고위험 권한, 여섯 기록 필드, 반려 당일 재승인 흐름은 그대로 보존한다. N3에서 사용자가 `비식별 목록 준비`만 제공했다면, 이를 원계정 연결·가역 매핑, 재식별 키·테이블, 토큰·가명 식별자 매핑 저장, 추적·재식별 내부 통제·정책이 존재하거나 유지된다는 단정으로 확대하지 않는다. 입력이 제공한 기존 승인 시스템·읽기·쓰기 권한·3년 보존·목록 버전·기록 필드는 그대로 보존한다. 구체 연결·재식별 방식이 필요하지만 출처가 없으면 생략하거나 비차단 `[확인 필요]`로 두며, 원계정 매핑·재식별 방식을 확정하지 않는다고 직접 밝힐 수 있다. 주변 면책 문장은 같은 답의 적극적 연결·통제 단정을 해소하지 못한다. 이 제한은 비식별 목록 자체, 비식별 식별자 또는 목록 버전 추적을 금지하지 않는다. ## 2. 복수 업무 렌즈 안전 검사 뒤 하나 이상의 렌즈를 잠정 적용한다. 렌즈를 사용자 모드나 고정 과업 분류로 노출하지 않고 영향 요소 탐색 순서만 좁힌다. | 업무 렌즈 | 먼저 살필 영역 | |---|---| | 기획·계획 | 문제·목적, 범위, 성공 기준, 우선순위, 실행 책임·완료 조건 | | 조사·분석 | 조사 질문, 자료 범위, 최신성, 비교 기준, 사실·근거·확신도 | | 추천·의사결정 | 선택지, 가치 기준, 제약, 위험, 트레이드오프 | | 문서·커뮤니케이션 | 대상, 원하는 행동, 사용 상황, 채널, 전달 방식 | | 실행·자동화 | 입력·대상, 권한, 실행 조건, 가역성, 실패 복구 | | 검토·진단 | 기대 상태, 현재 상태, 증거, 원인 후보, 위험, 완료 기준 | 분류가 불명확하면 복수 렌즈를 유지하고 공통 고영향 빈칸부터 본다. 답이나 자료가 초기 분류와 다르면 렌즈를 추가·제거·재분류한다. 초기 오분류 때문에 중요한 빈칸을 버리지 않는다. ## 3. 영향 요소와 선별 다음 12개 영향 요소는 질문 목록이 아니라 빈칸 후보를 찾는 지도다. | 영향 요소 | 결과를 바꿀 수 있는 갈림길 | |---|---| | 문제·의사결정 | 실제로 해결하거나 결정할 대상 | | 대상·이해관계자 | 결과 사용자, 영향받는 사람, 승인자 | | 원하는 결과·성공 기준 | 달성할 결과와 선택·완료 기준 | | 상황·시점 | 사용할 시점, 업무 흐름과 조건 | | 범위·경계 | 포함·제외 범위 | | 실행 가능성 | 예산·기간·인력·도구·권한·정책 | | 대안·우선순위·트레이드오프 | 선택지와 우선 가치 | | 사실·근거·확신도 | 확인된 사실, 자료와 가정의 경계 | | 위험·가역성·복구 가능성 | 실패 비용, 되돌리기와 복구 방법 | | 규모·빈도·경제성 | 대상 규모, 반복 빈도와 비용 대비 가치 | | 실행 책임·승인·완료 조건 | 실행자·결정자·승인자와 완료 판정 | | 전달·사용 방식 | 실제 행동으로 이어질 채널과 형식 | 각 후보를 다음 순서로 판정한다. 1. 가능한 답에 따라 선택·결론, 실행 여부, 범위·우선순위·순서·책임·승인, 안전·권한·실행 가능성 또는 성공 판정이 달라지는가? 2. 현재 요청과 자료에 답이 없는가? 3. 잘못 가정했을 때 위험하거나 되돌리기 어려운가? 4. 사용자가 답하기 쉬운 방식으로 물을 수 있는가? 1번이 아니라면 묻지 않는다. 동점이면 위험과 비가역성이 큰 후보, 사용자가 쉽게 답할 수 있는 후보 순으로 둔다. 과업별 익숙한 질문을 체크리스트처럼 모두 묻지 않는다. 질문을 출력하기 전에 다음 결정 완결성 검사를 한 번 더 수행한다. 1. 사용자가 요청한 Plan 작성 또는 다른 산출물의 범위 안에서 목표, 담당 역할, 실행 순서, 필수 조건·분기, 검증과 완료 기준을 현재 입력으로 구성할 수 있는가? 2. 후보 답이 달라지면 이미 요청된 방향·범위·순서·책임·승인·안전·성공 판정 중 하나가 실제로 달라지는가? 3. 실제 외부 실행이나 되돌리기 어려운 행동이 아니라 산출물 작성만 요청된 경우, 그 값 없이도 확인된 관계만으로 안전하고 완결된 결과를 제공할 수 있는가? 1번과 3번이 `예`이고 2번이 `아니요`이면 바로 답한다. 정확한 내부 시각, 개인 이름, 문안 세부내용, 추가 운영 절차처럼 요청한 결정을 바꾸지 않고 해상도만 높이는 선택적 세부정보는 생략하며 질문하지 않는다. 사용자가 `최종`, `모든 결정이 확정`이라고 말한 사실만으로 미확정 값을 확정하지는 않지만, 이미 입력에 있는 역할·날짜·조건·분기·완료 기준을 다시 묻는 근거로도 사용하지 않는다. 사용자가 모든 제품 결정을 확정했거나 제공된 동작 집합을 그대로 구현하라고 명시한 닫힌 결정 집합에서는 특정 횟수·범위·분기에 한정된 규칙을 모든 분기나 다른 실패 유형으로 확대하지 않는다. 예를 들어 1~4회 실패의 남은 횟수 비반환을 5회 실패·만료·rate limit 응답까지 넓히지 않는다. 제안 인터페이스로 정할 수 있는 것은 요청·응답·오류 계약의 경로·필드·오류 이름(오류 코드 이름 포함)뿐이다. 이름 제안은 사용자 입력·자료에 없는 데이터 타입·wire type·값 형식·직렬화 형식·enum·nullability까지 정할 권한이 아니다. 예를 들어 필드 이름만 제공되거나 제안한 `email`·`signupId`·`expiresAt`·`id`·`version`·`bodyLink`·`required`·`agreed`에 출처 없이 `: string`·`: boolean` 같은 타입을 붙이지 않는다. 필요한 속성에 출처가 없으면 생략하거나 `[확인 필요]`로 두며, 사용자 입력·자료가 타입·wire type·형식·enum·nullability를 직접 제공한 경우에는 그 제공값을 그대로 보존할 수 있다. Plan 작성에서 사용자가 달력 날짜만 최종 기한으로 명시했다면 결과 방향이나 안전을 바꾸지 않는 마감 시각을 다시 묻지 않는다. 후보 빌드 준비 상태, 세부 회귀 범위, 헬스체크 실패 횟수처럼 실제 실행 직전에 확인할 선택적 세부정보는 이미 정해진 Plan 방향·실패 처리를 바꾸지 않으면 새 차단 질문으로 만들지 않고 게이트나 확인 항목으로 둔다. 확인 항목의 미확정 값을 새 사실로 채우지는 않는다. AI 백서 활성·호스트 Plan mode·질문 해소 후 최종 Plan이라는 시각 우선 계약의 활성 조건이 성립하고 사용자가 완료일과 완료 행동을 하나의 관계로 지정했다면, 텍스트 전용이 아닐 때는 그 날짜와 행동을 주 시각의 같은 단계·행·셀에서 직접 연결하고 요약이나 시각 뒤 상세에만 분리하지 않는다. 텍스트 전용일 때는 같은 실행 단계나 문장에서 날짜와 행동을 직접 연결한다. ## 4. 빈칸 상태와 질문 묶음 빈칸 상태는 다음만 사용한다. | 상태 | 처리 | |---|---| | 미확인 | 고영향이면 질문 후보로 유지 | | 확인됨 | 사용자 답이나 확인 자료로 확정 | | 모름 | 새 정보나 재확인 요청이 없으면 다시 묻지 않음 | | 건너뜀 | 새 정보나 재확인 요청이 없으면 다시 묻지 않음 | | 안전하게 가정함 | 되돌리기 쉬운 형식·표현만 `[가정]`으로 사용 | 사람·대상·날짜·기간·숫자·예산·권한·사실·외부 실행은 안전하게 가정하지 않는다. 고영향 후보 사이의 의존성을 먼저 판단한다. - 한 답이 다른 질문의 필요성이나 선택지를 바꾸지 않으면 독립 질문을 한 번에 함께 제시한다. - 현재 입력에서 이미 식별된 서로 독립적인 고영향 빈칸은 첫 질문 묶음에 모두 포함한다. 고정 체크리스트를 만들지 말고 실제 결과를 바꾸는 것으로 이미 판정한 빈칸만 묶는다. - 첫 질문은 현재 입력에서 식별된 미해결 고영향 빈칸 자체를 직접 묻는다. 이미 확정된 인접 조건이나 일반 책임 배치로 대체하지 않는다. 예를 들어 승인 필요·승인 시점·미승인 처리가 이미 정해졌다면 이를 구체 승인 절차·승인 확인·증적 확보 책임, 배포 시작 시각·30분 정상 판정 기준·경보 발생 조치의 질문 대신 사용하지 않는다. 이는 이미 식별한 슬롯을 보존하는 규칙이며 새 후보 발굴이나 고정 체크리스트 요구가 아니다. 후속 답이 원래 물은 빈칸을 모두 채우고 초기 입력과 합쳐 실행 책임·조건·완료 기준이 충분하면, 완료 기준만을 근거로 별도 감시 담당이나 완료 선언자를 새 차단 빈칸으로 만들지 않는다. - 위 P4처럼 기획팀의 변경안 작성과 반려 시 수정·두 팀 재요청, 재무팀의 가격 승인, 법무팀의 약관 승인, 두 승인 모두를 게시 게이트로 사용, 커뮤니케이션팀의 게시·게시본 확인, 승인 기록과 게시본 확인을 완료 기준으로 이미 제공했다면, 결정은 완결된 것으로 보고 최종 Plan으로 바로 진행한다. 이때 `재무팀·법무팀의 승인 기록 작성과 게시 전 증적 확인은 누가 맡나요?` 같은 질문은 선택적인 미제공 구현 세부를 새 고영향 빈칸으로 만든 것이므로 차단 질문으로 만들지 않는다. 승인 기록은 완료 증거로 참조하되 새 기록 작성·취합·게시 전 증적 확인 책임자를 배정하지 않는다. 저장 위치·기록 방식·게시 전 증적 확인 절차는 생략하거나 비차단 `[확인 필요]`로 둘 수 있으며, 출처가 정한 팀 역할은 그대로 보존한다. - 한 답이 다른 질문을 없애거나 선택지를 바꾸면 선행 질문만 제시한다. - 여러 답을 받은 뒤 남은 빈칸, 의존성, 렌즈와 충돌을 다시 평가한다. - 앞선 답으로 해소되거나 영향이 작아진 후보는 제거한다. 새 답·자료가 새 사실이나 충돌을 드러낼 때만 고영향 질문을 추가한다. 부분 답변만 받았다면 기존 미응답 항목을 이어 묻고, 선택적 문안 세부를 새 필수 항목으로 만들지 않는다. - 한 질문 묶음에 여러 항목이 있었다면 후속 답을 항목별로 다시 확인하고 대조한다. 답한 항목만 `확인됨`으로 바꾸고, 값이 없는 `나머지는 그대로`·`모두 결정됨` 같은 일반 확인을 미응답 항목의 값으로 사용하지 않는다. 질문은 쉬운 말로 쓰고 왜 결과를 바꿀 수 있는지 짧게 설명한다. 요청 해석에 따라 결과가 달라질 때만 실제 질문 바로 앞에 `제가 이해한 요청은 …입니다.` 한 줄을 두며, 별도의 `맞나요?` 확인 턴은 만들지 않는다. 고영향 빈칸에 정직한 대안이 있으면 서로 배타적인 선택지 2~3개와 각 선택의 영향을 제공한다. 날짜·이름·정확한 값처럼 직접 받아야 하거나 대안을 만들 수 없으면 일반 질문을 사용한다. 선택지를 주더라도 자유 답변과 `모름`·`건너뛸게`·`현재 정보로 진행` 경로를 허용한다. 원문이나 이전 답에 있는 사실을 다시 묻지 않는다. 질문이 끝나면 초기 입력과 후속 답의 명시 관계를 최종 B에 각각 직접 보존한다. 초기 입력이나 후속 답의 준비 완료 상태를 준비 작업으로 바꾸거나 누락하지 않는다. 책임 변화는 변화 추적의 세 인과 필드에서 같은 책임 주체와 책임 행동을 유지하며, 승인자와 증적 확보·제출자를 근거 없이 합치지 않는다. 입력에 없는 롤백 후 재배포 절차·일정은 생략하거나 `[확인 필요]`로 두고, 그 결정이 결과 방향을 바꾸면 질문한다. ## 5. 답·자료 충돌 검사 사용자가 통합 기준·상위 규칙을 지정하면 그 기준은 보존하고 하위 충돌은 수정한다. 각 문서에 충돌 규칙을 남겨두는 것은 통합이 아니다. 아직 우선순위가 없고 결과가 달라질 때만 충돌 질문을 한다. 문안·계획 작성에 충분한 규칙이 대화에 있으면 실제 파일을 재요구하지 않는다. B를 만들기 전에 여러 답과 자료에서 다음을 검사한다. | 충돌 | 판정 대상 | |---|---| | 직접 충돌 | 같은 사실이나 선택에 서로 다른 값이 있음 | | 제약 충돌 | 일정·예산·범위·품질 조건을 동시에 만족할 수 없음 | | 목적·수단 충돌 | 선택한 방식이 명시된 목적과 맞지 않음 | | 우선순위 충돌 | 무엇을 먼저 지키는지에 따라 결과 방향이 달라짐 | | 자료 충돌 | 사용자 답·사용자 자료·외부 확인이 서로 다름 | | 권한 충돌 | 요청한 실행과 사용자의 실행·승인 권한이 맞지 않음 | 충돌 우선순위는 `안전 규칙 → 현재 사용자의 명시적 의도·선호 → 확인된 최신 사실 → 미확정 자료·가정`이다. 서로 다른 확인 자료가 충돌하면 임의로 고르지 않는다. - 불확실성을 표시해도 B의 방향이 유지되면 한계와 확인 방법을 붙여 진행할 수 있다. - 충돌에 따라 B의 판단·행동·실행안이 바뀌면 B를 생성하지 않고 충돌 내용, 지금 확인하는 이유와 해소 질문만 제시한다. - 충돌 해소 답을 받은 뒤 남은 빈칸과 렌즈를 다시 평가한다. 두 개 이상의 명시된 제약이 충돌할 때는 질문 payload 전체에서 모든 충돌 조건을 구체적으로 한 번 이상 명시한다. 각 선택지는 조건 이름을 반복하지 않아도 되지만, 유지·변경·연기·예외 승인 중 어떤 조치를 어느 조건에 적용하는지 분명해야 한다. payload 전체에서 한쪽 조건을 누락하거나 선택지의 행동 대상을 모호하게 하지 않는다. 충돌 해소 중에는 B, 완성 Plan 또는 최종 시각 블록을 만들지 않는다. N2의 `2026-09-15 한국·일본 동시 출시` 조건과 `현행 보안 규정상 9월에는 한국만 출시 가능` 조건이 충돌하면, 질문 payload 전체에 두 조건의 이름과 내용을 각각 최소 한 번 직접 쓴다. 안전한 question 예시는 `2026-09-15 한국·일본 동시 출시 조건과 현행 보안 규정상 9월에는 한국만 출시 가능한 조건이 충돌합니다. 어느 조건을 변경하거나 예외 승인할 수 있나요?`이다. 표현은 의미가 같게 바꿀 수 있고 두 조건을 question 본문에만 모을 필요는 없지만, `두 조건`·`위 조건` 같은 대명사나 일반적인 보류·연기·예외 승인 표현은 어느 조건도 대신하지 못한다. 선택지가 question에서 빠진 조건을 보완하려면 그 선택지 자체가 빠진 조건의 이름과 내용을 구체적으로 밝혀야 한다. 조건 이름을 모든 선택지에 반복할 필요는 없다. N2에서 `동시 출시 조건과 보안 규정을 변경할 수 없다`는 사실만으로 `예외 승인도 불가`라고 추론하지 않는다. 출처가 예외 승인 불가를 명시하지 않았다면 충돌 질문에서 예외 승인 가능성을 유지하고 확인하며, `예외 승인 불가`·`예외 승인할 수 없다`고 단정하거나 그 추정만을 전제로 선택지를 좁히지 않는다. 출처가 예외 승인 불가를 직접 명시했다면 그 제한을 그대로 보존한다. No-Go·출시 연기와 예외 승인 확인을 함께 선택지로 두는 것은 허용한다. ## 6. 질문 종료 질문 횟수에 숫자 제한을 두지 않는다. 다음 중 하나면 질문을 멈춘다. - 남은 빈칸이 결과를 실질적으로 바꾸지 않는다. - 고영향 빈칸이 확인됨·모름·건너뜀·안전하게 가정함 상태다. - 다음 질문의 비용이 예상 개선보다 크다. - 사용자가 남은 질문을 끝내고 현재 정보로 진행하기를 원한다. 현재 정보로 진행할 때 불필요한 미확정 항목은 생략하고 필요한 항목은 `[확인 필요]`로 표시한다. 안전이나 권한을 확인하지 않은 위험한 행동은 실행하지 않는다. B를 만들기 직전에 실제로 질문한 항목 전체와 후속 답을 한 번 더 대조한다. 고영향 미응답이 남았고 사용자가 현재 정보로 진행하라고 하지 않았다면 질문 단계로 돌아간다. 현재 정보로 진행하는 경우에도 미응답 사람·대상·날짜·기간·숫자·예산·권한·경로·정책을 관행이나 상식으로 채우지 않는다. 배포·인증의 조건·역할·시간·필드 보존은 [공통 관계 계약](result-contract.md#조건역할시간필드-관계-보존)을 따른다. 사례의 세부 수치와 고정 문구를 일반 업무로 확대하지 않는다.
SHA-256: 4df6bc2d875d8217b6cc513aab907e2db97c894ba12f921e68fb108c3945891a