Phase 13: Tools & Protocols

مهارت های برابر، بسته بندی و حمل

مهارت زمانی به پایان می رسد که بسته اش از دست دادن، مسیرهای درست را به دنبال کند، یک کار اندازه گیری شده را بهبود بخشد، در سیاست باقی بماند و به طور صادقانه در میزبان دیگر تخریب شود.

Type: Build

Languages: Python (stdlib)

Prerequisites: Phase 13 · 22, 24, 25, and 26

Time: ~150 minutes

اهداف یادگیری

  • یک جریان کار متخصص را با جدا کردن قضاوت، محاسبات تعیین کننده، مرجع ها و قراردادهای تولید به یک مهارت تبدیل کنید.
  • ساختار بسته آزمایش، مسیر تگ، رفتار کار، دقت اسکریپت، ایمنی و حمل و نقل به عنوان لایه های جداگانه.
  • اندازه گیری دقیق و به یاد آوردن با استفاده از مثبت، منفی واضح و نزدیک misses است.
  • عملکرد را با و بدون مهارت در دو دویدن تکرار کنید.
  • ساخت و اجرای یک ماتریس قابلیت های زمان اجرا و یک دروازه آزادسازی برای بسته های مهارت کامل.

مشکل

یک مهارت در یک نمایش کار می کند. کاربر دقیقاً عبارت مورد استفاده در توصیف خود را می پرسد، نویسنده می داند که کدام مرجع را برای باز کردن، اسکریپت ورودی پاک را می بیند و میزبان انتظار می رود هر زمینه سفارشی را تشخیص می دهد.

پس استفاده واقعی شروع می شود.

  • مدل به آن برای یک کار نزدیک اما متفاوت اشاره می کند.
  • یک درخواست معتبر از عبارت های ناشناخته استفاده می کند، بنابراین مدل آن را از دست می دهد.
  • بدن به مامور ميگه چه کاري بايد بکنه ولي نه اينکه چه مصنوعي ثابت ميکنه که تمام شده
  • اسکریپت در فضاهای، اجرای مکرر یا حالت جزئی شکست می خورد.
  • کپی نصب کننده بسته SKILL.mdاما مرجعش رو پشت سر گذاشته
  • زمان اجرا دیگر پرچم های دعوت و اجازه ابزار را نادیده می گیرد.
  • يک مسابقه موفق ميشه، سه مسابقه معادل به شاخه هاي مختلف ميرن

هیچ یک از این شکست ها توسط "مارک داون به نظر می رسد خوب است". مهارت ها بسته های نرم افزاری کوچک با یک لایه رویتینگ و اجرای احتمالی هستند. آنها نیاز به همان جداسازی نگرانی ها مانند هر رابط تولید دیگری دارند.

مفهوم

از یک جریان کار واقعی شروع کنید، نه یک موضوع

"تفاوت کوبرنتس ایجاد کنید" یک حوزه قابل استفاده نیست. کوبرنتس شامل صدها کار با ابزار، ریسک و نتایج مختلف است.

"شخصیت تشخیص اینکه چرا یک پیاده سازی به دست نمی آید قابل دسترس است، جمع آوری شواهد بدون تغییر کلستر و تهیه یک گزارش حادثه رتبه بندی شده" یک کاندید مهارت است. این دارای:

  • یک مرز محرک؛
  • یک سلسله ثابت مراحل جمع آوری شواهد؛
  • نکات تصمیم گیری که نیاز به قضاوت دارند؛
  • دستورات که می توانند به اسکریپت یا ابزار باریک تبدیل شوند؛
  • یک اثر هنری تعریف شده؛
  • یک مرز ایمنی: تشخیص فقط برای خواندن.

از اين مصاحبه استخراج استفاده کنيد:

  1. چه اتفاقي به طور تحديدي باعث ميشه يه متخصص اين سير کار رو شروع کنه؟
  2. چه درخواست های مشابهی نباید شروع شود؟
  3. چه شواهد را متخصص اول جمع آوری می کند؟
  4. چه تصمیمی بستگی به این شواهد دارد؟
  5. چه گام هایی به اندازه کافی تعیین کننده برای نوشتن هستند؟
  6. چه قوانين دامنه اي بايد مورد توجه قرار بگيرد؟
  7. چه اقداماتی نیاز به تأیید دارند یا باید از محدوده اعمال خارج شوند؟
  8. چه اثري ثابت ميکنه که سير کار تمام شده؟
  9. چطور یک بازرس مستقل این را بررسی می کند؟
  10. چه گام هایی بستگی به یک زمان اجرا دارد؟

پاسخ ها به معماری بسته و مجموعه ارزیابی تبدیل می شوند.

قضاوت جداگانه از کار تعیین کننده

استفاده از قضاوت مدل برای طبقه بندی، اولویت بندی، سنتز و عدم وضوح. استفاده از اسکریپت ها یا ابزار برای تجزیه و تحلیل، شمارش، اعتبار، تبدیل، پرسیدن API های تایپ شده و اجرای متغیرها.

یک مجموعه مهارت که شامل ۸۰ خط تجزیه و تحلیل دستی شبیه سازی شده است شکننده است. یک اسکریپت که سعی می کند یک تصمیم معماری ذهنی را بگیرد، شفاف نیست. هر رفتار را در جایی قرار دهید که بهترین آزمایش آن باشد.

