WEBBOOK CHAPTER

ChatGPT 업무 자동화: 4장 정책 엔진이 브레이크다

4장 정책 엔진이 브레이크다

정책은 프롬프트 문장만으로 두지 않는다. 코드가 읽기, 외부 전송, 금전, 삭제를 분류하고 고위험 행동에 승인 토큰을 요구해야 한다. 사용자가 “알아서 다 해”라고 써도 정책이 사라지지 않는다.


const readOnly = new Set(['read','navigate','screenshot']);
const highImpact = new Set(['send','payment','publish','delete']);
export function decision(action, grant) {
  if (readOnly.has(action.kind)) return 'allow';
  if (!highImpact.has(action.kind)) return 'deny';
  return validGrant(grant, action) ? 'allow-once' : 'approve';
}

validGrant는 행동 종류, 대상, 금액, 만료 시각, 사용 여부를 모두 비교한다. 등록되지 않은 행동은 기본 거부한다. 승인 뒤 대상이나 금액이 바뀌면 새 승인이 필요하다.

승인은 대상, 값, 만료 시간, 단 한 번의 행동에 묶는다. “앞으로 모두 승인”은 승인이 아니라 권한 포기다.

실습 4 승인 영수증을 쓴다

예약금 10만 원 예시로 action, target, amount, expiresAt, approvedBy를 적는다. 금액을 100만 원으로 바꾸면 기존 승인이 무효가 되도록 조건을 쓴다.