PyTorch's test infrastructure generates test names dynamically at import time by expanding template classes across devices (CPU, CUDA, MPS, XPU) and dtypes using instantiate_device_type_tests(). This means CI failure names like TestLinalgCUDA.test_matmul_cuda_float32 differ from the source template names, causing 'no tests collected' errors when running by template name. The guide explains how device-generic tests, OpInfos (operator metadata entries), and CI sharding work together. Key debugging tips include using pytest -k with generated test name patterns, using test/run_test.py for CI-like runs, and leveraging environment variables like PYTORCH_TESTING_DEVICE_ONLY_FOR. Common pitfalls covered include targeting template names directly, using torch.randn in dtype-generic tests, and hardcoding device strings.
Nguồn: https://pytorch.org/blog/understanding-pytorchs-test-infrastructure. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Vercel CLI bổ sung lệnh vercel flags segments để quản lý trực tiếp các segments của Vercel Flags, hỗ trợ chỉnh sửa gia tăng (--add, --remove) hoặc thay thế toàn bộ (--data) bằng JSON thô. Lệnh này cũng cung cấp đầu ra --json phục vụ tự động hóa trong CI/CD hay workflow cục bộ.
Lập trình viên phát triển ứng dụng Vercel nên đọc để tối ưu hóa quản lý các bằng CLI, tiết kiệm thời gian và tránh sai sót trong việc điều chỉnh giá trị flag theo nhóm người dùng, đặc điểm hoặc quy trình, đặc biệt khi cần tự động hóa trong CI/CD.
Hướng dẫn từng bước xây dựng một tác nhân Q&A RAG chạy hoàn toàn cục bộ, bảo mật dữ liệu bằng LangChain v1, Ollama, Qwen và ChromaDB. Tác nhân này lập chỉ mục tài liệu PDF, Markdown và văn bản vào vector store cục bộ, sau đó trả lời câu hỏi ngôn ngữ tự nhiên kèm theo trích dẫn nguồn, tất cả đều chạy trên máy cá nhân mà không tốn phí API.
Là một lập trình viên muốn tự động hóa tìm kiếm thông tin trong tài liệu riêng của mình một cách an toàn và hiệu quả mà không phụ thuộc vào các dịch vụ bên ngoài, bài này sẽ hướng dẫn cách xây dựng một hệ thống RAG tự động hóa, chạy trên máy tính cá nhân với chi phí zero và bảo mật tuyệt đối.
Cơ chế ReAct (Reason + Act + Observe) là nền tảng hoạt động của hầu hết các AI agent. Thay vì gọi song song các công cụ (tool) khi đã biết trước đầu vào, ReAct cho phép mô hình gọi công cụ theo từng bước, quan sát kết quả, rồi quyết định hành động tiếp theo dựa trên thông tin mới thu thập. Điều này giúp tối ưu chi phí và độ chính xác bằng cách bỏ qua các bước không cần thiết khi kết quả trước đó đã đủ.
Lập trình viên nên đọc bài này để hiểu cách các AI agent hiện đại sử dụng chu trình ReAct để tối ưu hóa hiệu suất và chính xác khi xử lý nhiệm vụ phức tạp, từ đó giúp xây dựng các ứng dụng tự động hóa thông minh và tiết kiệm chi phí hơn.
Storybook vừa ra mắt @storybook/tanstack-react, một framework chuyên dụng hỗ trợ ứng dụng …
Phiên bản Deno 2.9 bổ sung công cụ deno desktop để xây dựng ứng dụng desktop native từ công nghệ web, tạo ra các tệp thực thi duy nhất với backend webview hoặc CEF. Cải tiến đáng chú ý bao gồm hỗ trợ di chuyển từ lockfile npm/pnpm/yarn/Bun, snapshot testing, test theo tham số, tối ưu hiệu suất khởi động lạnh gấp đôi và giảm 3 lần bộ nhớ khi tải nặng.
Nếu bạn đang tìm cách xây dựng ứng dụng desktop hiệu quả từ công nghệ web, nâng cấp khả năng kiểm thử và an toàn trong dự án của mình, hoặc muốn tối ưu hóa hiệu suất và quản lý phụ thuộc, Deno 2.9 sẽ là công cụ quan trọng giúp bạn giải quyết những thách thức này một cách hiện đại và hiệu quả.
Hướng dẫn từng bước thiết lập phát triển liên tục (continuous development) với Claude GitHub App và Claude Code Actions, cho phép Claude tự động đóng góp tính năng, xem xét pull request dựa trên lệnh @claude. Bài viết bao gồm cài đặt app, cấu hình workflows (claude.yml, claude-code-review.yml), chuyển từ Opus sang Sonnet, kích hoạt Renovate bot, và minh họa toàn bộ quy trình từ tạo issue đến merge code trên dự án Spring Boot REST API. Ngoài ra, bài viết cũng đề cập đến chi phí thực tế khi chạy Claude Code trên nhiều issues.
Lập trình viên nên đọc bài này để khám phá cách tự động hóa phát triển liên tục với AI, từ việc giải quyết bug đến triển khai tính năng mới, giúp tiết kiệm thời gian và nâng cao hiệu suất trong quá trình hợp tác trên GitHub.
Bài viết giới thiệu phương pháp mSPRT (mixture Sequential Probability Ratio Test) thay thế p-value bằng e-value để ngăn chặn tình trạng "p-hacking" khi theo dõi kết quả A/B test sớm, vốn làm tăng tỷ lệ dương tính giả từ 5% lên 30%. Triển khai bằng Python với bộ dữ liệu 50.000 người dùng, mSPRT cho phép dừng thử nghiệm sớm (ngày 25,9 thay vì 30) mà vẫn đảm bảo độ tin cậy, mặc dù có nhược điểm giảm power (49,3% so với 88,7% ở t-test cố định).
Lập trình viên nên đọc bài này để tìm hiểu cách áp dụng quy trình kiểm thử sản phẩm hiệu quả bằng cách tránh p-hacking thông qua các phương pháp kiểm soát giả thuyết sớm như mSPRT, giúp tối ưu hóa quyết định phát triển dựa trên dữ liệu thực tế chứ không phải là kết quả giả định.
Adam Bender, kỹ sư phần mềm chính tại Google, cho rằng cuộc tranh luận về AI coding quá tập trung vào tốc độ và sinh code, bỏ qua những thách thức kỹ thuật rộng lớn hơn. Ông phân biệt lập trình (một cá nhân viết code) với kỹ thuật phần mềm (duy trì code sống, tích hợp và dễ bảo trì trong nhiều năm), nhấn mạnh AI thúc đẩy phần trước nhưng hầu như không ảnh hưởng đến phần sau. Những lo ngại chính bao gồm hệ sinh thái nhà phát triển như một hệ thống thích ứng phức tạp, nguy cơ mất kiểm soát trí tuệ khi codebase phát triển nhanh hơn khả năng hiểu của con người, lỗ hổng kiểm thử tích hợp khi AI tạo ra quá nhiều unit test, các API nội bộ trở nên công khai vô tình do AI bỏ qua ranh giới không chính thức, và khó khăn trong việc dạy phán đoán kỹ thuật cho lập trình viên mới sử dụng AI. Ông khuyến nghị bắt đầu bằng cách xác định chất lượng phù hợp với doanh nghiệp, sau đó lập bản đồ toàn bộ hệ sinh thái nhà phát triển để dự đoán hậu quả cấp hai và cấp ba từ việc tăng đột ngột sản lượng code.
Lập trình viên nên đọc bài này để hiểu cách AI không chỉ thay đổi cách viết code mà còn làm thay đổi toàn bộ quy trình và văn hóa của software engineering, từ việc quản lý codebase lớn đến việc đào tạo kỹ năng quyết định cho đội ngũ mới.