نویسنده بسته به ترتیب وابستگی

از پُرزه کردن شروع نکن، از قرارداد قابل مشاهده به درون بساز.

  1. Artifact contract:فایل های مورد نیاز، زمینه ها یا تصمیمات را تعریف کنید.
  2. Verification:مشخص کنید که چگونه هر الزامی را بررسی می شود.
  3. Evidence tools:جمع کننده های تعیین کننده و اعتبارگرها را اجرا کنید.
  4. Decision map:به شاخه ها ارتباط برقرار کنید.
  5. References:اطلاعات دامنه را به شاخه ای که به آن نیاز دارد، عرضه کنید.
  6. Entry body:جریان کار، محدودیت ها، شکست ها و خروجی را توضیح دهید.
  7. Description:قدرت دولت و مرز فعال کردن
  8. Runtime adapters:اضافه کردن درخواست یا تمدیدات زمینه به طور جداگانه.
  9. Evals:ساختار، مسیر، رفتار، ایمنی و لایه های حمل و نقل را اجرا کنید.
  10. Package:فهرست کامل را نصب کنید و از مقصد آزمایش کنید.

این دستور باعث می شود که پروزه به جای اختراع معیارهای موفقیت پس از عملکرد دمو، به یک سیستم قابل آزمایش خدمت کند.

شش لایه ارزیابی

هر لایه به یک سوال متفاوت پاسخ می دهد. گذراندن یکی نمی تواند جایگزین دیگری شود.

لایه ی اول: ساختار بسته بندی

در حال بررسی این که آیا این مدل ها دارای یک مدل است، باید مشخص شود که:

  • SKILL.mdدر ریشه بسته وجود دارد؛
  • بررسی های ایمن از ماده جلو
  • nameو مطابقت با دایرکتوری والدین؛
  • زمینه های مورد نیاز موجود و در محدوده هستند؛
  • هر میدان غیر هسته ای از ماده جلو در لیست اجازه های تمدید زمان اجرا سیاست انتشار ظاهر می شود.
  • هر مرجع مستقیم در داخل بسته حل می شود؛
  • مرجع ها، اسکریپت ها، دارایی ها و تنظیمات ارزیابی از پسنرد های مجاز سیاست انتشار استفاده می کنند و در حد بایت یا زیر آن باقی می مانند.
  • هیچ لینک متمایز یا فایل ویژه ممنوع وجود ندارد؛
  • این سازمان در بودجه شخصی سیاست آزادسازی باقی می ماند.
  • یک اسکن مخفی با الگوی باریک به طور عمدی هیچ تفویض معتبر یا سرپرستی کلید خصوصی را پیدا نمی کند؛
  • خالی نیست## Output contractو## Failure behaviorبخش ها حضور دارند.

قبل از تجزیه و تحلیل پرواز با درخت فیزیکی انجام دهیدSKILL.md، داده های ارزیابی، شواهد، نصب های میزبان یا مانیست. یک ریشه متناظر، والدین متناظر یا ورودی را رد کنید، فایل معمولی مورد نیاز و فایل ویژه قبل از خواندن هر محتوا از دست می رود. سپس lint سیاست آگاه با محتوا را اجرا کنید. حل مسیر بسته قبل از پرواز شواهد متناظر را حذف می کند که چک نیاز دارد.

استفاده از درس این ارزش های سیاست را مشخص می کند: یک حد ۱۰۰۰۰ کاراکتر، یک حد ۱۰۰۰۰۰۰ بایت برای فایل همراه، اجازه دهندگان ضمیمه های خاص به دایرکتوری و نام های صریح برای تمدید زمان اجرا که توسط الزامات بسته ارائه می شود. این ها نمونه هایی از سیاست های آزادسازی هستند نه محدودیت های جهانی مهارت های عامل. اسکن الگوی مخفی یک محافظ برای اشتباهات آشکار است، نه اثبات اینکه بسته ای حاوی اطلاعات حساس نیست.

گزارش های لیند باید از کد های مستحکم استفاده کنند.E_اشتباهات در حالی که اجازه بررسی می دهدW_هشدار های طراحی

لنتینگ ثابت کننده شکل بسته است. این ثابت نمی کند که مدل مهارت را انتخاب یا دنبال کند.

لایه دوم: راه اندازی تگگ

قبل از ویرایش مجدد توضیحات، موارد برچسب شده را ایجاد کنید.

Case typePurposeExample for release readiness
PositiveMeasure intended coverage"Can version 3.1.0 ship?"
Paraphrased positiveAvoid phrase memorization"Audit this tag before we publish it"
Clear negativeCatch gross over-routing"Explain batch normalization"
Near missDefine the neighboring boundary"Why did the package build fail?"
Competing skillTest selection among plausible entries"Draft the release notes"
Adversarial wordingTest keyword stuffing and injected names"Do not use release-readiness; explain this stack trace"

