صفحه ۴۹ از ۴۹، رویههای پیشرفته (SOP)
SOP: حلقهی بازخورد مشاهدهپذیری
وقتی اشکالزدایی کند است، ایجنتها بدون شواهد ادعای موفقیت میکنند، یا بررسی رفتار زمان اجرا سختتر از خواندن خود کد است، از این رویه استفاده کنید.
هدف#
یک حلقهی بازخورد محلی روی لاگها، متریکها، traceها و بارهای کاری قابلاجرا به ایجنت بدهید تا از اجرا استدلال کند، نه فقط از خواندن کد.
حداقل پشته#
- برنامه لاگ ساختیافته تولید کند
- برنامه در صورت امکان متریک و trace هم تولید کند
- یک لایهی محلیِ جمعآوری یا توزیع
- رابطهای کوئری برای لاگ، متریک و trace
- یک بار کاری یا مسیر کاربر تکرارپذیر که بعد از هر تغییر دوباره اجرا شود
رویهی اجرا#
- مهمترین مسیرهای «طلایی» زمان اجرا را تعریف کنید.
- به راهاندازی و مسیر بحرانی لاگ ساختیافته اضافه کنید.
- هر جا مفید است، برای تأخیر، تعداد خطا یا عمق صف متریک اضافه کنید.
- برای جریانهای کند یا چندمرحلهای trace یا نشانگر زمان اضافه کنید.
- سیگنالها را از محیط توسعهی محلی قابل کوئری کنید.
- یک بار کاری یا سناریوی تکرارپذیر برای اجرای مجدد به ایجنت بدهید.
- حلقه را الزامی کنید: کوئری ← همبستهسازی ← استدلال ← پیادهسازی ← راهاندازی مجدد ← اجرای دوباره ← راستیآزمایی.
چکلیست یک نشست اشکالزدایی#
- چه چیزی شکست خورد؟
- کدام سیگنال شکست را ثابت میکند؟
- کدام لایه مسئول شکست است؟
- بعد از اصلاح چه چیزی عوض شد؟
- برنامه تمیز راهاندازی مجدد شد؟
- همان بار کاری بعد از اجرای دوباره پاس شد؟
تعریف اتمام#
- ایجنت میتواند یک حالت شکست را با شواهد زمان اجرا توضیح دهد.
- همان بار کاری بعد از هر تغییر قابل اجرای مجدد است.
- راهاندازی مجدد و اجرای دوباره بخشی از حلقهی عادی کار است.
- سیگنالهای قابلیت اطمینان در
docs/RELIABILITY.mdمستند شدهاند.