AI 거버넌스: 자기 성찰 및 승인
Flash는 AI가 시작한 모든 작업을 AI 활동 및 승인 콘솔의 작업공간별로 구성된 작업별 인증 기어(auto, review 또는 forbidden) 뒤에 둡니다. MCP 이상의 AI 클라이언트의 경우 이는 두 가지를 의미합니다. 즉, 작업을 수행하기 전에 수행할 수 있는 비즈니스 객체와 작업을 발견할 수 있고 쓰기 호출이 구조화된 결과를 반환합니다(실행, 사람의 승인 대기 중, 또는 기계가 읽을 수 있는 이유로 거부됨).
이 가이드에서는 내부 분석 도구, 검토 기반 작성 의미 체계, 승인 라이프사이클에 대해 다룹니다. 이 기능은 MCP 통합 가이드에 설명된 것과 동일한 관리형 MCP 서버를 기반으로 합니다. 비즈니스 개요는 AI 거버넌스 및 승인 제품 페이지를 참조하세요. 기어 라우팅은 점진적으로 활성화되며, 아래 동작은 관리 작업이 워크스페이스에 배포됨에 따라 적용됩니다.
비즈니스 - object 내부 분석 (범위 introspection:read)
세 가지 읽기 도구를 통해 AI 클라이언트는 비즈니스에 접근하기 전에 비즈니스의 구조를 학습할 수 있습니다. 여기에는 존재하는 객체(워크스페이스 자체의 사용자 지정 필드 및 사용자 지정 객체 포함), 각 속성의 의미, 객체 간의 관계, 실행 가능한 작업(사전 조건 및 현재 상태 포함) 등이 포함됩니다. 제대로 작동하는 에이전트는 이러한 정보를 먼저 확인하고 실제로 실행 가능한 작업에 대해서만 제안합니다.
list_objects읽기해당 키의 워크스페이스에서 사용 가능한 비즈니스 객체(회원, 주문, 쿠폰, 캠페인, 매장, 제품, 세그먼트, 태그)와 워크스페이스에서 정의한 사용자 정의 객체를 확인하세요. 각 object 객체의 키, 레이블 및 한 줄 의미를 반환합니다. 읽기 또는 작업 전에 먼저 해당 객체가 존재하는지 확인하세요.
(none)describe_object읽기object의 전체 형태: 속성(워크스페이스의 사용자 정의 필드 포함)과 해당 유형 및 비즈니스 의미, 그리고 다른 객체와의 관계(예: 주문은 회원에게 속하고, 쿠폰은 회원에게 발급될 수 있음)를 보여줍니다. 개인 식별 정보(PII) 필드는 이름, 유형, 의미 및 PII 플래그와 같은 메타데이터로만 반환되며 값은 반환되지 않습니다.
objectlist_actions읽기AI 클라이언트가 수행할 수 있는 작업과 각 작업의 전제 조건, 그리고 워크스페이스에서 구성된 현재 권한 설정(자동/검토/금지)을 보여줍니다. object으로 필터링하면 해당 작업과 관련된 작업만 표시됩니다. 이 결과는 거버넌스 레이어에서 적용할 내용과 정확히 일치하므로, 거부될 가능성이 있는 작업을 제안하지 않도록 활용하는 것이 좋습니다.
object?개인 식별 정보(PII)는 설계상 메타데이터 전용입니다. 인트로스펙션은 개인 정보(이름, 유형, 의미 및 pii 플래그)를 저장하는 필드를 설명하지만 해당 값은 반환하지 않습니다. 실제 회원 데이터 읽기는 회원 읽기 도구와 해당 도구의 스코프를 통해 이루어집니다.
예시: object를 설명한 다음 기어를 확인하세요.
요청/응답 형식의 예시 (축약형 - 실제 응답에는 모든 항목과 작업이 나열됨):
// describe_object { "object": "member" }
{
"object": "member",
"label": "Member",
"meaning": "A loyalty program member owned by this workspace.",
"fields": [
{ "name": "email", "type": "string", "pii": true,
"meaning": "Contact email. PII: metadata only — values are never returned here." },
{ "name": "tier", "type": "string", "pii": false,
"meaning": "Current loyalty tier." },
{ "name": "membership_no", "type": "string", "pii": false, "custom": true,
"meaning": "Workspace-defined custom field." }
],
"relationships": [
{ "to": "order", "kind": "has_many", "meaning": "Orders placed by this member." },
{ "to": "coupon", "kind": "has_many", "meaning": "Coupons issued to this member." },
{ "to": "tag", "kind": "has_many", "meaning": "Tags currently applied to this member." }
]
}// list_actions { "object": "member" }
{
"actions": [
{ "action": "issue_coupon", "gear": "review",
"preconditions": ["member has consent", "coupon pool has stock"] },
{ "action": "earn_points", "gear": "auto",
"preconditions": ["amount within the workspace cap"] },
{ "action": "assign_tag", "gear": "auto",
"preconditions": ["tag exists and is active"] },
{ "action": "add_member_note", "gear": "auto",
"preconditions": ["note passes server-side sanitation"] },
{ "action": "send_campaign", "gear": "review", "locked": true,
"preconditions": ["sending can never be auto — a human always approves"] }
]
}gear은 적용될 장비 등급입니다. 작업 공간은 콘솔에서 각 동작에 대해 등급을 설정하며, 동작별 회로 차단기를 통해 언제든지 해당 동작을 review으로 강등할 수 있습니다(강등은 자동으로만 이루어지며, 사람이 복원해야 합니다). 장시간 사용 시에는 장비를 캐싱하지 말고 list_actions로 다시 확인하십시오.
검토 장비 아래의 작성 도구: 보류 중/거부됨
MCP 쓰기 도구가 기어가 review인 작업을 대상으로 할 때, 해당 호출은 부작용을 실행하지 않습니다. 대신 구조화된 결과를 반환합니다. 즉, 제안이 사람의 승인을 위해 대기열에 추가되었거나(pending), 기계가 읽을 수 있는 reason_code 및 suggested_action와 함께 즉시 거부되었습니다(refused).
// proposed — waiting for a human
{
"status": "pending",
"proposal_id": "prop_9f2c…",
"action": "issue_coupon",
"expires_at": "2026-07-10T00:00:00Z", // 7 days
"message": "Queued for human approval in
AI Activity & Approvals."
}// refused — with a reason and a next step
{
"status": "refused",
"action": "issue_coupon",
"reason_code": "recently_rejected",
"suggested_action": "A human rejected this
proposal recently. Do not re-propose;
consider a different action or ask the
operator."
}| reason_code | 의미 | 담당 에이전트가 해야 할 일 |
|---|---|---|
gear_forbidden | 해당 작업의 설정이 이 작업 공간에서 금지되어 있거나(또는 해당 작업은 자동으로 수행될 수 없으며(예: 전송) 자동 실행이 필요한 방식으로 호출되었습니다). | 다시 시도하지 마세요. 거절 의사를 전달하고, 그에 따라 행동하세요. suggested_action (일반적으로 다른 조치를 취하거나 '사람에게 기어를 바꿔달라고 요청하는 것'을 의미합니다.) |
recently_rejected | 최근 한 사용자가 동일한 목표에 대한 동일한 제안을 거부했습니다. 플랫폼은 해당 제안을 다시 대기열에 추가하지 않습니다. | 인간의 결정을 존중하십시오. 다시 제안하거나 표현을 바꾸지 말고 그대로 따르십시오. suggested_action. |
모든 거부에는 이 모양의 reason_code와 suggested_action가 포함됩니다. 위의 코드를 분기할 코드로 취급하고 필드를 확장 가능한 것으로 처리합니다. 거절은 재시도할 수 있는 오류가 아니라 어려운 경계입니다. 거절을 피하기 위해 제안을 다시 작성하지 마세요.
승인 주기
pending 제안은 approved, rejected, 또는 expired 중 한 가지 방식으로만 승인됩니다. 담당자는 AI 활동 및 승인 콘솔에서 (작업 유형별로 단일 또는 일괄 처리) 해당 제안에 대한 조치를 취하며, 일일 요약 이메일을 통해 대기 중인 작업을 확인할 수 있습니다.
| 상태 | 어떻게 일어나는가 | 그다음 |
|---|---|---|
pending | 작업의 장비가 검토되는 동안 쓰기 도구가 호출되었습니다. 제안서는 사람의 승인을 위해 대기 중입니다. | 승인됨 · 거부됨 · 만료됨 |
approved | 사람이 승인했습니다. 실행하기 전에 플랫폼은 AI가 제시한 추론을 재검증합니다. 만약 더 이상 타당하지 않다면(예: 고객이 이미 재구매한 경우), 해당 작업은 실행되지 않습니다. | 터미널(결정 로그에 결과가 기록됨, 개별적으로 취소 가능) |
rejected | 담당자가 제안을 거부할 경우, 선택적으로 메모를 남길 수 있습니다. 동일한 제안을 다시 제출하면 recently_rejected 메시지와 함께 거부됩니다. | 단말기 |
expired | 7일 이내에 결정이 내려지지 않으면 제안은 자동으로 만료되고 아무것도 실행되지 않습니다. | 단말기 |
멱등성 보장
- 승인 1회, 실행 1회. 제안을 승인하면 해당 작업이 정확히 한 번 실행됩니다. 재승인은 저장된 결과를 다시 실행할 뿐, 두 번째 부작용은 없습니다.
- 재제출 시 중복이 발생하지 않습니다. 보류 중인 동일한 제안에 대해 작성 도구를 다시 호출해도 동일한
pending결과와proposal_id이 반환되며, 두 번째 카드가 대기열에 추가되지 않습니다. - 승인 시 재검증이 이루어지며 실행은 조건부입니다. 승인 시 플랫폼은 AI가 제시한 추론이 여전히 유효한지 재확인합니다. 만약 더 이상 해당되지 않는다면(예: 고객이 이미 재구매한 경우), 아무것도 실행되지 않고, 행동 대신 결과가 기록됩니다.
- 모든 사항은 감사를 거치며 개별적으로 취소할 수 있습니다. 제안, 결정, 승인 경로(
auto또는 지정된 담당자), 실행 및 결과는 모두 결정 로그에 기록되며, 각 항목은 취소할 수 있습니다.
서버가 경계입니다. 기어, 재검증, 만료 및 작업별 회로 차단기는 Flash 측에서 적용되며, 에이전트의 추론이나 클라이언트 측 확인에 의존하지 않습니다. 클라이언트가 요청하더라도 전송 유형의 작업은 절대 자동으로 실행되지 않습니다.
투명도 기본 요소 및 유리 상자 모델 인벤토리
모든 자동화된 결정은 기록되고 설명 가능하며, 개인 데이터는 모델 컨텍스트에서 분리되는 동일한 투명성 원칙이 관리되는 작업뿐만 아니라 트래픽 최적화 실험, 아웃바운드 LLM 프롬프트, 그리고 제품 전반에 걸쳐 순위, 예측 및 탐지를 지원하는 기존 ML 모델 인벤토리에까지 적용됩니다.
A/B 트래픽 자동 최적화: 의사 결정 로그
반복 캠페인(자동화 및 여정)은 시간 경과에 따른 트래픽 자동 최적화 기능을 활성화할 수 있으며, 이 기능은 관찰된 클릭 실적을 기반으로 실험 변형 전반에 걸쳐 전달 가중치를 재분배합니다. 모든 재분배 내역은 감사 가능합니다.
- 추가 전용 결정 로그. 매 시간 재계산 시 적용된 가중치와 사람이 읽을 수 있는 근거가 포함된 레코드가 하나씩 기록됩니다. 레코드는 절대 덮어쓰여지지 않으며, 로그에는 트래픽이 특정 형태로 나타나는 이유에 대한 전체 기록이 저장됩니다.
- 구성된 분할은 변경되지 않습니다. 실험에서 구성된 분할은 기준으로 그대로 유지됩니다. 최적화된 가중치가 계산되어 함께 기록됩니다.
- 탐색 하한선: 10%. 어떤 변형의 가중치도 10% 미만으로 떨어지지 않으므로 모든 변형은 계속해서 트래픽을 받게 되며 반전도 감지 가능합니다.
- 변형별로 100회 이상 전달될 때까지 균등하게 분배됩니다. 각 변형에 최소 100회 전달될 때까지 가중치는 구성된 분배 비율을 유지합니다. 데이터가 부족한 경우 재할당이 없으며, 이 메커니즘을 통해 통계적 "승자"가 선언되지 않습니다.
공급자 솔기의 LLM PII 마스킹
Flash에서 외부 LLM 제공업체로 메시지가 전송되기 전에 회원 개인 식별 정보는 제공업체 경계면에서 마스킹 처리되므로 모든 AI 기능이 이 과정을 거칩니다.
- 결정론적 가명. 이메일 주소, 전화번호 및 카드와 유사한 숫자 배열은 안정적인 대리 토큰으로 대체됩니다. 동일한 식별자는 항상 동일한 가명에 매핑되므로 프롬프트 전반에 걸쳐 모델의 추론이 일관성을 유지합니다.
- 마스킹은 모든 AI 기능의 모든 발신 프롬프트에 적용됩니다. 활성화할 항목이 없으며 제품에서 비활성화할 수도 없습니다.
- 마스크만 사용하며, 절대 마스킹 해제하지 않습니다. 출력 경계에서 매핑은 단방향입니다. 모델 출력은 실제 식별자를 복원하기 위해 다시 작성되지 않으므로, 원시 개인 식별 정보(PII)는 LLM 응답을 통해 왕복할 수 없습니다.
이것이 오늘날 중요한 이유. Flash의 AI 프롬프트는 개인 기록이 아닌 집계 데이터와 캠페인 데이터를 기반으로 구축됩니다. 마스킹 경계선은 AI 기능이 발전함에 따라 유지되는 강력한 보장이며, 정보 유출을 땜질하는 것이 아닙니다.
유리 상자 모델 재고 관리
제품의 모든 예측 또는 통계 기능은 고전적인 결정론적 모델입니다. 블랙박스 채점이나 샘플링이 없으므로 동일한 데이터는 항상 동일한 모델을 생성합니다. 각 항목에는 명시적인 정직성 게이트가 있습니다. 게이트 아래에서는 추측이 아닌 아무 것도 내보내지 않으며 모든 점수에는 다시 계산하는 데 필요한 숫자가 함께 제공됩니다. 현재 인벤토리:
| 모델 | 파워 | 정직의 문 |
|---|---|---|
| 2가지 모델 향상(두 가지 결정적 로지스틱 적합) | SoClaw 윈백 작업 목록 순위 — 위험 가치 × 상승, 프로그램 자체의 상시 홀드아웃 RCT에 대한 교육 | 200개 이상의 성숙 처리된 행, 50개 이상의 홀드아웃 행 및 20개 이상의 전환만 활성화하며 두 적합도가 모두 수렴됩니다. 그 이하에서는 순위가 순수한 위험 가치로 대체됩니다. 부정적인 향상(방해 금지) 회원은 가라앉습니다. 각 작업은 점수 스냅샷을 저장합니다. |
| 회원별 구매 간 감마(모멘트 방식) | 프로필에 표시된 예상 다음 구매일 + "예상 다음 구매까지 남은 일수" 세그먼트 조건(음수 = 기한 초과) | 관찰된 간격이 3개 이상(즉, 구매가 4회 이상)이고 리듬 규칙성에 대한 변동 계수(≤1.5) 게이트가 필요합니다. 불규칙적인 구매자는 NULL을 반환하며, 임의로 만든 날짜는 절대 표시되지 않습니다. 예상 날짜가 지난 경우, 실제 기한 초과 신호로 표시됩니다. |
| 팀별 L2 정규화 로지스틱 회귀 분석 | 클릭 성향(0~100), 지난 90일간의 전송에 대해 팀 자체적으로 밤마다 재조정 | 클릭 전용 라벨(열리지 않음 - Apple MPP가 라벨을 부풀림) 누출 방지 사전 클릭 기능; 고정된 일정에 따른 결정론적 전체 배치 경사하강법. 맞춤 게이트 ≥500 전송 / ≥30 클릭 / ≥50 회원; 회원이 점수를 매기려면 최근 3개 이상의 전송이 필요합니다. |
| 코사인 정규화된 항목-kNN | 추천 화면 전반에 걸쳐 "함께 구매한 상품" 페어링 | co_count / √(buyers(A) × buyers(B))는 인기 편향을 수정합니다. 쌍이 성립하려면 2명 이상의 공유 구매자가 필요합니다. 원시 공동 구매 건수는 검토 가능한 증거로 점수와 함께 저장됩니다. |
| 협회 규칙 (지원/신뢰/격려) | 판매자의 자체 주문 라인에서 매일 밤 채굴되는 교차 판매 제안 | 규칙은 3건 이상의 동시 발생 주문과 5% 이상의 신뢰도를 필요로 합니다. 모든 규칙은 해당 규칙이 파생된 원시 주문 건수를 저장하므로, 모든 수치는 수동으로 다시 계산할 수 있습니다. 회원 프로필 화면에서는 이미 소유한 제품은 제외되고 활성 구매자의 정보만 표시됩니다. |
| 강건한 통계적 이상치(중앙값/평균 절대 오차) | 그만큼 behavior_outlier 포인트 사기 탐지기 | 강력한 z ≥ 6에 절대적인 최소 기준(≥10건의 수익 창출 거래, 활성 멤버 50명 미만 팀은 제외); 멤버별 월별 중복 제거; 동결 전용 - 검토를 시작하며 자동으로 취소되지 않습니다. |
| Kaplan-Meier + Cox 비례 위험(Nelder-Mead 부분 우도) | 월간 가입 코호트별 유지 + "유지와 상관 관계" 패널 | 뷰에 표시된 정의: 이탈 = 90일 동안 구매 이력이 없는 고객(미구매 고객 제외), 구성원 수가 30명 미만인 코호트는 숨김 및 공개됩니다. Cox 회귀 분석에는 관찰된 이탈 이벤트가 30건 이상 필요하며 공변량은 3개로 제한됩니다. 상관관계는 인과관계가 아닌 상관관계로 표시됩니다. |
| Holt-Winters(주간 계절성, 고정 상수) | 대시보드에 표시되는 향후 14일 수익 전망 | 고정된 평활 상수 - 팀별 조정 영역 없음; 다른 모든 화면과 동일한 인증된 수익 지표를 사용; 점선과 오차 범위가 달러 기준으로 표시됨; 4주간의 기록 아래에 완전히 숨겨져 있음; 확정이 아닌 예측치로 표시됨. |
이러한 모델들은 결코 독립적으로 작동하지 않습니다. 순위를 매기고, 점수를 매기고, 경고 표시를 하며, 자금 이동이나 회원과의 연락 등 모든 활동은 여전히 상위의 관리 시스템을 거쳐 이루어집니다.
각 모델에 대한 전체 엔지니어링 세부 정보(메서드, 입력, 출력 열, 정직성 게이트 및 소비 표면)는 예측 모델 참조를 참조하십시오.