برو به محتوای اصلی
نمونه‌کارها

پروژه‌ها

پروژه‌های متن‌بازم رو اینجا با جزئیات می‌بینی. پایین‌تر هم از دو ایجنت کاری گفتم که سورسشون خصوصی‌ه.

۲۰۲۵

ScrapeGPT

اسکریپینگ وب با کمک AI، self-hosted

لینک صفحه رو می‌دی؛ LLM پیشنهاد می‌ده چه داده‌هایی رو از کجا برداریم. برنامه پیشنهادها رو روی HTML واقعی امتحان می‌کنه، خطاها رو اصلاح می‌کنه و در آخر دادهٔ تمیز رو به شکل CSV، JSON یا XLSX تحویل می‌ده.

FastAPIPostgreSQLLiteLLMReactPlaywright
۲۰۲۵

Aigram

تلگرام، ولی با AI — یه مسنجر self-hosted

اکانت تلگرام خودت رو به یه مسنجر قابل نصب با AI تبدیل می‌کنه (اسم قبلیش SakaiBot بود). پیام‌ها و عکس و ویس رو توی وب‌اپ می‌بینی و می‌فرستی؛ توی هر چت هم می‌تونی از AI برای تحلیل، ترجمه، تصویر یا صدا کمک بگیری. جواب اول به خودت نشون داده می‌شه و ارسالش دست توئه.

PythonTelethonFastAPIPWAGemini
۲۰۲۶

PromptAmp

تقویت‌کننده prompt — با کلید خودت، توی هر سایتی

یه اکستنشن مرورگر که درخواست خامت رو همون‌جا، توی فیلد متن هر سایتی، به یه prompt دقیق تبدیل می‌کنه. با کلید API خودت کار می‌کنه؛ نتیجه رو کنار متن اصلی می‌بینی و تا تأیید نکنی چیزی عوض نمی‌شه. کد paste‌شده هم دست‌نخورده می‌مونه. روی Firefox Add-ons منتشر شده.

TypeScriptWXTManifest V3VitestPlaywright
۲۰۲۵

RubricEval

پلتفرم ارزیابی کد بر پایه rubric

معیارهای وزن‌دار و شرط‌های لازم رو توی یه rubric نسخه‌دار تعریف می‌کنی و ریپوی GitHub یا فایل ZIP می‌دی. LLM کد رو معیاربه‌معیار بررسی می‌کنه؛ تصمیم نهایی قبول، بازبینی یا رد رو قانون‌های مشخص برنامه می‌گیرن تا نتیجه قابل تکرار باشه.

Next.jsFastAPILiteLLMPostgreSQL
پروژه‌های کاری

ایجنت‌هایی که سر کار ساختم

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

ایجنت کاری

ایجنت رصد شبکه‌های اجتماعی

یه ایجنت تحقیق با LangGraph طراحی کردم و ساختم که حجم زیاد پست‌های هر روز رو به یه گزارش کوتاه با لینک منبع تبدیل می‌کنه. به سؤال مشخص هم جواب می‌ده؛ مثلاً این‌که چند تا حساب خاص یا فالوئرهاشون دربارهٔ یه موضوع چی گفتن.

مسئله

تیم چند موضوع پرتحرک رو توی X (توییتر) دنبال می‌کرد: دسته‌های موضوعی، آدم‌های مشخص، کامیونیتی‌ها و ترندها. برای عقب نموندن باید هر روز همون جست‌وجوها رو دستی تکرار می‌کرد، از بین کلی پست بی‌ربط رد می‌شد و باز هم ممکن بود پست مهم از قلم بیفته. سؤال‌های مشخص، مثل این‌که چند تا حساب یا فالوئرهاشون دربارهٔ یه موضوع چی می‌گن، از این هم وقت‌گیرتر بود.

نقش من

کل سیستم رو از طراحی تا اجرا خودم ساختم: workflow با LangGraph، جمع‌آوری از دسته‌های موضوعی، آدم‌ها، فالوئرها، کامیونیتی‌ها و ترندها، منطق فیلتر و سنجش ارتباط، promptهای LLM و اجرای زمان‌بندی‌شده توی Docker که گزارش روزانه رو خودکار می‌سازه.

مسیر کار

  1. ۰۱تعیین محدوده
  2. ۰۲جمع‌آوری
  3. ۰۳فیلتر و حذف تکراری
  4. ۰۴سنجش با LLM
  5. ۰۵خلاصه
  6. ۰۶تحویل با لینک منبع

تصمیم‌های فنی مهم

واقعیت با کد، قضاوت با مدل

