Running a Software Factory Efficiently at Uber Scale
Bài tóm tắt Uber 2026 4. Điều chỉnh Độ khó: Trung bình
Uber · 2026 · 4. Điều chỉnh · Độ khó: Trung bình — bài gốc
Bối cảnh
- AI có mặt ở mọi pha phát triển phần mềm ở Uber (2026): hơn 70% pull request được ghi cho agent chạy local hoặc cloud; engineer đã viết hơn 3.600 agent skill, hơn 30.000 lượt chạy skill mỗi ngày. Ngày càng nhiều phiên do managed agent tự khởi tạo chứ không do người: review code, tự sửa CI hỏng, hoàn tất PR đầu–cuối có kiểm tra bằng hình ảnh, phân loại alert on-call, gỡ bug, bảo trì code, có người duyệt hoặc nhận leo thang.
- Từ tháng 2 tới tháng 8/2026, số người dùng hoạt động hằng tuần của mọi sản phẩm agent (cả engineer lẫn không phải engineer) tăng 7 lần, số request agent mỗi tuần tăng 9,4 lần; tổng chi AI tương đối ổn định từ tháng 4 nhờ tối ưu. Theo Uber, số liệu giảm chi phí là riêng cho môi trường của họ.
Thay đổi chính
- Phương trình chi phí của một phiên agent tách thành các thừa số đo và tối ưu riêng: giá mỗi token × token mỗi request × request mỗi lượt...; theo dõi hằng tuần ở năm tầng: danh mục (chi theo công cụ), kinh tế đơn vị mỗi công cụ (chi mỗi người, mỗi 1.000 request, token mỗi request, tỉ lệ trúng prompt cache), kinh tế theo model, phân rã thay đổi chi phí lần lượt theo số người dùng, request mỗi người, token vào, token ra (không để phần dư không giải thích), và kết quả của managed agent tính theo đơn vị giá trị (chi mỗi PR được merge, mỗi review, mỗi alert) kèm tín hiệu chất lượng (tỉ lệ revert, F1, MTTR).
- Giá mỗi token, chọn model theo benchmark: dựng benchmark từ việc thật của từng agent, chạy trên một harness phục vụ được mọi model (frontier hay open-weight), chuyển sang lựa chọn Pareto tối ưu (chi phí mỗi việc xong, chất lượng, độ ổn định) và tiếp tục chuyển vì biên thay đổi vài tuần một lần. Ví dụ uReview (AI review cho mọi PR): benchmark từ PR thật có bug đã biết chia dễ/vừa/khó, chấm precision, recall, F1, chi phí mỗi review, latency, timeout, nhiễu; đổi model vừa tăng F1 vừa giảm mạnh chi phí mỗi PR. Ở giao diện tương tác, núm lớn nhất là model mặc định của subagent: subagent làm việc rõ đầu vào, ít cần suy luận cấp frontier, nên mặc định dùng model rẻ hơn, model chính lo chia việc và đánh giá.
- Token mỗi request: wrapper chung cho mọi harness tương tác đặt mặc định tự nén ngữ cảnh ở 400K token kể cả với model 1M, và reasoning effort mức Medium (token ra, gồm token suy luận, đắt gấp nhiều lần token vào). Chọn TTL của prompt cache theo khoảng nghỉ giữa các lượt (đọc cache 0,1 lần giá token vào; ghi cache 5 phút 1,25 lần, 1 giờ 2 lần). MCP qua gateway (hơn 1.000 server nội bộ và SaaS, xác thực và chính sách tập trung), nhưng MCP chuẩn nạp schema mọi tool vào mỗi phiên (hơn 100 tool là thêm khoảng 50–70K token, gửi lại mỗi lượt); thay bằng chạy tool như lệnh CLI giải tại lúc gọi, và tool search chỉ nạp tool cần. Code-mode: model viết một script gom nhiều hành động (ví dụ gửi SQL, poll 2–5 lần, lấy kết quả) thay vì mỗi bước một lượt; đo trong cùng phiên: tiết kiệm 55–71% token cho query nhỏ, gần 100% cho
SELECT *bảng rộng (1,43 triệu → 900 token); hơn 25 skill code-mode dựng sẵn. MCP của SaaS (một bộ văn phòng 49 tool, khoảng 22K token schema) cũng đi qua gateway và CLI. - Request mỗi lượt: agent không có ngữ cảnh "hỏng chậm chứ không hỏng rẻ" (gửi lại ngữ cảnh ngày càng lớn để tìm thêm một chỗ). AI Context Graph: 24 triệu node, 80 triệu cạnh, gom từ hơn 30 hệ nội bộ (service, team, sự cố, PR, design doc, deploy, dataset, lịch sử query), agent hỏi bằng ngôn ngữ tự nhiên.
- Hiển thị thay cho trần cứng: bộ đếm chi phí trực tiếp trên status line; một ngân sách chung cho mọi harness tương tác (không ngân sách theo công cụ), ngân sách riêng cho managed agent; nhắc qua Slack ở 50/80/100% mức chi dự kiến; nâng hạn mức bằng duyệt của manager. Dashboard phân tích phiên đọc trace của người dùng trên mọi harness và chỉ ra 16 mẫu lãng phí kèm số tiền và cách sửa (dùng Opus cho việc Sonnet làm được, payload MCP 40 KB nằm lại trong ngữ cảnh, quay lại phiên sau khi cache hết hạn, nạp sẵn 100.000 token chỉ dẫn và tool).
- Theo Uber, chuyển dịch chiến lược là từ workflow tương tác của từng developer sang managed agent: tối ưu một đội agent chuyên biệt, mỗi cái có benchmark và model Pareto riêng, dễ hơn tối ưu hàng nghìn phiên terminal.
Vì sao
- Chi phí AI tăng theo mức dùng, và mức dùng tăng nhiều lần trong nửa năm; theo Uber, cắt token vô ích (schema không dùng, polling, ngữ cảnh phình) hiệu quả hơn chỉ trông vào giá đơn vị giảm hay hạ cấp công cụ.
Bài học cho SWE
- Tách chi phí thành thừa số đo được, và phân rã mọi thay đổi theo từng thừa số.
- Chọn model theo benchmark dựng từ việc thật của chính workload, đo cả chất lượng lẫn chi phí mỗi việc xong; lặp lại khi có model mới.
- Thứ được nạp vào mỗi lượt (schema tool, ngữ cảnh) là chi phí lặp lại; đưa nó ra khỏi ngữ cảnh bằng lời gọi lúc cần.
- Cho người dùng thấy chi phí ngay lúc dùng, thay vì đặt trần cứng.
- Đo managed agent theo chi phí trên đơn vị giá trị kèm chỉ số chất lượng, để đổi model không âm thầm làm tệ kết quả.
Liên quan
- Coding agent trong engineering (migrate, viết lại, chạy song song, quyền hạn) · Chi phí hạ tầng và build vs buy
- Cùng công ty: Uber 2026 · Uber 2026 (thử AI cho migration nhưng không thành) · Uber 2026 (agent tối ưu latency)
- Cùng bài toán: OpenAI 2026 · Spotify 2026 · Anthropic 2026
Coding agent trong engineering (migrate, viết lại, chạy song song, quyền hạn)Chi phí hạ tầng và build vs buy
#Software Factory#coding agents#managed agents#AI cost#cost equation#benchmark-driven model selection#Pareto frontier#uReview#subagent default model#context compaction#reasoning effort#prompt caching TTL#MCP gateway#CLI tool resolution
Được nhắc tới trong
Chủ đề (2)
Công ty (1)