چیتشیت
نتایج، جریانهای کاری، ریسکها و مشخصات فنی
Outcomes, Workflows, Risks and Specs
نتیجه را قالببندی کنید، جریان کاری را مستند کنید، مفروضات را رتبهبندی کنید، یک برش انتخاب کنید، مشخصات فنی را بنویسید، معیارها را تعیین کنید، مرحله را برگزینید.
فهرست مطالب
از درخواست تا مرحله
گامبهگام- نتیجهخروجی نهایی را بدون نام بردن از یک راهحل قالببندی کنید.
- جریان کاریمراحلی را که افراد انجام میدهند، همراه با شواهد ثبت کنید.
- مفروضاتحدسها و ریسکها را امتیازدهی کنید. ابتدا پرریسکترین فرض باز را بیازمایید.
- برشکوچکترین برشی را انتخاب کنید که اثبات مورد نیاز را پوشش دهد.
- مشخصات فنیپایاهای سیستم را ثابت کنید. حالت تصمیمگیری هر بخش را مشخص کنید.
- معیارهاآستانهها را پیش از تولید نتایج تعیین کنید.
- مرحلهبین پیشنمونه، نسخهی پایلوت یا محیط عملیاتی انتخاب کنید.
انتخاب مرحله
معماریقالببندی نتیجه
مفهومها- کاربر
- چه کسی مستقیماً مشکل را تجربه میکند؟
- موقعیت
- چه زمانی و کجا رخ میدهد؟
- رفتار فعلی
- امروزه چه اتفاقی میافتد، به همراه راهحلهای موقت؟
- نتیجهی مطلوب
- چه وضعیت قابل مشاهدهای بهبود مییابد؟
- محدودیتها
- مرزهای ثابت ایمنی، خطمشی، هزینه یا سازگاری.
- نااهداف
- کارهای وسوسهانگیز همسایه که کنار گذاشته شدهاند.
- نشت راهحل
- شکل محصول، مدل یا فریمورک در نتیجه گنجانده شده باشد.
فرمولهای آزمایشگاه
مفهومها- ریسک
- $\mathrm{impact} \times \mathrm{uncertainty} + \mathrm{irreversibility}$
- امتیاز برش
- $\frac{\mathrm{value} + \mathrm{uncertainty\ reduced}}{\mathrm{effort} + \mathrm{risk\ penalty}}$
- جریمهی ریسک
- اگر برگشتپذیر نباشد پیامد ضربدر 2، وگرنه ضربدر 0.5.
- برش واجد شرایط
- اثبات مورد نیاز زیرمجموعهای از
provesباشد. - نسبت شواهد مستقیم
- موارد مستقیم به کل موارد شواهد.
at-most- وقتی مقدار مساوی یا کمتر از آستانه باشد پاس میشود.
at-least- وقتی مقدار مساوی یا بیشتر از آستانه باشد پاس میشود.
مفروضات و شواهد
مفهومها- ارزش
- آیا نتیجه بهاندازهی کافی اهمیت دارد؟
- کاربردپذیری
- آیا کاربر میتواند آن را درک کرده و بر اساس آن عمل کند؟
- امکانپذیری
- آیا سیستم میتواند با دادهها و محدودیتها آن را تولید کند؟
- پایداری کسبوکار
- آیا سازمان میتواند هزینه، مالکیت و عملیات آن را حفظ کند؟
- ایمنی
- آیا در صورت شکست، پیامدهای غیرقابلقبول ندارد؟
- نردبان شواهد
- رفتار مستقیم، دستسازه، رفتار گزارششده، استنتاج.
- اثبات رفتار فعلی
- فقط دو پلهی اول.
سه حالت تصمیمگیری
مقایسه| عامل | قفلشده | محدود | تفویضشده |
|---|---|---|---|
| ایجنت میتواند | انتخاب نکند | درون محدودیتها انتخاب کند | مالکیت تصمیم را بپذیرد، آن را توضیح دهد |
| کاربرد برای | ایمنی، صلاحیت قانونی، سازگاری عمومی | بودجههای جستجو، تعداد تلاش مجدد | نامگذاریها، بازآراییهای برگشتپذیر |
| گام بعدی | چکپوینت انسانی | ایجنت درون محدودیتها پیشنهاد میدهد | ایجنت پیادهسازی و اثبات میکند |
| منطق توجیهی | اجباری | اجباری | اختیاری |
| کلید خروجی | human_checkpoint | bounded_decisions | agent_may_decide |
پیشنمونه، نسخهی پایلوت، محیط عملیاتی
مقایسه| عامل | پیشنمونه | نسخهی پایلوت | محیط عملیاتی |
|---|---|---|---|
| سؤال | آیا اصلاً سازوکار میتواند شواهد را تولید کند؟ | آیا با مخاطب واقعی و محدود بهطور ایمن کار میکند؟ | آیا میتوانیم با پایاییِ وعدهدادهشده مالکیت آن را بر عهده بگیریم؟ |
| زمان استفاده | عدم نیاز به داده یا کاربران واقعی | نیاز به رفتار واقعی، پیامدها آماده نیست | پیامدها محدود، عملیات آماده |
| کنترلها | ورودیهای ساختگی یا ضبطشده، دورریختنی | مخاطب محدود، بازگشت به عقب، مالک انسانی، ردگیری ممیزی | توافقنامهی سطح خدمت (SLO)، نوبت پاسخگویی (آنکال)، بازبینی امنیتی، پایشگری |
| خروج | سازوکار شایستگی ورود به مرحلهی بعد را کسب کند | گسترش، بازنگری یا توقف | مسیر بازنشستگی |
قرارداد معیار
کدpython
plan = MeasurementPlan(
goal="Reduce time to identify the affected service without increasing unsafe actions",
questions=["How quickly is the correct service identified?"],
metrics=[
Metric("median_identification_seconds", "at-most", 120,
"ten incident replays", "replay log", "outcome"),
Metric("correct_service_rate", "at-least", 0.9,
"ten incident replays", "incident record", "outcome"),
Metric("production_writes", "at-most", 0,
"entire pilot", "audit log", "guardrail"), # نوع الزامی
])
report(plan, values) # مقدار ناموجود وضعیت missing را برمیگرداند
توابع آزمایشگاه
کار و کد| وظیفه | کد |
|---|---|
| اجرای یک آزمایشگاه و تستهای آن | python3 -m unittest discover code/tests -v |
| وضعیت قالببندی | decision(frame) |
| ممیزی شواهد جریان کاری | audit(steps) |
| رتبهبندی مفروضات | prioritize(items) |
| بالاترین ریسک باز | next_experiment(items) |
| انتخاب یک برش واجد شرایط | choose(items, required_proof) |
| مشخصات به قرارداد | compile_contract(specification) |
| مرحله و کنترلهای آن | plan(decision) |
ثوابت آزمایشگاه
پیشفرضها| تنظیم | پیشفرض | نکته |
|---|---|---|
Risk dimensions | range(1, 6) | اثرگذاری، قطعیتنداشتن، برگشتناپذیری |
Evidence `confidence` | 0 <= item.confidence <= 1 | در غیر این صورت یک مشکل (issue) |
Workflow `order` | range(1, len(steps) + 1) | پیوسته در حافظه از شماره یک |
VALID_MODES | {"locked", "bounded", "delegated"} | سایر حالتها نامعتبرند |
Stage `consequence` | 1 <= decision.consequence <= 5 | در غیر این صورت یک خطا |
Pilot at consequence | 4 | یا برگشتناپذیر، یا آمادهنبوده |
پیامهای اعتبارسنج
عیبیابیdesired outcome names the proposed output- علت
- نشت راهحل به نتیجه
- راهحل
- نتیجهی قابل مشاهده را بهجای آن بیان کنید
non-goals are empty- علت
- هیچ مرزی برای برش وجود ندارد
- راهحل
- نااهداف مشخصی اضافه کنید که کارها را رد کند
no slice proves the required assumptions- علت
- کاندیداها بخش پرریسک را رد میکنند
- راهحل
- برشی طراحی کنید که مجموعهی اثبات را پوشش دهد
constrained decision lacks rationale- علت
- قفلشده یا محدود بدون ارائهی دلیل
- راهحل
- دلیل این محدودیت را بنویسید
guardrail metric is missing- علت
- تنها معیارهای سنجش نتیجه وجود دارد
- راهحل
- یک گاردریل از نوع
production_writesاضافه کنید
پرسشها
پرسش و پاسخ- یک برش ارزان امتیاز بالایی میگیرد اما اثبات را نادیده میگذارد؟
- ردصلاحیتشده باقی میماند.
- هر نتیجهای میگوید به ساخت ادامه دهید؟
- این برش یک آزمایش نیست.
- آیا یک لایهی پایینتر میتواند ادعای بالاتری را اثبات کند؟
- خیر. تست واحد تنها یک قرارداد محلی را اثبات میکند.
- بازپخش آفلاین یا نسخهی پایلوت؟
- هیچکدام جایگزین دیگری نیست.
- محیط عملیاتی چه زمانی آغاز میشود؟
- وقتی سازمان مسئولیت مستمر آن را بپذیرد.
نکات کاربردی
نکتهها- از حداقلهای دروغین بپرهیزید: فقط رابط کاربری، فقط زیرساخت، مسیر ایدهآل، دمو، پلتفرم.
- قبل از پیادهسازی، یک قاعدهی توقف بنویسید.
- مسیرهای موفقیت، شکست و نامشخص را قبل از دیدن نتایج ثبت کنید.
- مرحله را در پیکربندی، کنترل دسترسی، تلهمتری و اسناد مشخص کنید.