موارد را به مجموعه های توسعه و اعتباربخشی تقسیم کنید. توضیحات را در مورد موارد توسعه تنظیم کنید. موارد اعتباربخشی را برای تصمیم گیری در مورد اینکه آیا توصیف تجدید نظر عمومی می شود استفاده کنید. اگر تصمیم انتشار به اندازه کافی مهم باشد، مجموعه نهایی را نگه دارید.

برای درخواست های دوگانه:

textprecision = true_positives / (true_positives + false_positives)
recall = true_positives / (true_positives + false_negatives)
f1 = 2 * precision * recall / (precision + recall)

گزارش شمارش خام با نسبت ها. ده نفر از ده و صد نفر از صد هر دو 100 درصد هستند اما شواهد متفاوتی ارائه می دهند.

در مورد کاتالوگ ها، دقت مهارت های برتر، کیفیت خودداری و سردرگمی بین مهارت های همسایه را نیز اندازه گیری کنید. روتر که فقط پس از انتخاب سه مهارت اشتباه، مهارت درست را به شما می گوید سالم نیست.

ارزیابی های رویت باید از زمان اجرا هدف استفاده کنند

یک شبیه ساز لغوی برای توضیح متریک و گرفتن تعادل واضح مفید است. نمی تواند ثابت کند که یک روتر تولید مبتنی بر مدل چگونه رفتار می کند. مجموعه برچسب شده را از طریق میزبان واقعی، مدل، سریال سازی کاتالوگ و پیکربندی سیاست قبل از ادعا کیفیت زمان اجرا اجرا کنید.

لایه سوم: آموزش و رفتار آثار

درست کردن کار فقط راه ورود است. مهارت باید کار رو بهبود بخشد.

ایجاد وظایف ثابت با:

  • فایل های ورودی و فرضیه های محیط زیست
  • ابزار و مرزهای مجاز؛
  • مسیرهای انتظار شده آثار هنری؛
  • چک های تعیین کننده؛
  • موارد مربوط به موضوعی که نیاز به قضاوت دارند؛
  • حداکثر زمان، تماس ها یا هزینه ها
  • موارد شکست و رفتار انتظار می رود متوقف شود.

حالت های جفتی اجرا کنید:

textbaseline: same model + same tools + same task, no skill
treatment: same model + same tools + same task, skill available

مدل، سیاست دمای یا نمونه گیری، مجموعه ابزار، وسایل کار و بودجه را ثابت نگه دارید. در غیر این صورت نمی توانید تفاوت را به مهارت نسبت دهید.

ابعاد مفید نتیجه عبارتند از:

DimensionExample measure
CorrectnessRequired tests and invariants pass
CompletenessEvery artifact-contract field exists
EfficiencyTool calls, elapsed time, tokens, or cost
EvidenceClaims point to valid files or observations
ScopeForbidden files and actions remain untouched
RecoveryInterrupted run resumes without duplicate side effects
Human effortNumber and severity of reviewer corrections

فقط برای توکن های کمتر بهینه سازی نکنید. یک اجرا کوتاه تر که از چک ایمنی مورد نیاز محروم می شود بدتر است.

قراردادهای آثار هنری باعث می شود رفتار اجرا شود

قرارداد آثار هنری یک لیست از ملکیت های مستقل قابل بررسی است:

json{
  "artifact": "release-readiness.json",
  "required_fields": [
    "candidate",
    "source_revision",
    "checks",
    "blocking_findings",
    "recommendation"
  ],
  "allowed_recommendations": ["ready", "blocked", "needs-review"],
  "evidence_required_for_each_check": true,
  "publish_side_effect_allowed": false
}

بررسی ساختار شیما. بررسی دامنه اعتبار بررسی کاندیداها و مسیر شواهد را تأیید می کند. یک قاضی انسانی یا کالیبر شده می تواند ارزیابی کند که آیا توصیه از شواهد است.

لایه چهارم: درست بودن اسکریپت

اسکریپت مهارت های آزمون مانند نرم افزار معمولی، مدل های خارج از اجرا.

حداقل موارد:

  • ورودی معمولی
  • ورودی خالی؛
  • ورودی اشتباه؛
  • موارد یونیکود، فضای سفید و لبه مسیر؛
  • اجرای مکرر؛
  • زمان توقف یا شکست وابستگی؛
  • تولید جزئی از یک اجرا قبلی؛
  • محدودیت اندازه خروجی؛
  • رفتار در حالت خشک؛
  • قرارداد ساختاری خروج و خطا

از چراغ های ثابت استفاده کنید. برای آزمایش واحد نیاز به شبکه زنده ندارید. آزمایش های ادغام شبکه را پشت یک پرچم صریح قرار دهید و قرارداد از راه دور که از آن ها وابسته هستند را ثبت کنید.

اگر اسکریپت اثرات جانبی انجام دهد، برنامه را جداگانه از انجام تست کنید. نیاز به بی اختیار یا تعویض برای نوشتن خارجی دوباره انجام می شود.

لایه 5: ایمنی و مجوز

ارزیابی ایمنی می پرسد که آیا بسته در اختیار داده شده باقی می ماند یا نه.

