AI Engineering Fundamentals: ساخت سیستمهای هوشمند با TypeScript
خلاصهٔ کاملتر
Scott Moss، مهندس ارشد نرمافزار نتفلیکس، توی این دوره ۹ ساعته یه مفهوم نسبتاً جدید به اسم «AI Engineering» رو معرفی میکنه. به قول اون، AI Engineering یه دیسیپلین تازهست که داره توی شرکتهای مختلف شکل میگیره — ترکیبی از مهندسی نرمافزار سنتی با کار کردن روی مدلهای پایه (Foundation Models). فرق اساسیش با برنامهنویسی معمولی اینه که سیستمهای هوش مصنوعی اغلب non-deterministic هستن و باید با رویکردهای اکتشافی باهاشون کنار اومد.
پروژه اصلی دوره یه اپ نقاشی مبتنی بر Excalidrawه که بهش یه ایجنت هوش مصنوعی اضافه میشه. کاربر میتونه با چت کردن، دیاگرامها رو تولید یا ویرایش کنه. معماری این ایجنت روی Cloudflare Workers و Durable Objects بنا شده — که یه محیط stateful و long-lived برای اجرای ایجنت سمت سرور فراهم میکنن. ارتباط بین کلاینت و ایجنت از طریق WebSocket انجام میشه و جوابها به صورت streaming به مرورگر میرسن.
در ابتدا Scott با Zod شروع میکنه و schema های TypeScript برای المانهای Excalidraw مثل مستطیل، بیضی، فلش و متن تعریف میکنه. بعد دو تا ابزار (Tool) برای ایجنت میسازه: یکی برای تولید دیاگرام و یکی برای ویرایشش. هر ابزار یه description داره که به LLM میگه کِی ازش استفاده کنه، یه inputSchema با Zod برای validation، و یه تابع execute که موقع فراخوانی اجرا میشه:
const generateDiagramTool = tool({
description: "Generate a new Excalidraw diagram from a user prompt",
parameters: z.object({
elements: z.array(excalidrawElementSchema),
}),
execute: async ({ elements }) => ({ elements }),
});برای سمت فرانتاند، Cloudflare Agents SDK دو تا React Hook ارائه میده: useAgent و useAgentChat. این دو hook تمام لایه WebSocket و پروتکل چت رو مدیریت میکنن. موقعی که یه tool-part به حالت output-available میرسه، خروجیش مستقیماً از طریق Excalidraw API روی canvas اعمال میشه. UI پیامها هم به صورت streaming آپدیت میشه.
یکی از مهمترین بخشهای دوره، مفهوم Evals (ارزیابیها) هست. Scott این مفهوم رو با unit test های معمولی مقایسه میکنه — با این فرق که Evals برای سیستمهای non-deterministic طراحی شدن. با کمک Evals میشه یه baseline ایجاد کرد و regression های ناشی از تغییر prompt یا مدل رو زود شناسایی کرد. مفاهیمی مثل golden dataset (مجموعهای از test case های دستیچینشده)، manual vs automated scorers، و معیارهایی مثل pass@k توی این بخش توضیح داده میشن.
Scott یه eval harness از صفر میسازه که system prompt رو بین ایجنت سمت Cloudflare Worker و eval harness سمت Node به اشتراک میذاره. این ساختار کمک میکنه که نتایج ارزیابیها قابل اعتماد باشن و بشه روی بهبود واقعی ایجنت تمرکز کرد.
مسیر بهبود ایجنت شامل Context Engineering (بهینهسازی اطلاعاتی که به مدل میرسه)، استفاده پیشرفتهتر از ابزارها، RAG (بازیابی اطلاعات و تولید پاسخ) و feedback loop های تولیدی میشه. این دوره مناسب کساییه که با TypeScript و React کار کردن و میخوان وارد دنیای ساخت واقعی اپهای هوش مصنوعی بشن.
نکات کلیدی:
- AI Engineering یه دیسیپلین جدیده که روی ساخت اپهای مبتنی بر مدلهای پایه تمرکز داره
- ایجنت روی Cloudflare Durable Objects اجرا میشه و از WebSocket برای ارتباط با کلاینت استفاده میکنه
- ابزارهای ایجنت با Zod تعریف میشن و شامل description، schema و execute function هستن
- هوکهای useAgent و useAgentChat از Cloudflare Agents SDK کل لایه ارتباطی رو مدیریت میکنن
- Evals معادل unit test برای سیستمهای هوش مصنوعیه و برای جلوگیری از regression ضروریه
- Golden dataset یه مجموعه دستیچین از test case هاست که baseline ارزیابی رو مشخص میکنه
- پیشنیاز دوره آشنایی با TypeScript و React است




