TGViewer
Go Casts 🚀 Go Casts 🚀 @gocasts · 9.27K subscribers
Post #816 5.56K
Go Casts 🚀 کمتر از دو ماه دیگه تیمسازی ۳ ساله میشه. چیزی که اختصاصی GoCasts هست. بیش از ۱۱۰ جلسه هفتگی راهنمایی و code-review به مدت زمان جمعی بیش از ۱۶۰ ساعت. با همه نواقص GoCasts ادعا می‌کنم که تیمسازی شیوه خاص ما بوده که بچه‌ها بیشتر و بهتر مفاهیم مختلف رو درک کنن.…
یه نکته‌ی جذاب در مقاله‌ی جدید مهندسی Uber اینه که برای نصف‌کردن latency جست‌وجوی Uber Eats، فقط سراغ بهینه‌سازی مدل یا زیرساخت نرفتن؛ کل مسیر «تایپ‌کردن تا دیدن اولین نتایج» رو اندازه گرفتن.

مثلاً hydration رو به دو بخش شکستن: داده‌هایی که ranking واقعاً لازم داره وارد critical path می‌شن و اطلاعات نمایشی مثل قیمت و تخفیف، هم‌زمان و جداگانه دریافت می‌شن. چند retrieval کم‌بازده رو هم حذف کردن، زنجیره‌ها رو زودتر deduplicate کردن و با گروه‌بندی آیتم‌های مشابه، تعداد lookupها رو بیشتر از ۱۰۰ برابر کاهش دادن. حتی در سرویس‌های Go، جای pointer و value type رو بازنگری کردن؛ چون در بعضی سرویس‌ها GC بیش از ۴۰٪ CPU رو مصرف می‌کرد. نمونه‌ی خوبی از این‌که performance معمولاً با یک ترفند عجیب بهتر نمی‌شه؛ بلکه باید کار اضافه، dependency اشتباه و allocationهای ریز روی hot path رو پیدا کرد!

اما برای من، جذاب‌ترین بخش ماجرا agent loop اوبر بود. به یک coding agent هدف مشخص کاهش latency و ابزارهایی برای خواندن traceهای واقعی production، پیدا‌کردن spanهای کند، نوشتن fix، بازکردن PR و اجرای benchmark داده بودن. بعد agent در یک حلقه‌ی «اندازه‌گیری ← تشخیص ← اصلاح ← اعتبارسنجی» جلو می‌رفت تا یا به هدف برسه یا بازده تغییر بعدی از یک حد کمتر بشه. نکته‌ی مهم اینه که اینجا agent صرفاً کد تولید نمی‌کنه؛ به observability و verification وصل شده و هر تغییر باید اثر قابل‌اندازه‌گیری داشته باشه. برای اینکه افزایش سرعت کیفیت نتایج جست‌وجو رو خراب نکنه هم یک سیستم ارزیابی مبتنی بر LLM ساخته بودن تا feedback loop سریع‌تر بشه.

به نظرم این دقیقاً یکی از کاربردهای جدی AI agentها در مهندسی نرم‌افزاره: سپردن بهینه‌سازی‌های کوچیک، کم‌هیجان ولی پرتعداد یا allocation نامناسب به سیستمی که پروداکشن رو مشاهده می‌کنه، تغییر می‌ده و نتیجه رو دوباره اندازه می‌گیره.


https://www.uber.com/gb/en/blog/uber-eats-search-pipeline


@gocasts
Uber Halving the Time: How Uber Eats Rebuilt Its Search Pipeline Every millisecond of latency is a lost opportunity—especially when people are hungry. 🍔 We cut Uber Eats search latency in half by re-architecting our full-stack pipeline. Read our latest deep dive to see how we did it.
  • ❤ 18
  • 👍 9
More from @gocasts
  1. Sep 24, 2026این بهترین تجربه‌ای بود که تا حالا با یه agent داشتم. دیشب با تاخیر چند ساعته ایمیل هاستین…
  2. Sep 23, 2026بچه ها اگه تجربه software factory جدی داشتید توی شرکت و سازمان و محصول تون، بهم فیدبک بدید…
  3. Sep 23, 2026در مورد پست دیشب که در لینکدین منتشر شد لازمه این نکته رو اضافه کنم که https://lnkd.in/p/e…
  4. Sep 22, 2026مارتین فاولر یه مطلب نوشته به اسم «I don't like LLMs». فاولر قبول داره که این ابزارها کار…
  5. Sep 21, 2026سلام به همه دوستان یکی از دوستان به همراه تیم‌ش سرویس CDN رو از صفر نوشتن — نه روی استک‌ها…
  6. Sep 20, 2026همکاران سیستم برگزار می‌کند: بوت‌کمپ برنامه‌نویسی Go ℹ️ آغاز دوره از ۲ مهرماه | ۴ جلسه ۴.۵…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →