안전한 자동화

작업공간 격리, 체리 사용 동작, 기록입니다.

작업공간 격리

키는 만든 사용자의 이름으로 일합니다. 그 사용자가 접근할 수 있는 문서만 다룰 수 있고, 남의 작업은 존재 여부도 알 수 없습니다(404). 팀 문서는 역할로 갈립니다.
역할할 수 있는 일
열람자읽기와 조회
편집자읽기, 수정 제안, 생성, 취소
소유자편집자의 권한과 팀 설정
키에는 허용한 기능 밖의 도구가 열리지 않습니다. 에이전트마다 키를 따로 만들어 서로의 권한이 섞이지 않게 하세요.

체리를 쓰는 동작

체리를 쓰는 동작은 견적에서 시작합니다.
  1. 견적을 내고 금액과 잔액을 사용자에게 보여 줍니다.
  2. 동의를 받은 뒤 접수합니다. 이때 견적 금액이 보류됩니다.
  3. 공개 REST는 maxCherry로 감수할 상한을 요청에 담습니다. 서버 견적이 넘으면 접수하지 않습니다.
  4. 키에 지출 한도(하루 또는 한 달)를 걸 수 있습니다.
  5. 팀 문서는 팀 지갑에서 나가고, 소유자가 편집자별 월 상한을 정합니다.
  6. 실패와 취소는 환불됩니다.
장면 배치 확정, 공개 범위 변경, 덮어쓰기는 에이전트가 직접 하지 못하고 웹 승인이 필요합니다.

사람이 확인하는 지점

자동화가 사람 없이 끝까지 돌 수 있는 일과, 반드시 사람을 거치는 일을 나눠 설계하세요.
단계누가근거
조회, 견적자동읽기라 작품과 잔액이 바뀌지 않습니다.
체리를 쓰는 생성 접수자동(상한을 묶은 경우)공개 REST는 maxCherry가 필수이고, 견적이 넘으면 접수되지 않습니다.
작품 수정사람에이전트는 제안만 하고 사용자가 앱에서 승인합니다.
장면 배치 확정, 공개 범위 열기, 2,000자 이상 덮어쓰기사람웹 승인 링크에서 호출마다 승인합니다. 자세한 규칙은 보안에 있습니다.
승인이 필요한 호출은 approval_required를 돌려줍니다. 자동화는 이를 실패로 보고 재시도를 반복하지 말고, 링크를 사용자에게 전달한 뒤 승인이 끝나면 같은 입력으로 한 번 다시 부릅니다.

같은 요청을 두 번 보내도 안전하게

쓰기와 생성에는 idempotencyKey(8자 이상 128자 이하)를 붙입니다. 같은 키와 같은 본문을 다시 보내면 기존 결과를 그대로 받습니다. 같은 키에 다른 본문을 보내면 409(idempotency_key_reused)입니다. 재시도 때 키를 새로 만들면 중복 접수가 생기므로, 키는 작업 하나당 하나를 정해 재시도에도 그대로 씁니다.

예약 실행은 해당 없음

예약 실행 기능이 없으므로 예약 한도나 예약 취소 같은 장치도 없습니다. 정해진 시각에 돌리려면 자기 쪽 스케줄러를 쓰고, 이 문서의 한도·견적·승인 규칙을 그 호출에 그대로 적용하세요.

기록과 로깅

  • 지출은 설정의 개발자 사용량 화면에서 일, 키, 모델별로 봅니다.
  • 요청마다 요청 id(X-Request-Id)가 있습니다. 자기 로그에 남겨 두면 문제 분석에 쓸 수 있습니다.
  • 키, 웹훅 비밀값, 서명 헤더 값은 로그에 남기지 않습니다.

관련