صفحه ۱۷ از ۴۹، پروژه‌های عملی

پروژه 01. فقط-پرامپت در برابر قانون-محور: چقدر تفاوت ایجاد می‌کند

متنی ۵ دقیقه به‌روز شده در ۱۰ آبان ۱۴۰۵

در این صفحه
  1. کاری که انجام می‌دهید
  2. استفاده از پروژه‌های موجود در مخزن
  3. ابزارها
  4. سازوکار هارنس
  5. پروتکل اجرا
  6. نحوه اندازه‌گیری نتایج
  7. آنچه باید تحویل دهید
  8. چارچوب تجربی
  9. درس‌های مرتبط

درس‌های مرتبط: درس 01. مدل‌های قوی به‌معنای اجرای قابل‌اعتماد نیستند · درس 02. هارنس در واقع چیست فایل‌های الگو: templates/

کاری که انجام می‌دهید#

یک پوسته برنامه کاربردی پایگاه دانش مینیمال با Electron بسازید — پنجره‌ای با فهرست اسناد در سمت چپ، پانل پرسش و پاسخ در سمت راست و یک دایرکتوری محلی برای داده‌ها. خود این وظیفه پیچیده نیست. آنچه پیچیده است نحوه هدایت ایجنت برای تکمیل آن است.

شما این کار را دو بار اجرا می‌کنید. بار اول: فقط یک پرامپت، بدون هیچ آماده‌سازی. بار دوم: هارنس مینیمال (مانند AGENTS.md، init.sh، feature_list.json) از قبل در مخزن قرار داده شده است. سپس مقایسه کنید.

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

استفاده از پروژه‌های موجود در مخزن#

مسیر مخزن: projects/project-01/

دایرکتوری شامل چه مواردی است نحوه استفاده از آن
starter/ اجرای هارنس ضعیف. این بخش تنها task-prompt.md را به عنوان شرح وظیفه دارد و فاقد AGENTS.md یا feature_list.json است. توجه: starter/ همچنین شامل یک پیاده‌سازی مرجع از برنامه است — سورس برنامه (src/، package.json، پیکربندی‌ها، scripts/) را قبل از اجرا حذف کنید تا ایجنت آن را از صفر بسازد. اسناد نمونه در data/ به انتخاب شماست: آن‌ها را در هر دو اجرا نگه دارید یا از هر دو حذف کنید تا تقارن دو اجرا حفظ شود. پرامپت را به ایجنت کدنویس خود بدهید و آنچه را که بدون ساختار اضافی تکمیل می‌کند بسنجید.
solution/ همان برش محصول همراه با مصنوعات صریح هارنس: AGENTS.md، CLAUDE.md، init.sh، feature_list.json، claude-progress.md، و docs/ (ARCHITECTURE.md، PRODUCT.md). مقایسه کنید که چگونه یک وظیفه یکسان از طریق قوانین و شواهد راستی‌آزمایی ملموس و عینی می‌شود. پیش از اجرای قوی، شواهد ثبت‌شده را بازنشانی کنید: وضعیت هر ویژگی در feature_list.json را روی not-started قرار دهید و مقادیر evidence/testedAt آن را پاک کنید (فیلدها را نگه دارید)، و گزارش نشست در claude-progress.md را پاک کنید (عنوان را نگه دارید)، در غیر این صورت ایجنت می‌بیند هر چهار ویژگی از قبل پاس شده‌اند و چیزی برای ساختن نخواهد داشت.

چهار ویژگی ملموس عبارتند از باز شدن پنجره، فهرست اسناد، پانل سوالات، و ایجاد دایرکتوری داده محلی. فایل solution/feature_list.json را برای شواهد مورد انتظار هر ویژگی بررسی کنید.

ابزارها#

  • Claude Code یا Codex (یکی را انتخاب کنید و برای هر دو اجرا از همان استفاده نمایید)
  • دو دایرکتوری کاری ایزوله (یکی برای هر اجرا؛ هرگز هر دو به طور همزمان هنگام اجرای یک تست فعال نباشند)
  • Node.js + Electron (پشته پروژه)
  • یک تایمر (ثبت مدت زمان هر اجرا)

سازوکار هارنس#

هارنس مینیمال: AGENTS.md + init.sh + feature_list.json + CLAUDE.md + claude-progress.md + docs/

پروتکل اجرا#