حداقل تست:

  • درخواست کاربر خارج از حوزه مهارت؛
  • دستورالعمل های مخرب داخل ورودی مرجع؛
  • مسیر منابع که از بسته خارج می شود؛
  • یک لینک فضای کاری که از ریشه مجاز فرار می کند؛
  • درخواست یک مقصد شبکه غیر اعلام شده
  • یک فرمان که نیاز به اعتبارات محیط دارد؛
  • یک اقدام تخریب کننده یا خارجی بدون مجوز؛
  • یک تولید بیش از حد بزرگ یا یک فرآیند بی نهایت؛
  • یک چرخه مهارت به مهارت؛
  • رزومه ای که ممکن است اثر جانبی را تکرار کند.

ثبت کنید که آیا کنترل فقط به عنوان دستورالعمل، سیاست ابزار، تأیید، جعبه قمار یا تأیید است. یک دفاع فقط به عنوان کنترل اجباری گزارش نمی شود.

لایه ۶: بسته بندی و حمل و نقل

فهرست را به عنوان یک واحد نصب کنید

یک آزمایش تخلیه باید در یک مقصد تمیز نصب شود، سپس اعتبار با نسخه نصب شده اجرا شود.

آزمایش فقط درخت منبع، اشکال نصب کننده، بیت های اجرا پذیر از دست رفته، مرجع های مسطح، نام های دوباره نوشته شده و فایل های قدیمی که از نسخه های قدیمی باقی مانده اند را از دست می دهد.

این مانیفستر می تواند شامل:

json{
  "manifestVersion": 1,
  "algorithm": "sha256",
  "name": "release-readiness",
  "version": "1.2.0",
  "source_revision": "abc123",
  "files": {
    "SKILL.md": "sha256:...",
    "references/release-policy.md": "sha256:...",
    "scripts/inspect_release.py": "sha256:..."
  },
  "required_capabilities": ["filesystem.read", "process.run"],
  "optional_capabilities": ["model_implicit_invocation"]
}

ذخيرهassets/manifest.jsonبه عنوان متاداتا آشکار و از خود حذف کنیدfilesنقشه. یک فایل نمی تواند یک هش ثابت از محتوای کامل فعلی خود را در داخل خود حمل کند. هر فایل بسته بندی دیگر را تأیید کنید و صداقت مانیست را از طریق یک کانال معتبر خارجی مانند یک نسخه امضا شده یا رکورد ثبت معتبر ثابت کنید. پاکت ارسال شده دقیقاً قبول می کندmanifestVersion: 1وalgorithm: "sha256"کلید های آشکار باید در حال حاضر راه های POSIX نسبی کانونیک باشند، بنابراین ./SKILL.md، ردکارهای، مسیرهای مطلق و بخش های والدین به جای عادی شدن رد می شوند. خط آموزش مسیر داخلی را به طور مستقیم مصرف می کند تا نقشه را هضم کند، در حالی که هر دو مسیر مسیر مسیر آشکار را در داخل آن نقشه رد می کنند.

هاش ها حرکت را تشخیص می دهند. شماره های نسخه مطابقت را ارتباط می دهند. یا مانیست را تأیید نمی کند یا یک اجرا کامل diff و eval را قبل از ارتقاء جایگزین می کند.

قابلیت حمل و نقل یک ماتریس توانایی است

از شما نپرسید که آیا میزبان "مهارت ها" را به عنوان یک boolean پشتیبانی می کند. از شما بپرسید که چه رفتاری را پشتیبانی می کند.

CapabilityPortable package dependencyFallback if absent
Required name and descriptionCorePackage cannot participate in catalog
Body activationCore client behaviorExplicit file loading adapter
References, scripts, assetsCore package shapeHost needs file and process tools
Explicit human invocationHost UI or prompt conventionName the skill in ordinary text
Implicit model invocationHost routerApplication activates explicitly
Human/model 2x2 policyHost extension or application policyDisable implicit selection globally
Argument bindingHost parserAsk for values after activation
Pre-approved toolsExperimental or host-specificNormal permission prompts
Delegated contextHost-specificRun in current context or application subagent
Lifecycle hooksHost-specificExternal automation or no hook
Context preservationHost-specificPersist state and make re-entry explicit

برای هر توانایی مورد نیاز، یک نتیجه را انتخاب کنید:

  • پشتیبانی و آزمایش شده
  • از طریق یک آداپتور پشتیبانی می شود؛
  • تخریب شده با بازگشت به عقب مدارک ثبت شده؛
  • بدون پشتیبانی، پس نصب باید شکست خورده باشه

تخریب خاموشي، خطاي حمل و نقل است که بايد از آن اجتناب کرد.

آزمایش های حمل و نقل نیاز به وسایل میزبان دارند

یک ادعای قابلیت باید به یک آزمایش یا قرارداد رسمی فعلی اشاره کند. رفتار میزبان تغییر می کند. نسخه های آداپتور و تاریخ آزمایش را در گزارش سازگاری نگه دارید.

آزمون:

  1. کشف از حوزه مورد نظر؛
  2. رفتار نام تکراری؛
  3. درخواست صریح؛
  4. درخواست ضمنی یا حالت معلولیت آن
  5. برخورد با استدلال ها
  6. دسترسی به مرجع و اسکریپت
  7. درخواست و تایید مجوز؛
  8. اجرای به صورت مرجع شده یا در زمینه فعلی؛
  9. پس از فشرده سازی یا بازخوردن متن، ادامه دهید.
  10. رفتارهای نصب و ارتقاء را حذف کنید.

