اكتب تفاصيل تحافظ على الحكم
Type: Learn + Build
Languages: Python (stdlib)
Prerequisites: Phase 14 lesson 50
Time: ~75 minutes
أهداف التعلم
- النتيجة المفصلة، والغيرات المتغيرة، والمثلة، غير الأهداف، والدليل.
- علامة القرارات كحصيلة أو محدودة أو تم تفويضها.
- الحفاظ على حكم العميل حيث الخيارات رخيصة و قابل للتعديل.
- تطلب نقاط تفتيش بشرية حيث تغيرت النتائج أو السلوك العام
اثنين من الأخطاء الشديدة
مهمة أقل تحديداً تطلب من وكيل تخمين النظام. مهمة أكثر تحديداً تطلب منه نقل تصميم قد يكون خاطئاً بالفعل.
الوسيط المفيد هو عقد يمكن تنفيذه:
| Surface | Purpose |
|---|---|
| Outcome | The observable result |
| Invariants | Conditions that must always remain true |
| Examples | Concrete cases that reveal intent |
| Non-goals | Adjacent behavior intentionally excluded |
| Decision policy | Which choices are locked, bounded, or delegated |
| Proof | Evidence required before completion |
ثلاثة طرق اتخاذ القرارات
- Locked:لا يجب على الوكيل أن يختار. الاستخدام لموافقة العامة، السلطة، السلامة، التكلفة غير المعادلة، أو التزام المنتج.
- Bounded:يمكن للعميل اختيار داخل حدود صريحة. استخدام ل ميزانيات البحث، أعداد محاولة إعادة، والاعتمادات المسموح بها، أو عائلة واجهة معروفة.
- Delegated:الوكيل يمتلك الخيار ويجب أن يشرحه. الاستخدام للهيكل المحلي، والأسماء، والعكسية العوامل، وتفاصيل التنفيذ.
flowchart LR
D[Decision] --> C{Consequence and reversibility}
C -->|High consequence| L[Locked]
C -->|Known safe range| B[Bounded]
C -->|Cheap and reversible| A[Delegated]
L --> H[Human checkpoint]
B --> P[Agent proposes within limits]
A --> I[Agent implements and proves]أوضح السلوك من خلال الأمثلة
المثال يضغط النية بشكل أفضل من الصفات. مفيد، قوي، و جاهز للإنتاج غير قابل للتنفيذ. مجموعة صغيرة من الأمثلة الطبيعية والحافة والفشل والحظر يعطي كل من البناء والتحقق شيئاً ملموساً.
الأمثلة لا تحل محل الخيارات الثابتة. حالة واحدة لا يمكن أن تثبت قاعدة سلامة عالمية.
يجب أن يتوافق الدليل مع الادعاء
- اختبار الوحدة يثبت عقد وظيفة محلية
- اختبار الأسلاك يثبت التسلسل وسلوك النقل
- رحلة المتصفح تثبت مسار الواجهة
- مجموعة إعادة التمثيل تثبت السلوك على الحالات الممثلة.
- سجل مراجعة يثبت أن حدود السلطة تمت.
لا تقبل الطبقة السفلى كدليل على ادعاء عن الطبقة العليا.
الحفاظ على المجهولات عن قصد
يمكن أن تقول المواصفات يمكن لتنفيذها اختيار أي مصدر يمكن قراءته فقط يعود في الميزانية الزمنية. هذا ليس غامضاً. إنه قرار تم تفويض عمداً مع حدود ودليل.
يجب أن تتطور المواصفات عندما تتغير الأدلة. الحفاظ على السبب وراء الخيارات المقفلة والحدودة حتى يتمكن فرق لاحقة من مراجعتها دون علم الآثار.
بناءها
المختبر يصدق كل سطح عقد، يُفحص أنواع القرار، ويكتبoutputs/executable-specification.json. . .
bashpython3 code/main.py
python3 -m unittest discover code/tests -vنقل قرار كتابة الإنتاج من مقفل إلى تمنح. شرح لماذا النظام يقبل القيمة ولكن مخاطر المنتج لا.
التمارين
- حول تذكرة التخلف إلى السطحات الست المحددة.
- استبدل ثلاث تعليمات تنفيذية بمثابة متغير واحد ومثلتين.
- قم بتدوين كل قرار وتبرير كل خيار مقفل أو محدود
- إضافة إيصال دليل لكل غير متغير
- إزالة قيود لا توجد أدلة أو سبب للمخاطر.
المزيد من القراءة
- Nuseibeh and Easterbrook, Requirements Engineering: A Roadmap، للعلاقة بين الأهداف، والتفاصيل الدقيقة، والتحقق من المصادقة، والاتفاق، والتطور.
- Zave and Jackson, Four Dark Corners of Requirements Engineering، لفرق الافتراضات والمتطلبات والتفاصيل البيئية.
- Gotel and Finkelstein, An Analysis of the Requirements Traceability Problem، للحفاظ على سبب وجود متطلب ومن أين جاء
ما تحافظ عليه
إبقoutputs/executable-specification.jsonيصبح العقد الذي يتشارك فيه وكلاء التشفير والمراجعون البشريين
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.