تازه بودن، زبان و تکراری بودن هر پست رو قاعده‌های مشخص چک می‌کنن. از LLM فقط چیزی رو می‌پرسم که واقعاً کارشه: این پست ارزش وقت گذاشتن داره یا نه، و موضوعش چیه.

هیچ یافته‌ای دو بار نمیاد

لینک‌هایی که قبلاً تحویل داده شدن کنار می‌رن و هر رشته‌توییت (thread) یه واحد حساب می‌شه؛ پستی که هم از جست‌وجوی موضوعی پیدا بشه هم از جست‌وجوی حساب‌ها، فقط یه بار توی گزارش میاد.

گزارشی که بشه چکش کرد

هر نتیجه یه خلاصهٔ حداکثر ۲۰۰ کاراکتری داره، دو سه جمله دربارهٔ این‌که چرا مهمه، و متن اصلی با لینکش؛ خواننده قبل از هر تصمیمی می‌تونه منبع رو ببینه.

تست‌پذیر و مقاوم در برابر خطای API

منبع‌های داده پشت یه interface کوچیک به سبک ports-and-adapters هستن و یه نسخهٔ mock هم دارن؛ برای همین کل مسیر بدون شبکه تست می‌شه. لایه‌های retry و cache هم نمی‌ذارن یه خطای موقتی API اجرای روزانه رو خراب کنه.

نتیجه

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

ایجنت‌های تحلیل و گزارش‌گیری

یه سیستم چندایجنتی BI طراحی کردم و ساختم: ایجنت‌های تخصصی منابع انسانی، مالی و کمپین‌ها داده‌های هر واحد رو از یه MCP server می‌گیرن، روی عددهایی کار می‌کنن که کد قبلاً چکشون کرده و گزارش فارسی با قدم‌های بعدی مشخص می‌نویسن؛ اصلاح‌های مدیر هم برای دفعهٔ بعد یادشون می‌مونه.

مسئله

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

نقش من

معماری رو طراحی کردم و کل سیستم رو خودم ساختم: یه MCP server که داده‌ها، گزارش‌های قبلی و بازخوردها رو به‌شکل tool در اختیار ایجنت‌ها می‌ذاره، هماهنگی ایجنت‌ها با LangGraph، لایهٔ محاسبهٔ شاخص‌ها، promptهای گزارش فارسی و اجرای زمان‌بندی‌شده توی Docker برای تحلیل‌های روزانه، هفتگی و ماهانه.

مسیر کار

  1. ۰۱دریافت با MCP
  2. ۰۲بررسی و محاسبه
  3. ۰۳ایجنت‌های تخصصی
  4. ۰۴گزارش فارسی
  5. ۰۵بازبینی مدیر
  6. ۰۶حافظهٔ بازخورد

تصمیم‌های فنی مهم

اول عدد، بعد تحلیل

بیش از ۲۰ نسبت مالی و تغییر نسبت به دورهٔ قبل، قبل از این‌که مدل چیزی ببینه با کد حساب می‌شن؛ LLM عددهای چک‌شده رو تفسیر می‌کنه، نه این‌که خودش حساب‌وکتاب کنه.

تراکنش‌های مهم، نه همهٔ تراکنش‌ها

کارمزد بانکی و هزینه‌های جزئی با یه فیلتر اهمیت کنار می‌رن، تراکنش‌های غیرعادی تک‌به‌تک علامت می‌خورن و هزینه‌ها به ثابت و متغیر تفکیک می‌شن؛ گزارش مالی دربارهٔ چیزی حرف می‌زنه که واقعاً روی کسب‌وکار اثر داره.

هر تیم با معیار خودش

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

حافظهٔ شفاف، نه جادو

اصلاح‌های مدیر به‌شکل یادداشت ذخیره می‌شن و اجرای بعدی دوباره می‌خونتشون؛ مدل دوباره آموزش داده نمی‌شه و حرف آخر رو خود مدیر می‌زنه.

نتیجه

  • مدیرها گزارش روزانه، هفتگی و ماهانهٔ هر واحد رو داشتن: چی عوض شده، کجا باید دقت کرد و قدم بعدی چیه؛ بدون این‌که کسی دستی جمعش کنه.
  • پیشنهادها روی عددهایی بنا شدن که کد قبلاً چکشون کرده بود، نه حساب‌وکتاب خود مدل.
  • گزارش‌ها راست‌چین و فارسی توی شیت‌های مشترک تیم منتشر می‌شدن و همه همون‌جا می‌خوندنشون.
  • هر گزارش از بازخورد گزارش قبلی استفاده می‌کرد و از صفر شروع نمی‌شد.