آماده‌سازی#

  1. دو دایرکتوری کاری ایزوله آماده کنید، به عنوان مثال p01-baseline/ و p01-improved/. هر بار یکی را اجرا کنید: فایل‌ها را تنظیم کنید، اجرا کنید، نتایج را آرشیو کنید، دایرکتوری را حذف کنید، سپس دیگری را آغاز نمایید.
  2. از شاخه‌های گیت برای تفکیک دو اجرا استفاده نکنید. یک ایجنت کدنویس دسترسی کامل به فایل‌سیستم دارد و دایرکتوری‌های همجوار و ارجاعات شاخه‌ها را کاوش خواهد کرد؛ اگر اجرای ضعیف بتواند فایل‌های هارنس قوی (feature_list.json، claude-progress.md، docs/) را ببیند، آزمایش آلوده می‌شود.
  3. پرامپت وظیفه یکسانی را برای هر دو اجرا آماده کنید، متنی برگرفته از starter/task-prompt.md: «Build an Electron app that can show documents and answer questions.»

اجرای اول (هارنس ضعیف)#

در p01-baseline/، فقط پرامپت وظیفه را قرار دهید (بدون هیچ فایل هارنس).

  1. ایجنت را فقط با پرامپت بالا آغاز کنید.
  2. هیچ AGENTS.md، هیچ اسکریپت راه‌اندازی (init script)، و هیچ معیار پذیرشی ارائه ندهید.
  3. وقتی ایجنت متوقف شد، دستور npm start (یا هر دستور راه‌اندازی که تولید کرده است) را اجرا کنید تا بررسی نمایید آیا برنامه اجرا می‌شود یا خیر.
  4. ثبت کنید: خروجی ترمینال، تفاوت (diff) کلیدی کد، خلاصه نهایی ایجنت.
  5. کد را به صورت دستی دستکاری نکنید. اگر برنامه اجرا نشد، همان وضعیت را ثبت نمایید.
  6. نتایج را آرشیو کنید، p01-baseline/ را حذف کنید، سپس آزمون دوم را اجرا نمایید.

اجرای دوم (هارنس قوی)#

در p01-improved/، پیش از آغاز به کار ایجنت، موارد زیر را آماده کنید:

  • AGENTS.md: ساختار پروژه، دستورات راه‌اندازی، قوانین مرز لایه‌های Electron
  • CLAUDE.md: مرجع سریع برای ایجنت (دستورات بیلد/اجرا، فایل‌های کلیدی)
  • init.sh: بررسی بیلد تمیز پروژه (npm install && npm run check && npm run build)
  • feature_list.json: چهار ویژگی و وضعیت تکمیل آن‌ها
  • claude-progress.md: گزارش پیشرفت و شواهد
  • docs/: مشخصات معماری و محصول که AGENTS.md به ایجنت می‌گوید ابتدا آن‌ها را بخواند (ARCHITECTURE.md، PRODUCT.md)

سپس شواهد ثبت‌شده را بازنشانی کنید: وضعیت هر ویژگی در feature_list.json را روی not-started قرار دهید و مقادیر evidence/testedAt آن را پاک کنید (فیلدها را نگه دارید)، و گزارش نشست در claude-progress.md را پاک کنید (عنوان را نگه دارید). ایجنت را با همان پرامپت اجرای اول آغاز کنید. وقتی متوقف شد، ./init.sh را اجرا کنید و نتیجه را ثبت نمایید.

نحوه اندازه‌گیری نتایج#

سنجه شرح
تکمیل کامل / جزئی / ناموفق
اولین راه‌اندازی موفق زمان از شروع تا اولین npm start موفق (یا دستور راه‌اندازی تولیدشده)
تلاش‌های مجدد تعداد مداخله‌های انسانی لازم برای راه‌اندازی موفق
موارد جاافتاده کدام ویژگی‌ها هنگام اعلام اتمام توسط ایجنت هنوز پیاده‌سازی نشده بودند
توقف زودهنگام آیا ایجنت در حالی که برنامه هنوز اجرا نمی‌شد اعلام پایان کرد

آنچه باید تحویل دهید#

  • گزارش اجرای هارنس ضعیف: پرامپت، لاگ‌ها/رونوشت، diff نهایی، شواهد راه‌اندازی
  • گزارش اجرای هارنس قوی: همان موارد، به همراه فایل‌های هارنسی که آماده کرده‌اید
  • یک یادداشت مقایسه‌ای (1 تا 2 صفحه): تفاوت‌ها، داده‌ها، نتیجه‌گیری شما

چارچوب تجربی#

این یک آزمایش مقایسه‌ای است، نه الزامی برای اینکه هر دو اجرای ایجنت یک برنامه Electron آماده محیط عملیاتی تولید کنند. وظیفه یکسان را در برابر starter/ ضعیف و solution/ با هارنس صریح اجرا کنید، سپس ثبت کنید که هر اجرا کدام ویژگی‌ها را تکمیل می‌کند و چه شواهدی از نتیجه پشتیبانی می‌کند. خروجی جزئی یا ناقص شواهد تجربی معتبر است؛ فهرست ویژگی‌ها آنچه را که باید سنجیده شود تعریف می‌کند، نه الزامی مبنی بر اینکه اجرای فقط-پرامپت باید تمام موارد را پاس کند.

درس‌های مرتبط#