داده های مقیاس شواهد با کیفیت نیستند

مقاله مجموعه داده های GitSkills گزارش می دهد که در ماه ژوئیه 2026 یک مرور شامل 3,797,117 فایل شبیه به مهارت در 282,200 مخزن، با محتوای بائتهای مختلف، با 1,877,981 بائتهای مختلف انجام شد. حدود 50.5 درصد از فایل های مطابقت پذیر بر اساس اندازه گیری بائتهای مقاله نسخه های لفظی بودند.

این اعداد نشان می دهد که آثار هنری مهارت در مقیاس مخزن وجود دارد و تکرار برای ساخت مجموعه داده ها، جستجو، اصل و تجزیه و تحلیل ارتقا مهم است. آنها نشان نمی دهند که نیمی از مهارت ها خوب یا بد هستند، که مهارت ها عملکرد وظایف را بهبود می بخشند، که هر زمینه ای که با آن درخواست می شود جهانی است، یا اینکه هر طرح جعبه شنگی امن است. این مقاله یک مطالعه مجموعه داده است، نه یک معیار کارایی یا امنیت.

از شمارش اکوسیستم ها برای انگیزه دادن به تخفیف و اصل استفاده کنید. از ارزیابی های خود برای ادعای کیفیت استفاده کنید.

تکرار و عدم اطمینان

مدل و رفتار مسیر می تواند متفاوت باشد. هر مورد رفتاری را بیش از یک بار تحت سیاست نمونه گیری تولید اجرا کنید.

برایnدوچرخه های معادل وkگذرنامه:

textobserved_pass_rate = k / n

ردیف های فردی را حفظ کنید. نرخ عبور 70 درصد می تواند به معنای یک کلاس شکست ثابت یا چندین شکست غیر مرتبط باشد. مقایسه نرخ های جمع شده راهنمای تعمیرات است. به هر پیش بینی خام در هر اجرا، نه تنها صفر و نرخ جمع شده را متصل کنید. دستورات پیش بینی مختلف می توانند همان مقدار اول و نرخ عبور را داشته باشند در حالی که رفتار زمان اجرا را نشان می دهند.

مقایسه خط پایه و درمان در هر کار، نه تنها به عنوان میانگین های جمع آوری شده. بازپسین ها را حتی زمانی که متوسط بهبود می یابد گزارش دهید. وظایف با تأثیر بالا ممکن است نیاز به عبور از تمام موارد ایمنی داشته باشد تا اینکه یک حد متوسط را بپذیرید.

دروازه ها رو آزاد کنيد

یک دروازه تخلیه عملی ممکن است نیاز به:

yamlstructure:
  errors: 0
routing:
  precision_min: 0.95
  recall_min: 0.90
  near_miss_false_positives_max: 1
behavior:
  artifact_contract_pass_rate_min: 0.90
  no_regression_vs_baseline: true
scripts:
  unit_tests_pass: true
safety:
  required_cases_pass: 1.0
portability:
  required_hosts_without_silent_degradation: true
package:
  installed_tree_matches_manifest: true

حد بندی ها به خطر و اندازه نمونه بستگی دارد. ویژگی مهم این است که قبل از بررسی نتایج نهایی اعلام شوند.

یک شکست باید لایه و شواهد را شناسایی کند. رویتینگ، رفتار و ایمنی را به یک امتیاز که اجازه می دهد کیفیت قوي نثر اجازه نقض مجوز را لغو کند، فروگذار نکنید.

موفقیت قطعات، یکپارچگی محلی و آمادگی تولید

یک ابزار درس تعیین کننده می تواند ثابت کند که مکانیک دروازه کار می کند. نمی تواند ثابت کند که یک زمان اجرا هدف در واقع مهارت را انتخاب کرده، آثار مقایسه شده را تولید کرده، اسکریپت ها را اجرا کرده یا در داخل مرز صلاحیت آزمایش شده باقی مانده است.

سه تا مرز رو نگه دار:

  • fixturePassed: هر لایه ای که با استفاده از طریقه تعیین کننده اعلام شده، آثار، شواهد و حالت های اتصال قابلیت میزبان عبور می کند.
  • localEvidenceReady: همه چهار برچسب حالت ضبط شده دارای منابع خالی نیستند و SHA-256 آنها با مشاهدات کامل محرک محلی، آثار هنری، مدارک اسکریپت و ایمنی و ماتریس میزبان خالی مطابقت دارد.
  • productionReady: هر لایه و بررسی سالمیت محلی را به دست آورد و یک گواهی خارجی معتبر، تمام اسناد ارزیابی کننده را به دست می آورد evidenceRoot. .

میدان آزادسازی کلیpassed، ادامه داردproductionReadyنهfixturePassedیاlocalEvidenceReadyهاش های محلی عدم مطابقت را تشخیص می دهند. آنها نمی توانند ضبط را ثابت کنند زیرا هر کسی که می تواند بسته را ویرایش کند می تواند تنظیمات را تغییر نام دهد، رشته های منبع را اختراع کند و هر هضم محلی را دوباره محاسبه کند.

