March of nines: vì sao sản phẩm AI cứ "gần xong" mà mãi không xong

March of nines: vì sao sản phẩm AI cứ "gần xong" mà mãi không xong

Một buổi chiều, bạn dựng thử tính năng có AI. Chạy mười lần đúng chín. Demo xong, câu trả lời cho "bao giờ xong?" là "một tháng, còn vài ca lẻ". Ba tháng sau vẫn "còn vài ca lẻ". Sáu tháng sau vẫn thế — nhưng là ca khác. Sang năm thứ hai, vẫn "gần xong". Chuyện này có quy luật. Bài viết nói về quy luật đó, cách đo cho đúng, và cuối bài: model 2026 mạnh hơn hẳn thì quy luật còn đúng không. 1. Đơn vị đo: "số 9"Phần mềm thường chạy chắc chắn — cùng đầu vào ... »

Hành trình của một Request: Từ Proxy, Load Balancer đến API Gateway

Hành trình của một Request: Từ Proxy, Load Balancer đến API Gateway

Khi bạn gõ một địa chỉ web và nhấn Enter, cảm giác rất kỳ diệu: trình duyệt hỏi, server đáp, mọi thứ xong xuôi trong chớp mắt. Nhưng phía sau hậu trường, request của bạn không hề đi "đường thẳng". Nó phải chạy qua một loạt các "trạm trung chuyển" trước khi chạm đến đích: phân giải DNS (đã là một tầng chia tải), định tuyến anycast tới PoP gần nhất, CDN trả lời luôn nếu là nội dung tĩnh, rồi mới tới lượt các trạm bên trong hệ thống. Bài viết này sẽ tập trung vào phần "bên trong" ... »

Debug AI Agent như một pro — GenAI Observability với OpenTelemetry

Debug AI Agent như một pro — GenAI Observability với OpenTelemetry

"Agent của mình mất 45 giây để trả lời câu hỏi 'Đà Lạt hôm nay thế nào?'. Không biết lỗi ở model, ở tool, hay ở đâu." — Câu này mình nghe từ không ít anh em đang build AI Agent. Và câu trả lời thường là: đoán mò, rồi đổi model, rồi tinh chỉnh prompt, rồi vẫn chậm. Bài này mình sẽ chỉ cách dùng OpenTelemetry để không phải đoán nữa. Nhìn vào một cái dashboard là biết ngay lỗi nằm ở tầng nào, mất bao nhiêu giây ở bước nào, và dữ liệu đầu vào của ... »

Từ Git Diff đến Blast Radius: Code Review Graph có thể hỗ trợ AI Code Review như thế nào?

Từ Git Diff đến Blast Radius: Code Review Graph có thể hỗ trợ AI Code Review như thế nào?

Trong những năm gần đây, các AI coding assistant ngày càng được sử dụng nhiều hơn trong quá trình phát triển phần mềm, từ sinh code, refactoring cho đến code review. Một cách sử dụng phổ biến là cung cấp git diff hoặc nội dung của Pull Request cho AI và yêu cầu: Review this change. Với những thay đổi nhỏ và độc lập, cách tiếp cận này thường mang lại kết quả khá tốt. Tuy nhiên, khi codebase trở nên lớn hơn và có nhiều dependency giữa các module, chỉ đọc phần code thay đổi thường chưa đủ để ... »

Có bao nhiêu cách chạy một AI Agent?

Có bao nhiêu cách chạy một AI Agent?

Góc nhìn của một backend engineer sau vài tháng nhét agent vào production Mở đầu: agent thực ra rất nhỏTrước khi bàn "chạy ở đâu", cần thống nhất "chạy cái gì". Bỏ hết marketing đi, một AI agent chỉ là vòng lặp này: async function agentLoop(messages: Message[], tools: Tool[]) { while (true) { const res = await llm.createMessage({ messages, tools }); messages.push({ role: 'assistant', content: res.content }); if (res.stop_reason !== 'tool_use') return res; const toolResults = await Promise.all( res.content .filter((b) => b.type === 'tool_use') .map(async (b) => ({ type: 'tool_result' as const, tool_use_id: ... »

Chuyển từ Windows 11 sang CachyOS: cái hay, cái dở dưới góc nhìn của một lập trình viên

Chuyển từ Windows 11 sang CachyOS: cái hay, cái dở dưới góc nhìn của một lập trình viên

Giới thiệu chung Mình làm lập trình web trên Windows trong một thời gian dài và nhìn chung mọi thứ đều ổn. Vài năm trở lại đây Windows ngày càng có nhiều biểu hiện khó chịu, nhưng vì đã quá quen nên mình đều tặc lưỡi cho qua. Vài tháng trước mình xem một số bài về "rice" Linux trên Reddit và khá thích thú với giao diện của những người dùng này. Nếu thích giao diện windows, bạn hoàn toàn có thể "rice" giống như No_Beyond_5483 trên reddit đã làm: "Start Menu& ... »

TỪ UBER UREVIEW ĐẾN DỰ ÁN THẬT: NGHỆ THUẬT DÙNG AI CODE REVIEW KHÔNG RÁC

TỪ UBER UREVIEW ĐẾN DỰ ÁN THẬT: NGHỆ THUẬT DÙNG AI CODE REVIEW KHÔNG RÁC

Tản mạnHẹ hẹ, chào anh em! Chắc anh em nào gần đây tích hợp AI vào quy trình CI/CD hay dùng các công cụ AI coding agent như Claude Code, Codex để tự động review code đều từng nếm trải cảm giác vừa mừng vừa… ức chế (haizz). Mừng là vì bot phản hồi nhanh như chớp, vừa tạo Pull Request (PR) xong là 30 giây sau đã thấy thông báo ting ting. Nhưng mở ra đọc thì hỡi ôi: Một PR sửa đúng 3 dòng logic fix bug gấp thì bot nhảy vào yêu cầu: “Bạn nên refactor ... »

Redis vẫn UP nhưng Latency vẫn tăng vọt: Vấn đề nằm ở đâu?

Redis vẫn UP nhưng Latency vẫn tăng vọt: Vấn đề nằm ở đâu?

Redis vẫn UP nhưng Latency vẫn tăng vọt: Vấn đề nằm ở đâu? 1. Vậy vấn đề này là gì?Nhiều team dùng redis-cli PING hoặc metric redis_up = 1 để kết luận Redis "khỏe". Tuy nhiên, PING chỉ trả lời một câu hỏi: Redis còn phản hồi hay không. Nó không trả lời câu hỏi quan trọng hơn: Redis đang phản hồi nhanh hay chậm. Ví dụ minh họa: $ redis-cli -h prod-redis-01 PING PONG $ redis-cli -h prod-redis-01 --latency-history -i 5 min: 1 ms, max: 3 ms, avg: 1.42 ms ... min: 1 ms, max: 4180 ms, avg: 210 ms ... »