Như đã đề cập, hôm nay mình sẽ thử Newsletter với Roo Code. Các post tiếp theo sẽ dùng Roo Code + Qwen 3 Coder. Mời bạn thưởng thức Newsletter #44.
Cursor Unveils Game-Changing Web App for AI Coding Agents
Anysphere, công ty đứng sau trình soạn thảo AI Cursor, vừa ra mắt một ứng dụng web cho phép quản lý các agent lập trình AI ngay trên trình duyệt. Thay vì phải mở IDE, người dùng có thể giao việc cho agent bằng ngôn ngữ tự nhiên, theo dõi tiến độ và gộp các thay đổi mã nguồn mà agent tạo ra từ bất kỳ thiết bị nào có kết nối Internet. Ứng dụng này bổ sung cho IDE sẵn có chứ không thay thế nó, và hiện chỉ dành cho người dùng gói Pro trở lên.
Bài viết cũng nêu bối cảnh: Cursor đã đạt hơn 500 triệu USD doanh thu định kỳ hằng năm và được hơn một nửa số công ty trong danh sách Fortune 500 sử dụng, còn CEO của Anysphere dự đoán đến năm 2026, agent AI sẽ đảm nhận khoảng 20% khối lượng công việc của một kỹ sư phần mềm. Dù phản hồi của cộng đồng nhìn chung tích cực, vẫn còn những băn khoăn về khả năng xử lý các kho mã nguồn lớn, về giá cả và quyền riêng tư. Với lập trình viên trẻ, đây là tín hiệu rõ ràng rằng kỹ năng giao việc và kiểm soát agent AI đang dần trở thành một phần của công việc hằng ngày.
The Heart of Software Engineering Still Beats
Annie Vella cho rằng dù các công cụ AI đang thay đổi mạnh mẽ cách chúng ta làm phần mềm, cốt lõi của nghề vẫn còn nguyên giá trị. Theo tác giả, viết mã nguồn thực chất là mô hình hóa: hình thành một mô hình tư duy có cấu trúc về một quy trình, một hệ thống hay một ý tưởng, rồi mã hóa nó thành thứ máy tính thực thi được. Thiết kế cũng không phải một giai đoạn tách biệt mà diễn ra liên tục trong lúc viết mã, kiểm thử, gỡ lỗi và vận hành hệ thống thực tế; chính quá trình tinh chỉnh các lớp trừu tượng đó mới tạo nên tay nghề của người kỹ sư.
Bài viết thừa nhận AI tạo sinh đang gây ra một cuộc khủng hoảng bản sắc: phần việc mà nhiều kỹ sư tự hào nhất, biến suy nghĩ thành mã nguồn, giờ đã được tự động hóa, khiến không ít người cảm thấy như kẻ đứng ngoài chính công việc của họ. Tuy vậy, tác giả nhìn nhận đây là sự tiến hóa chứ không phải bị thay thế: kỹ năng mô hình hóa đang dịch chuyển lên một tầng cao hơn, từ viết mã sang tổ chức ngữ cảnh cho công cụ AI, hay còn gọi là context engineering. Niềm vui được định hình những hệ thống vô hình và nhìn ý tưởng dần thành hình vẫn còn đó, chỉ là cách thể hiện đã khác.
Expert Generalist
Martin Fowler cùng Unmesh Joshi và Gitanjali Venkatraman cho rằng các tổ chức phần mềm đang quá coi trọng chuyên môn hẹp, trong khi thứ thực sự có giá trị cho việc phát triển phần mềm hiện đại là những “chuyên gia đa năng” (expert generalist): người có kiến thức rộng nhưng vẫn đi sâu vào một vài lĩnh vực chọn lọc. Bài viết mô tả sáu đặc điểm của họ: tò mò tìm hiểu công nghệ và nghiệp vụ mới; sẵn sàng hợp tác và khiêm tốn học hỏi từ chuyên gia khi gặp lĩnh vực lạ; lấy khách hàng làm trọng tâm để định hướng sự tò mò; ưu tiên kiến thức nền tảng như nguyên lý và mẫu thiết kế bền vững hơn là công cụ nhất thời; sở hữu bộ kỹ năng pha trộn, phức tạp hơn mô hình chữ T; và có “sự thấu cảm” với các lĩnh vực liền kề, giống như tay đua hiểu chiếc xe mà không cần là kỹ sư cơ khí.
Về phía tổ chức, các tác giả khuyên nên tuyển dụng dựa trên tốc độ học hỏi và khả năng cộng tác thay vì kinh nghiệm với một công cụ cụ thể, khuyến khích nhân viên luân chuyển qua nhiều mảng, kết hợp chuyên gia đa năng với một vài chuyên gia sâu cho mỗi công nghệ cốt lõi, và xây dựng chương trình đào tạo bài bản không kém đào tạo chuyên gia, chẳng hạn các buổi thực hành tự xây phiên bản thu nhỏ của Kafka, Kubernetes hay Delta Lake để nắm các mẫu thiết kế bên trong. Năng lực đa năng cũng nên được ghi nhận khi xét thăng tiến.
Trên đây là các bài dùng Roo Code với Qwen 3 Coder, nhìn chung thì tương đối chậm và tốn khá nhiều request. Sau đây mình sẽ dùng thử Roo Code với Kimi K2
Writing code was never the bottleneck
Tác giả phản bác quan điểm cho rằng các mô hình ngôn ngữ lớn (LLM) đã giải quyết được bài toán cốt lõi của kỹ thuật phần mềm. Viết mã nguồn chưa bao giờ là nút thắt cổ chai thực sự; những việc tốn thời gian nhất luôn là rà soát mã nguồn, chuyển giao kiến thức, kiểm thử, gỡ lỗi và phối hợp trong nhóm, tức những hoạt động đòi hỏi tư duy và sự hiểu biết chung giữa các thành viên.
LLM giúp tạo mã nhanh hơn nhưng không làm việc kiểm chứng nhanh hơn tương ứng, nên chúng chỉ dịch chuyển nút thắt chứ không gỡ bỏ nó: mã nguồn dễ tạo ra hơn nhưng lại khó xác minh hơn, và cả nhóm chưa chắc đã đi nhanh hơn. Hiểu được mã nguồn chạy thế nào, tìm ra lỗi và giữ chất lượng vẫn tốn nhiều công sức, còn mã sinh tự động đôi khi còn khó đọc và khó rà soát hơn. Khi tốc độ sinh mã vượt quá khả năng trao đổi của nhóm, người rà soát chịu áp lực lớn và chất lượng dễ bị ảnh hưởng. Chi phí viết mã có thể giảm, nhưng chi phí để cả nhóm cùng hiểu hệ thống thì không, và đó mới là nút thắt thực sự.
Building Tiny AI Tools
Sean Goedecke chỉ ra một hướng ứng dụng AI ít được chú ý, bên cạnh lập trình với agent và các sản phẩm AI đại trà: tự xây những công cụ nhỏ, cá nhân hóa để tự động hóa các quy trình lặp đi lặp lại. Tác giả phân biệt “tư duy điều hành” (ra quyết định chiến lược) với “tư duy cơ học” (đọc, phân tích và tóm tắt thông tin), và loại thứ hai giờ đây có thể giao cho AI.
Hai ví dụ được nêu là gh-standup, một tiện ích mở rộng cho GitHub CLI tự lấy lịch sử commit rồi đưa qua một prompt AI để tạo báo cáo họp standup hữu ích hơn so với tự xem lại thủ công, và một GitHub Action gộp cập nhật của từng kỹ sư thành bản tổng kết tuần cho cả nhóm, giúp tiết kiệm đáng kể thời gian dù chỉ phục vụ riêng công ty. Những công cụ như vậy quá ngách để bán đại trà nhưng lại rất có giá trị nội bộ; dấu hiệu rõ nhất là khi chúng hỏng, đồng nghiệp sẽ lập tức lên tiếng. Tác giả tin rằng khi mô hình ngày càng tốt hơn, kiểu tự động hóa này sẽ phổ biến hơn, và kỹ sư phần mềm là người có lợi thế nhất để xây dựng chúng cho chính nhóm của họ.
Modern Git Commands and Features You Should Be Using
Phần lớn chúng ta dùng Git hằng ngày nhưng chỉ quanh quẩn với add, commit, push, pull như thể vẫn đang ở năm 2005. Martin Heinz giới thiệu các lệnh hiện đại hơn: git switch (Git 2.23) thay git checkout trong việc chuyển nhánh, có kiểm tra an toàn để tránh mất dữ liệu và tiện ích như git switch - để quay lại nhánh trước; git restore gom chức năng khôi phục tệp vốn rải rác ở reset và checkout với cú pháp rõ ràng hơn; git sparse-checkout (Git 2.25) chỉ lấy những thư mục cần thiết trong monorepo lớn, giúp tăng tốc cả trên máy cá nhân lẫn CI/CD; git worktree cho phép mở nhiều nhánh cùng lúc ở các thư mục riêng mà không cần stash hay clone thêm; và git bisect dùng tìm kiếm nhị phân để xác định commit gây ra lỗi.
| |
| |
| |
| |
| |
Bài học tác giả rút ra là khi gặp vấn đề với Git, hãy tra tài liệu chính thức mới nhất thay vì dựa vào các câu trả lời cũ trên StackOverflow, vì Git đã phát triển nhiều và rất có thể đã có cách giải quyết đơn giản, an toàn hơn cho vấn đề của bạn.
Sau khi trải nghiệm mình nhận thấy Kimi K2 luôn phản hồi nhanh hơn Qwen 3 Coder, dù dùng Cline hay Roo Code, và Roo Code gọi nhiều request hơn Cline, tuy nhiên độ hài lòng về kết quả thì cũng xêm xêm. Vì OpenRouter limit dựa trên số lần request chứ không phải tổng lượng token nên có lẽ mình sẽ chọn Cline + Kimi K2 để dùng tạm mỗi khi Claude Code chạm quota.
Bài viết đã được viết lại bởi Claude Code với Opus 5.5 vào ngày 27/09/2026.