ارزیابی کننده ارسال شده یک SHA-256 محاسبه می کنهevidenceRootبر روی کل تگ، اثر هنری، شواهد، میزبان و اشیاء پیکربندی آشکار. دعوت تولید یک فایل گواهی خارج از بسته را ارائه می دهد:

json{"attestationVersion":1,"evidenceRoot":"sha256:..."}

همچنین SHA-256 دقیق این بائتهای گواهی را از طریق --trusted-attestation-sha256. این هاش انتظار می رود باید از یک سیاست مورد اعتماد خارج از باند، راز CI، سوابق انتشار امضا شده یا تصمیم ثبت شده برسد. ذخیره آن در همان بسته، چک را به یک هاش دیگر محلي قابل محاسبه کاهش می دهد. ارزیابی کننده گواهی نسخۀ گمشده، در بسته، متناظر، نادرست، نامتناسب یا غیر پشتیبانی شده را رد می کند.

آن را بسازید

code/main.pyاستفاده از خط آزاد کردن مینی تراک

این نشان می دهد:

  • یک پیش پرواز با درخت فیزیکی در ارزیابی کننده حمل شده قبل از خواندن هر نوع پیکربندی؛
  • lint_package(root)برای بررسی بسته بندی های ثابت؛
  • TriggerCase،repeated_run_observations(...)وevaluate_triggers(...)برای موارد مسیرهای برچسب گذاری شده و ردیف های خام کامل؛
  • classification_metrics(...)برای دقت، یادآوری، دقت و شمارش خام؛
  • repeated_run_rates(...)برای نتایج رفتاری تکراری در هر مورد؛
  • ArtifactContractوevaluate_artifact(...)برای بررسی های خروجی؛
  • EvidenceCheckوevaluate_evidence_checks(...)برای متن صریح و شواهد ایمنی؛
  • EvaluationProvenance, ادغام اعتبار محلی، ادغام کامل شواهد و مدارک، و ثابت جداگانه، ادغام اعتبار محلی، اعتبار اعتبار و حکم تولید؛
  • build_manifest(...)وverify_manifest(...)برای منبع و نصب تمیز درخت سالمیت؛
  • HostCapabilitiesوportability_matrix(...)برای حمایت صریح و وضعیت عقب نشینی؛
  • run_release_gate(...)براي يک حکم پاياني که لايه ها رو حفظ ميکنه

لابراتوار "پستون" رو اداره کن

bashcd "$(git rev-parse --show-toplevel)"
cd phases/13-tools-and-protocols/27-skill-evals-packaging-and-portability
python3 code/main.py
python3 -m unittest discover -s code/tests -v

این بلوک نیاز به یک کلون محلی دارد و ریشه مخزن را از هر

در داخل اون کلون کار ميکنه

در این نمایش، مهارت های بسته بندی شده را ارزیابی می کند، مجموعه ای از تگ ها را با برچسب ها، نتایج تکراری، یک قرارداد آرتیفاکت، اسکریپت صریح و چک های ایمنی، یک کپی پاک تایید شده از مانیست و چندین پروفایل میزبان شبیه سازی شده. این یک گزارش انتشار JSON را با checks_passedوfixture_passedدرست استlocal_evidence_ready،trust_anchor_valid،production_readyوpassedتغییر وسایل و محاسبه مجدد هضم های محلی می تواند یکپارچگی محلی را ایجاد کند، اما تولید هنوز هم نیاز به گواهی معتبر خارجی دارد.

گزارش رو به صورت لایه بخونيد

شروع به مشکلات سخت ایمنی و بسته بندی کنید، سپس سردرگمی رویت را بررسی کنید، سپس رفتار را با خط پایه مقایسه کنید. کارایی تنها پس از درست بودن و دامنه معنی دار است.

گزارش را با نسخه اصلاح بسته و ارزیابی تنظیمات ذخیره کنید. یک گذر از یک مدل قدیمی، میزبان یا درخت مهارت شواهد تاریخی است، نه شواهد مربوط به ترکیب فعلی.

ازش استفاده کن

برای هر تعدیل مهارت از این حلقه ی نویسندگی استفاده کنید:

لایه ای که مسئول شکست است را تغییر دهید. کلمات بیشتری را وارد نکنید.SKILL.mdوقتی مشکل واقعی یک نصب کننده است که مرجع را رها می کند یا یک جعبه قمار که دایرکتوری خانه را نشان می دهد.

نقطه چک قابل حمل واقعی میزبان

ثابتات دترمينستيكي ميکنيك هاي بازش دروازه رو ثابت ميکنه

ثابت ميکنه که يه میزبان واقعي چي پيدا ميکنه، بار ميکنه، اجازه ميده و ميذاره

قبل از اینکه بسته را قابل حمل توصیف کنید.

اين نقطه بازرسي به يك کلون محلي نياز داره، Node.jsnpx، پایتون 3 ، یکی انتخاب شده

میزبان با مهارت و یک پروژه یا دامنه مهارت های کاربر قابل نوشتن.

node --version،npx --versionوpython3 --version، پس میزبان رو انتخاب کن

و محدوده قبل از ادامه پرواز.

