عاملها، حاکمیت، حقوق و صورتحساب · فصل ۱ — Catalog، Authority، Memory، Failure و Cost · 279
Owner Exception Management
agent را صرفاً automation میبیند و authority، memory، retry، cost و human escalation را صریح نمیکند. موضوع جاری: «Owner Exception Management». میتواند برای «Owner Exception Management» authority، memory/failure boundary و escalation/evidence را در یک agent محدود تعریف کند.
خلاصهٔ درس
agent را صرفاً automation میبیند و authority، memory، retry، cost و human escalation را صریح نمیکند. موضوع جاری: «Owner Exception Management».
میتواند برای «Owner Exception Management» authority، memory/failure boundary و escalation/evidence را در یک agent محدود تعریف کند.
خروجی این درس
میتواند برای «Owner Exception Management» authority، memory/failure boundary و escalation/evidence را در یک agent محدود تعریف کند.
درخواست فوری یک Owner بهخودیخود مجوز جدید برای Agent نمیسازد. اگر Agent طبق قاعدهی عادی اجازهی انجام یک Action را ندارد، Exception باید روشن کند چه کسی واقعاً اختیار تأیید دارد، دقیقاً چه Action/Subject/Resourceای مجاز میشود، از چه زمانی تا چه زمانی، با چه Evidence و Risk، با چه Compensating Control و تحت چه Revocation/Auditی.
Shortcut خطرناک این است: «Owner در چت گفت انجام بده، پس مجاز است.» این کار Request، Approval و Policy Change را در یک پیام ادغام میکند. در این درس Owner Exception Request & Decision Ledger v1 را میسازیم تا Normal Rule سر جای خودش بماند و یک Override یکباره هرگز بیصدا به Authority دائمی تبدیل نشود.
قاعدهی اصلی: Normal Rule را تغییر نده. Exception یک رکورد جدا، محدود، زماندار، قابللغو و قابلممیزی است. اگر Authority یا Evidence تعیینکننده ناقص باشد، سیستم باید fail-closed شود و یک state غیرموفق صریح بدهد.
مرز درس و مسیر
AGN-001 مالک Owner Exception Management است. COM-037 مالک Native App Decision Gate و AGN-001 مالک Recommendation با Evidence/Confidence است. این درس هیچکدام از این Outcomeهای مجاور را جذب نمیکند.
Prerequisiteهای مجاز FND-003 بهصورت Hard و AIE-009 بهصورت Soft هستند. فقط مرز لازم را حمل میکنیم: Action پراثر بدون Evidence و Authority پاسخگو نباید صرفاً بهدلیل Urgency آزاد شود.
همهی مثالها و Lab مصنوعی و آفلایناند. هیچ Refund واقعی، Billing، Customer، Tenant، Production System یا Approval واقعی تغییر نمیکند.
مدل ذهنی: Exception یک Delta محدود است، نه Default جدید
این زنجیره را نگه دارید:
normal rule → exception request → authority check → evidence/risk check → reject | hold | approve-bounded → compensating control → expiry/revoke → audit → separate policy-change path
چهار چیز را از هم جدا نگه دارید:
- Normal Rule: Agent در حالت عادی چه اجازهای دارد.
- Exception Request: چه انحرافی از Rule درخواست شده و چرا.
- Exception Decision: اگر موجه بود، یک مجوز محدود و ثبتشده.
- Policy Change: تغییر جداگانه و Governed در Rule پیشفرض.
Exception معتبر Normal Rule را بازنویسی نمیکند. تکرار Exception هم خودکار Policy نمیسازد. حالتهای HOLD, UNKNOWN, PARTIAL, DISPUTED, STALE, BLOCKED, EXPIRED, REVOKED Outcome معتبرند وقتی Evidence ناقص است یا Grant دیگر معتبر نیست.
مبانی: FACT، INFERENCE و DESIGN را جدا نگه دارید
FACT — NIST: NIST AI 600-1 میگوید استفاده از GAI ممکن است به Human Review بیشتر، Tracking/Documentation و Management Oversight بیشتری نیاز داشته باشد و سازمانها میتوانند کاربردهایی را که از Risk Tolerance عبور میکنند محدود کنند. این منبع از Oversight صریح و مدیریت Risk پشتیبانی میکند، اما Roleها، Expiry و Stateهای MAKNOW را تعریف نمیکند.
FACT — OpenAI Agents SDK: مستندات فعلی Human-in-the-loop نشان میدهد Tool Call نیازمند Approval میتواند Pause شود، Approval Pending بهصورت Interruption ظاهر شود و بعد از Approve/Reject همان Run Resume شود. این یک مکانیزم فنی Approval است؛ ثابت نمیکند فرد تأییدکننده در سازمان Authority لازم را دارد.
INFERENCE: وقتی Normal Rule و Exception Record جدا باشند و Scope، Authority Evidence، Control، Expiry/Revocation و Audit صریح ثبت شود، Exception دفاعپذیرتر و قابلممیزیتر است.
DESIGN: فیلدهای Ledger، نام Stateها، Fail-closed Ruleها، Revalidation و Policy-promotion gate قرارداد محلی MAKNOW هستند.
قرارداد ۲۲فیلدی Owner Exception Ledger
رکورد اصلی ۲۲ بُعد دارد:
exception_id, requester_id, owner_authority_ref, normal_rule_ref, requested_action, subject_scope, resource_scope, reason_code, evidence_refs, risk_class, approval_required, decision_state, decision_by, decision_at, effective_from, expires_at, compensating_controls, audit_event_ref, revocation_trigger, revalidation_due, policy_change_candidate, final_disposition.
Gate 1 — Normal Rule را حفظ کن
normal_rule_ref باید در رکورد باقی بماند. Rule پایه را برای عادی جلوهدادن Exception ویرایش نکنید.
Gate 2 — Authority را Verify کن
owner_authority_ref باید به Authority محلی برای همین Class از Exception اشاره کند. کلمهی «Owner» در مکالمه کافی نیست. اگر Authority مفقود، Unknown، Stale، Disputed یا خارج از Scope/Risk باشد، HOLD کنید.
Gate 3 — Action، Subject و Resource را Bound کن
مجوز برای یک Refund، یک Customer مصنوعی و یک Account/Resource را نمیتوان برای یک Customer Tier، Action دیگر یا Resource دیگر reuse کرد. Scope Expansion تصمیم جدید میخواهد.
Gate 4 — Reason، Evidence و Risk را ثبت کن
Urgency فقط Context است، Authority نیست. reason_code، evidence_refs و risk_class Trade-off را آشکار میکنند. Exception پرریسک Evidence و Control قویتری میخواهد.
Gate 5 — Approval را صریح کن
اگر Approval لازم است، decision_by باید یک Approver مجاز باشد و decision_at ثبت شود. State از قبل پرشدهی APPROVE_BOUNDED نبود Authority را جبران نمیکند.
Gate 6 — زمان را Bound کن
effective_from و expires_at پنجرهی اعتبار را مشخص میکنند. بعد از Expiry اجرا Block میشود. Request جدید یعنی Evaluation جدید، نه تمدید بیصدا.
Gate 7 — Compensating Control اضافه کن
مثلاً Review نفر دوم، سقف مبلغ پایینتر، Single-use، Reconciliation بعد از Action یا Monitoring بیشتر. Control Risk محدود را کاهش میدهد؛ Authority نمیسازد.
Gate 8 — Audit و Revocation
هر Exception یک audit_event_ref و revocation_trigger میخواهد. اگر Trigger فعال شد، Exception حتی قبل از Expiry باید REVOKED/BLOCKED شود.
Gate 9 — Revalidate و Policy Change را جدا کن
Exceptionهای تکرارشونده میتوانند Signal بدهند که Normal Rule نیاز به بازنگری دارد. policy_change_candidate=true را ثبت کنید، اما خودکار Promote نکنید؛ Policy Change مسیر Governed جدا دارد.
مثالهای حلشده
| Exception | Normal Rule | Requester | Owner Authority | Action | Subject Scope | Resource Scope | Evidence | Risk | Approval Required | Decision | Decision By | Effective | Expiry | Compensating Control | Audit | Revocation | Policy Candidate | Disposition | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EX-001 | refund <= 500 without exception | service_owner_7 | auth://incident-refund-L2 | refund 750 | customer:C-104 | account:A-104 | incident-17 | case-104 | HIGH_BOUNDED | YES | APPROVE_BOUNDED | owner-7 | 2026-09-14T18:00Z | 2026-09-14T18:30Z | second-person reconciliation | audit://EX-001 | incident_closed | fraud_signal | NO | single-use bounded exception |
| EX-002 | refund <= 500 without exception | service_owner_7 | UNKNOWN | refund 750 | customer:C-104 | account:A-104 | incident-17 | case-104 | HIGH_BOUNDED | YES | HOLD | NONE | NONE | NONE | second-person reconciliation | audit://EX-002 | incident_closed | fraud_signal | NO | verify owner authority |
| EX-003 | refund <= 500 without exception | service_owner_7 | auth://incident-refund-L2 | refund <= 750 | premium_customers | all premium accounts | incident-17 | HIGH_EXPANDED | YES | HOLD | NONE | NONE | NONE | NONE | audit://EX-003 | scope_change | YES | new scoped decision / policy review | ||
| EX-004 | refund <= 500 without exception | service_owner_7 | auth://incident-refund-L2 | refund 750 | customer:C-104 | account:A-104 | incident-17 | case-104 | HIGH_BOUNDED | YES | BLOCKED | owner-7 | 2026-09-14T18:00Z | 2026-09-14T18:30Z | second-person reconciliation | audit://EX-004 | expired | NO | expired; submit new request |
مثال ۱ — Exception محدود و معتبر
Agent پشتیبانی در حالت عادی حق Refund بالاتر از ۵۰۰ واحد ندارد. هنگام Incident، Service Owner مجاز برای یک Customer با شناسهی C-104 یک Refund برابر ۷۵۰ درخواست میکند. Authority مخصوص Incident Exception Verify شده، Evidence جاری است، Risk بالا ولی Bound شده، Reconciliation نفر دوم الزامی است، Grant بعد از ۳۰ دقیقه Expire میشود و Revocation Trigger هم دارد. APPROVE_BOUNDED فقط بهدلیل کاملبودن Evidence قابلدفاع است.
مثال ۲ — Approval باقی است ولی Owner Authority حذف میشود
owner_authority_ref را حذف کنید اما decision_state=APPROVE_BOUNDED را نگه دارید. این State دیگر Evidence ندارد. خروجی باید HOLD_AUTHORITY_UNVERIFIED باشد؛ متن Approval خودش Proof نیست.
مثال ۳ — یک Customer به کل Customer Tier تبدیل میشود
Baseline فقط C-104 را پوشش میدهد؛ Mutation، subject_scope را به premium_customers گسترش میدهد. این همان Exception نیست. تا Decision مستقل و مجاز ساخته نشود، HOLD_SCOPE_BROADENED لازم است.
مثال ۴ — Expiry گذشته اما Agent هنوز Grant را executable میداند
Exception منقضی «احتمالاً هنوز قابلقبول» نیست. Evaluator باید BLOCKED_EXCEPTION_EXPIRED بدهد و Request/Evaluation جدید بخواهد.
مثال ۵ — Exception تکراری به رفتار عادی تبدیل میشود
اگر یک Deviation مرتب تکرار میشود، آن را policy_change_candidate کنید. ادامهی نامحدود با Exceptionهای جدید جای Policy Review را نمیگیرد.
Failure Modeهای رایج
- Chat-as-authority: پیام Request همان Permission فرض میشود.
- Normal-rule overwrite: بهجای ثبت Exception، Rule پایه تغییر میکند.
- Scope creep: یک Subject/Action/Resource بیصدا به Class بزرگتر گسترش پیدا میکند.
- Approval without approver: State میگوید Approved اما Authority Evidence نیست.
- Permanent temporary:
expires_atوجود ندارد یا Expiry نادیده گرفته میشود. - Control theater: Compensating Control نام برده میشود ولی به Risk وصل نیست.
- No revocation: حتی بعد از تغییر شرایط Grant معتبر میماند.
- Audit gap: معلوم نیست چه کسی، چه چیزی را، چه زمانی تأیید کرده.
- Exception-to-policy drift: تکرار Exception بدون Policy Change Governed به رفتار عادی تبدیل میشود.
- Baseline reuse: Request بعدی بعد از Expiry، Approval قبلی را کپی میکند.
- External-mechanism overreach: Approval فنی SDK با Authority سازمانی اشتباه گرفته میشود.
- Forced success: Evidence ناقص بهجای HOLD/UNKNOWN/BLOCKED به Approval تبدیل میشود.
Alternatives و Trade-offها
میتوانید همهی Exceptionهای پرریسک را Reject کنید یا Exception محدود با Control قویتر داشته باشید. Reject-all سادهتر و محافظهکارانهتر است؛ Exception محدود انعطاف عملیاتی میدهد اما Evidence، Ownership، Expiry و Audit بیشتری لازم دارد.
Exception میتواند Single-use یا Time-windowed باشد. Single-use راحتتر Audit میشود؛ Time Window در Incident مفیدتر است ولی Risk اجرای چندبارهی ناخواسته را بالا میبرد.
برای Deviationهای تکراری میتوانید Exceptionهای جدید بدهید یا Policy Review باز کنید. مسیر Exception سریعتر است ولی Drift میسازد؛ Policy Review پرهزینهتر است اما Default Rule را شفاف، تستپذیر و پاسخگو میکند.
قاعدهی کنترلکننده: Exception فقط میتواند یک Deviation را محدود و زماندار کند؛ نباید Authority بزرگتر یا ماندگارتر از Evidence تولید کند.
پل مسیر باتجربه
برای Review سریع، هشت سؤال بپرسید:
- دقیقاً کدام Normal Rule قرار است bypass شود؟
- Requester کیست و چه Evidenceای Authority او را ثابت میکند؟
- دقیقاً چه Actionای مجاز میشود؟
- Subject و Resource داخل Scope و خارج Scope چیست؟
- چه Evidence و Riskای Deviation را توجیه میکند؟
- چه Compensating Controlی داریم؟
- Expiry چیست و چه Triggerی زودتر Revocation میکند؟
- هنوز یک Exception است یا تکرار آن Signal یک Policy Change شده؟
اگر جواب سؤال ۲ فقط «Owner است» باشد، Decision هنوز Auditable نیست.
تمرین هدایتشده و مستقل
Lab آفلاین را اجرا کنید:
python -B lab/AGN-001-LAB1/learner/run_checks.py
از Baseline محدود شروع کنید. سپس این Mutationها را اجرا کنید: Owner Authority را حذف ولی Approval را نگه دارید؛ یک Customer را به Customer Tier گسترش دهید؛ Expiry را عبور دهید ولی Exception را executable نگه دارید؛ Compensating Control یک Case پرریسک را حذف کنید؛ Revocation Trigger را فعال کنید؛ و یک Exception تکراری را بدون Policy-change disposition ادامه دهید.
در Transfer، بعد از Expiry یک Request جدید برای Action و Customer Class متفاوت بیاید. Approval baseline یا Authority ref قبلی را بدون بررسی Applicability کپی نکنید.
شواهد Verification
قبولی وقتی است که Decision از روی Fieldهای Visible و Ruleهای deterministic بازتولید شود. Lab باید حداقل این موارد را بگیرد:
- Approval بدون Owner Authority قابلVerify؛
- Scope Expansion خارج از Subject/Action/Resource مجاز؛
- Execution بعد از Expiry؛
- Revocation Trigger فعال؛
- Exception پرریسک بدون Compensating Control؛
- Exception تکراری که مثل Policy عادی استفاده میشود؛
- Transfer که Approval baseline را reuse میکند؛
- Missing field تعیینکننده که به success تبدیل میشود.
Oracle فقط Fixture و Ruleهای آشکار است؛ نه Hidden Reasoning مدل و نه سرویس Live.
Assessment و Transfer
Learner باید چهار توانایی را نشان دهد: مرز AGN-001 را توضیح دهد؛ Baseline Ledger کامل بسازد؛ Mutation «Owner Authority حذف شده ولی Approval مانده» را diagnose کند؛ و Changed-context Request بعد از Expiry را از صفر recompute کند.
Diagnosis قوی Field خراب، Consequence و کوچکترین Repair را نام میبرد. مثال: owner_authority_ref=UNKNOWN → approval unsupported → HOLD_AUTHORITY_UNVERIFIED → resolve authority evidence before any execution.
در Transfer نهایی Action و Customer Class تغییر کردهاند. Approval قبلی فقط Historical Evidence است؛ Standing Policy نیست، Authority قابلارث نیست و Answer Key محسوب نمیشود.
منابع و Freshness
- NIST AI 600-1 — Generative AI Profile: منبع رسمی برای Human Oversight بیشتر، Tracking/Documentation، Management Oversight، Risk Tolerance و Governance Control؛ نه منبع Stateهای محلی Exception.
- OpenAI Agents SDK — Human-in-the-loop: مکانیزم فعلی Pause/Approve/Reject/Resume برای Tool Call حساس؛ نه Proof برای Authority سازمانی.
- Frozen AGN-001 Lesson Bible: Authority محلی برای Fieldها، Stateها، Negative Caseها، Transfer و جداسازی Policy Change.
NIST و Agents SDK در 2026-09-14 دوباره بررسی شدند. رفتار volatile مربوط به SDK را تا 2026-10-18 و claimهای practice-level را تا 2027-01-01 بازبینی کنید یا زودتر اگر semantics materially تغییر کرد.
ارزیابی
پاسخنامهی این درس در بستهی آموزش وجود ندارد؛ خودت جواب بده و صادقانه علامت بزن. «نیاز به مرور» درس را به صف تکرار میفرستد.
AGN-001-S1 retrieval
Explain the owned boundary of Owner Exception Management and name one adjacent non-goal.
AGN-001-S2 application
Build a complete Owner Exception Request & Decision Ledger for the baseline synthetic refund fixture.
AGN-001-S3 diagnosis
Remove the recorded owner authority while leaving approval unchanged. Identify the invalid field/state, consequence and minimal repair.
AGN-001-S4 transfer
After the original exception expires, evaluate a new request for a different action and customer class without reusing the prior approval as standing policy.
ملاکهای ارزیابی (rubric)
Pass requires: explicit lesson boundary; complete 22-field ledger; authority evidence distinct from request; typed non-success states; bounded subject/action/resource/time; expiry and revocation; compensating controls; audit reference; separation of exception from policy change; recomputation under transfer.
منابع و تازگی
مطالعهٔ موارد (case studies)
فایلهای آزمایشگاه
python -B run_checks.py را اجرا کنید. همهی دادهها مصنوعیاند. Evaluator، Authority، Scope محدود، Expiry/Revocation، Control، Audit و Transfer recomputation را بررسی میکند.