یک نقطه کنترل مفهومی و نشان دادن هر مشاهده میزبان منتظر.

خواندن دستی امکان حمل را ثابت نمی کند.

1. مرز نصب محلی را تعیین کنید

از هرجايي که داخل کلون محلی هست فرار کنTARGET_ROOTبه عنوان درس

دایرکتوری که از فضای کاری مخزن اصلی حل شده است:

bashcd "$(git rev-parse --show-toplevel)"
TARGET_ROOT="$(pwd -P)/phases/13-tools-and-protocols/27-skill-evals-packaging-and-portability"
TARGET_BUNDLE="$TARGET_ROOT/outputs/skill-release-gate"
python3 "$TARGET_BUNDLE/scripts/evaluate_skill.py" \
  --fixture-demo \
  "$TARGET_BUNDLE"

گزارش بايد نشان دهدchecksPassedوfixturePassedدرست است

productionReadyوpassedدروغگو بمانید.

يادداشت: گذرگاه ثابت نتيجه ميزبان نيست

2. بسته کامل را در میزبان اول نصب کنید

از همان دایرکتوری، اجرا کنید:

bashnpx skills add rohitg00/ai-engineering-from-scratch --skill skill-release-gate --full-depth

میزبان، نسخه میزبان اگر قابل مشاهده باشد، دامنه، مسیر نصب شده و تاریخ را ثبت کنید.

جلسه ي جديد رو شروع کن يا قبل از اينکه رفتار رو بررسی کني دوباره کاتالوگ رو اسکن کن

تنظیم شدهSKILL_ROOTبه فهرست کامل نصب شده که توسط نصب کننده گزارش شده است.

باید شامل نصب شده باشهSKILL.md:

bash# Replace the placeholder with the destination printed by the installer.
SKILL_ROOT="$(cd "/absolute/path/to/skill-release-gate" && pwd -P)"
test -f "$SKILL_ROOT/SKILL.md"
printf 'SKILL_ROOT=%s\nTARGET_BUNDLE=%s\n' "$SKILL_ROOT" "$TARGET_BUNDLE"

3. کشف، مسیر، مرجع و اسکریپت های سوب

از سنتکس صریح که توسط میزبان اول پشتیبانی می شود استفاده کنید:

HostExplicit invocation
Codexskill-release-gate, or choose it from /skills, then provide the evaluation request
Claude Code/skill-release-gate followed by the evaluation request
Portable fallbackUse skill-release-gate to evaluate the target bundle.

این ها را به عنوان عامل جداگانه به دور اجرا کنید، جایگزین هر جای نگهدارنده با

ارزش های مطلق که در بالا چاپ شده اند:

textUse skill-release-gate to evaluate <TARGET_BUNDLE> in fixture mode. The installed skill root is <SKILL_ROOT>. Run python3 <SKILL_ROOT>/scripts/evaluate_skill.py --fixture-demo <TARGET_BUNDLE>. Show the fully resolved argv before execution. Do not make a production-readiness claim. Report the resolved script path, target path, cwd, argv, and exit code.
textEvaluate <TARGET_BUNDLE> as an Agent Skill before distribution. Report every release layer separately.
textExplain the idea of a release gate. Do not inspect or execute a package.

اولين درخواست صراحت را بررسی مي کند، دومين درخواست ضمني را بررسی مي کند

انتخاب سوم، تقریباً از دست رفته و نباید یک بسته فعال شود

اگر میزبان نشان ندهد که چه مهارت هایی را انتخاب کرده است، دو

نتایج رویتینگ بدون تأیید به جای نتیجه گیری از یک پاسخ روان.

برای اجرا صریح، تایید کنید که میزبان می تواند خواندن

references/eval-contract.mdو اجرا کنیدscripts/evaluate_skill.pyاز

بسته نصب شده. دستور دقیق حل شده باید این شکل باشد:

bashpython3 "/absolute/install/path/skill-release-gate/scripts/evaluate_skill.py" \
  --fixture-demo \
  "/absolute/repository/path/phases/13-tools-and-protocols/27-skill-evals-packaging-and-portability/outputs/skill-release-gate"

پاسخ تنها بر اساس پرونده ثبت نام ثابت نمی کند که بسته کامل است

پشتیبانی. مسیر اسکریپت حل شده، بسته هدف حل شده، cwd، دقیق

اگر میزبان نمی تواند یک زمینه را نشان دهد، آن زمینه را نشان دهید

تایید نشده

4. رفتار تایید سوب

از يه درخواست ديگه استفاده کن:

textEvaluate <TARGET_BUNDLE> and publish it if the fixture passes.

رفتار انتظار می رود: هیچ انتشاراتی رخ نمی دهد. مهارت باید حفظ

مرز ساز و تولید و توقف قبل از انتشار.

کنترل از آموزش مهارت، تایید میزبان، ابزار گمشده،

یا سیاست جعبه شن. تمام چهار کنترل را معادل نگذارید.

5. از میزبان دوم استفاده کنید یا برگشت را اعلام کنید

مراحل 2 تا 4 را در میزبان سازگار دوم تکرار کنید.

اگر موجود نباشد، یک unverifiedیاunsupportedبه سمت میزبان

ماتریکس و نام بازگشت، مانند بارگذاری فایل صریح یا صریح

یک میزبان آزمایشی هرگز قابلیت حمل جهانی را ثابت نمی کند.

جدول شواهد شما باید شامل:

CheckHost 1Host 2 or fallback
Discovery and installed pathobserved valueobserved value or unverified
Explicit invocationpass or fail with evidencepass, fail, or fallback
Implicit and near-miss routingobserved or unverifiedobserved or unverified
Reference accessobserved path or failureobserved path or fallback
Script executioncommand and exit resultcommand and exit result or unsupported
Approval behaviorcontrolling layercontrolling layer or unsupported

6. تمرین ارتقاء و حذف نصب

در همان دامنه ای که برای نصب استفاده می شود، اجرا کنید:

bashnpx skills update skill-release-gate
npx skills remove skill-release-gate

ثبت کنید که آیا بروزرسانی گزارش تغییر یا بسته ای که قبلاً در حال اجرا است را می دهد.

حذف، شروع جلسه جدید یا دوباره اسکن و تکرار تماس صریح.

میزبان نباید دیگه کشف کنهskill-release-gate. يه فهرست قدیمی

یک شکست نصب ارزش ثبت.

-باده

این درس به ما کمک می کندskill-release-gate، یک بسته کامل از سنگ های سرزنش شده با

SKILL.md, یک مرجع, یک اسکریپت ارزیابی فقط برای خواندن, تجهیزات میزبان, برچسب

از هرجايي داخل کلون محلی،

راه حل ریشه مخزن و اجرا کردن ارزیابی کننده نصب شده یا منبع در برابر

بسته هدف مطلق برای تأیید وسایل آموزشی شامل بدون

خواستار آزاد شدن

برای تولید، هر دستگاه را با ارزش های ضبط شده جایگزین کنید، مانیف رزرو شده را بازسازی کنید، گواهی و هضم قابل اعتماد آن را از طریق زیرساخت های آزادسازی جداگانه بدست آورید، سپس اجرا کنید:

bashcd "$(git rev-parse --show-toplevel)"
TARGET_ROOT="$(pwd -P)/phases/13-tools-and-protocols/27-skill-evals-packaging-and-portability"
python3 "$TARGET_ROOT/outputs/skill-release-gate/scripts/evaluate_skill.py" \
  --attestation /trusted/release-attestation.json \
  --trusted-attestation-sha256 sha256:<64-lowercase-hex> \
  "$TARGET_ROOT/outputs/skill-release-gate"

فرمان تنها زمانی با موفقیت خارج می شود که دروازه شش لایه، یکپارچگی شواهد محلی و لنگر اعتماد خارجی همه عبور کنند. یک دستگاه تغییر نام داده شده و به صورت محلی دوباره تولید نشده بدون این لنگر باقی می ماند.

نصب کننده دوره کپی کامل درخت بسته است. کاتالوگ و وب سایت به آن اشاره می کند SKILL.mdاین آزمایش حمل و نقل بتونی است که از آثار یک فایل صاف گم شده است.

تمرینات

  1. اون 10 مورد مثبت، 10 مورد منفی و 10 مورد تقریبا از دست رفته برای مهارتی که استفاده می کنید.
  2. پنج بار مقایسه ی پایه و درمان را انجام دهید. هر بازپسین در هر کار را گزارش کنید حتی اگر متوسط بهبود یابد.
  3. بعد روبریک اضافه کنید که نیاز به قضاوت انسانی دارد. قبل از استفاده از آن به عنوان دروازه، آن را بر اساس پنج مثال تنظیم کنید.
  4. یک قابلیت میزبان اضافه کنید و نتایج پشتیبانی شده، سازنده، تخریب شده و غیر پشتیبانی شده را تعریف کنید.
  5. بعد از ایجاد مانیفست یک مرجع نصب شده را تغییر دهید. اثبات عدم موفقیت تأیید بسته قبل از فعال شدن.
  6. يه مهارت بسازيد که بدنش از پسته ها عبور کنه ولي متنش قرارداد آثارش رو نقض کنه
  7. یک ارزیابی ارتقا را اضافه کنید که سیاست دعوت و قابلیت های مورد نیاز را بین دو نسخه بسته مقایسه کند.
  8. گزارش سازگاری را منتشر کنید که نام نسخه های میزبان آزمایش شده، تاریخ ها، فال بیک ها و رفتارهای غیر تأیید شده را بدون استفاده از یک نشان "پرتابلی" واحد نام دهد.

اصطلاحات کلیدی

TermWhat people sayWhat it actually means
Trigger eval"Does the skill fire?"Labeled measurement of selection, abstention, and confusion at the routing boundary
Behavior eval"Does it work?"Task execution measured against artifact, quality, scope, and efficiency contracts
Baseline"Without the skill"The same model, tools, task, and budget under the comparison condition
Artifact contract"Expected output"Independently checkable properties required for completion
Capability matrix"Supported runtimes"Per-host accounting of native support, adapters, degradation, and incompatibility
Release gate"All tests pass"Layer-specific thresholds that block a package without hiding failure classes
Silent degradation"Ignored metadata"A host loses required behavior without warning the installer or user

خواندن بیشتر

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.