Công bố Thoughtworks Technology Radar, Volume 32
(thoughtworks.com)- Trực quan hóa và giải thích các xu hướng mới nhất trong các lĩnh vực kỹ thuật/công cụ/nền tảng/ngôn ngữ lập trình và framework theo 4 mức Hold/Assess/Trial/Adopt
- Theo dõi các hạng mục công nghệ thú vị (blip). Blip sẽ di chuyển giữa 4 giai đoạn theo thời gian
- Adopt (khuyến nghị áp dụng): Được đánh giá là nên được áp dụng tích cực trên toàn ngành. Có thể sử dụng thực tế trong dự án ở những bối cảnh phù hợp
- Trial (thử nghiệm áp dụng): Đáng để thử dùng theo hướng thực nghiệm. Điều quan trọng là hiểu cách xây dựng năng lực liên quan. Có thể áp dụng trong các dự án chấp nhận được rủi ro
- Assess (cần tìm hiểu): Đáng để khám phá công nghệ này. Mục tiêu là xác định công nghệ đó có thể ảnh hưởng đến tổ chức như thế nào
- Hold (khuyến nghị tạm hoãn): Cần tiếp cận một cách thận trọng
4 chủ đề của số lần này
-
Tận dụng agent dưới sự giám sát trong trợ lý lập trình
- Một trong những bước phát triển nhanh của AI tạo sinh là sự tăng trưởng của các coding agent hội thoại trong IDE
- Cách tiếp cận được gọi là “agentic”, “prompt-to-code”, “CHOP(chat-oriented programming)” đang lan rộng
- AI không chỉ tạo code snippet, mà còn khám phá mã nguồn, chỉnh sửa, cập nhật test, thực thi lệnh, đôi khi còn tự động giải quyết lỗi lint/biên dịch
- Dù vẫn còn hoài nghi về việc tạo mã hoàn toàn tự trị, nhưng cách vận hành dưới sự giám sát của lập trình viên đang cho ra kết quả tích cực
- Các công cụ tích hợp IDE tiêu biểu: Cursor, Cline, Windsurf, GitHub Copilot
- Các lựa chọn thay thế dựa trên terminal: aider, goose, Claude Code
- Cần cảnh giác với sự tin tưởng quá mức vào việc AI tự động sinh code
- Khi review code, việc hướng dẫn và kiểm tra liên tục vẫn rất quan trọng
-
Observability đang tiếp tục phát triển
- Khi độ phức tạp của kiến trúc phân tán tăng lên, lĩnh vực observability đang tiến hóa rất nhanh
- Mối quan tâm mới: observability cho LLM
- Số lượng công cụ giám sát và đánh giá hiệu năng LLM đang tăng lên
- Ví dụ: Weights & Biases Weave, Arize Phoenix, Helicone, HumanLoop
- Sự xuất hiện của các công cụ observability có hỗ trợ AI đang cải thiện khả năng phân tích insight
- Việc tăng cường áp dụng OpenTelemetry giúp bảo đảm tính trung lập với nhà cung cấp và độ linh hoạt của công cụ
- Các công cụ tiêu biểu hỗ trợ OpenTelemetry: Alloy, Tempo, Loki
- Observability đang liên tục phát triển nhờ công cụ và thực hành cùng củng cố lẫn nhau
-
Sự tiến hóa của chữ ‘R’ trong RAG
- Trong nhiều thành phần của hệ sinh thái AI tạo sinh, chữ R của RAG(Retrieval-Augmented Generation) đang tiến hóa đặc biệt nhanh
- Các xu hướng chính:
- Corrective RAG: Điều chỉnh phản hồi dựa trên feedback hoặc heuristic
- Fusion-RAG: Kết hợp nhiều nguồn và chiến lược truy xuất để tăng tính toàn diện và độ vững chắc của phản hồi
- Self-RAG: Bỏ qua bước truy xuất và trực tiếp lấy dữ liệu khi có yêu cầu
- FastGraphRAG: Nâng cao khả năng hiểu dưới dạng đồ thị mà con người có thể khám phá
- Khi tối ưu hóa truy xuất để tạo ra phản hồi chính xác và hữu ích phù hợp với nhu cầu người dùng ngày càng quan trọng, các công nghệ và công cụ liên quan cũng đang phát triển rất nhanh
-
Xử lý dữ liệu phức tạp
- Trọng tâm giờ đây không còn là kích thước dữ liệu (Big Data) mà là việc quản lý độ phức tạp và tính đa dạng (Rich, Complex Data)
- Do dữ liệu phi cấu trúc gia tăng, việc quản lý dữ liệu có hệ thống trở nên thiết yếu nếu muốn tận dụng tốt dữ liệu đó cho AI hoặc phân tích khách hàng
- Xu hướng công cụ liên quan:
- Cơ sở dữ liệu vector, công cụ phân tích như Metabase
- Sự nổi lên của tư duy sản phẩm dữ liệu (Data Product Thinking)
- Áp dụng tư duy sản phẩm (Product Thinking) vào công cụ phân tích và chiến lược khai thác dữ liệu
- Nỗ lực biến các bài toán khai thác dữ liệu vốn đã được bàn luận từ trước khi AI xuất hiện thành hành động thực tế
- Nếu không có chiến lược dữ liệu rõ ràng, doanh nghiệp có thể tụt lại trong đổi mới và suy giảm năng lực cạnh tranh thương mại
Kỹ thuật (Techniques)
Adopt (khuyến nghị áp dụng)
-
Tư duy sản phẩm dữ liệu (Data product thinking)
- Xem dữ liệu như một sản phẩm, nhấn mạnh vòng đời, tiêu chuẩn chất lượng và thiết kế lấy người dùng làm trung tâm
- Sử dụng các data catalog hiện đại như DataHub, Collibra, Atlan, Informatica để quản lý đồng thời metadata kinh doanh và kỹ thuật
- Tận dụng tư duy sản phẩm dữ liệu để bảo đảm dữ liệu sẵn sàng cho AI và mở rộng các dự án AI
- Tập trung vào quản lý toàn bộ vòng đời, bao gồm cả quy trình hủy dữ liệu nhằm tuân thủ các yêu cầu pháp lý và quy định
-
Fuzz testing
- Đây là một kỹ thuật lâu đời nhưng vẫn là phương thức kiểm thử chưa được biết đến rộng rãi
- Cung cấp nhiều đầu vào bất thường cho hệ thống để kiểm chứng cách hệ thống hoạt động trong các tình huống ngoại lệ
- Ngày càng trở nên quan trọng để ứng phó với các lỗ hổng bảo mật liên quan đến việc gia tăng sinh code bằng AI
- Hỗ trợ công cụ cũng đã khá đầy đủ, và việc áp dụng là phù hợp để duy trì mã nguồn vững chắc và an toàn
-
Software Bill of Materials (SBOM)
- Việc tạo SBOM hiện đã trở thành một thực hành bảo mật cơ bản
- Với các công cụ như Syft, Trivy, Snyk, có thể tạo SBOM và quét lỗ hổng từ source code tới container image
- FOSSA, Chainloop và các công cụ tương tự được tích hợp vào workflow phát triển để tự động áp dụng chính sách bảo mật
- Nhờ sự hỗ trợ rộng rãi dành cho SPDX và CycloneDX, vấn đề tiêu chuẩn cũng đã được giảm bớt
- Nhu cầu SBOM trong các hệ thống AI cũng đang gia tăng và đã được phản ánh trong các hướng dẫn thực hành code an toàn
-
Threat modeling
- Đây là kỹ thuật cốt lõi để duy trì bảo mật đồng thời bảo đảm tính linh hoạt trong môi trường phát triển phần mềm lấy AI làm trung tâm
- Có thể áp dụng cả với các hệ thống có rủi ro bảo mật đặc thù như AI tạo sinh
- Cần được thực hiện thường xuyên xuyên suốt dự án, và đặc biệt hiệu quả khi đi cùng các máy quét bảo mật tự động và việc xác định các yêu cầu bảo mật
Trial (thử nghiệm áp dụng)
-
Xử lý bộ sưu tập yêu cầu API như một sản phẩm đầu ra của API
- Khi xem API như một sản phẩm, cần ưu tiên trải nghiệm lập trình viên chứ không chỉ đơn thuần là tài liệu hóa
- Đặc tả Swagger(OpenAPI) hữu ích cho việc tài liệu hóa giao diện, nhưng vẫn tồn tại vấn đề onboarding còn khó khăn
- Với sự phát triển của các công cụ client như Postman, Bruno, Insomnia, việc dùng bộ sưu tập yêu cầu API như một sản phẩm đầu ra là phù hợp
- Có thể onboarding lập trình viên nhanh và hiệu quả thông qua các ví dụ bao gồm xác thực được thiết lập sẵn và dữ liệu kiểm thử sát thực tế
- Cần lưu trữ bộ sưu tập yêu cầu API trong repository và tích hợp vào pipeline triển khai để luôn giữ trạng thái cập nhật
-
Quy trình tư vấn kiến trúc
- Trong các đội ngũ quy mô lớn, việc phân tán quyền ra quyết định kiến trúc từ lâu đã là một bài toán
- Architecture Review Board truyền thống lại cản trở năng suất và luồng công việc
- Cách ra quyết định phân tán, nơi bất kỳ ai cũng có thể đưa ra quyết định kiến trúc nhưng sẽ tham vấn người liên quan hoặc chuyên gia, tỏ ra hiệu quả
- Có thể duy trì chất lượng và tính nhất quán bằng các công cụ như Architecture Decision Record, diễn đàn tư vấn
- Cách làm này cũng đang lan rộng trong cả những ngành có mức độ quản lý rất chặt chẽ
-
GraphRAG
- Cách tiếp cận hai giai đoạn do Microsoft đề xuất: chia nhỏ tài liệu, sau đó dùng phân tích của LLM để tạo knowledge graph; khi truy xuất thì mở rộng thông tin liên quan dọc theo đồ thị này để tăng cường prompt
- Cũng hữu ích trong việc phân tích mã legacy phức tạp, tạo knowledge graph dựa trên abstract syntax tree(AST) hoặc cấu trúc phụ thuộc
- Các công cụ như gói GraphRAG Python của Neo4j đã xuất hiện và đang được dùng ngày càng rộng rãi
- Các công cụ như Graphiti cũng được đưa vào cách diễn giải mở rộng của mô hình GraphRAG
-
Quản lý nâng quyền đúng thời điểm (Just-in-time privileged access management, JIT PAM)
- Đây là một kỹ thuật bảo mật hiện thực hóa nguyên tắc đặc quyền tối thiểu, chỉ cấp quyền quản trị khi cần và thu hồi ngay sau đó
- “Standing privileges”, tức quyền quản trị luôn mở, có thể trở thành lỗ hổng bảo mật
- Quyền tạm thời được kiểm soát thông qua quy trình phê duyệt tự động, gán vai trò tạm thời và thiết lập TTL (Time-To-Live)
- Rất hiệu quả trong việc đáp ứng các yêu cầu về quy định và tuân thủ
-
Chưng cất mô hình (Model distillation)
- Đây là phương pháp trích xuất tri thức từ mô hình lớn và chuyển sang mô hình nhỏ hơn để giảm thiểu mất mát độ chính xác và tăng hiệu quả vận hành
- Khác với pruning hay quantization là các cách thu nhỏ mô hình, phương pháp này tập trung vào việc giữ lại tri thức miền
- Ngày càng xuất hiện nhiều ví dụ về mô hình thu nhỏ nhưng vẫn duy trì hiệu năng cao, như các phiên bản chưng cất DeepSeek R1 của Qwen/Llama
- Các nền tảng như OpenAI và Amazon Bedrock cung cấp hướng dẫn về chưng cất, giúp giảm chi phí vận hành LLM của doanh nghiệp và tối ưu suy luận on-device
-
Kỹ thuật prompt (Prompt engineering)
- Đây là quá trình thiết kế và điều chỉnh prompt rõ ràng, cụ thể để tối ưu chất lượng đầu ra của mô hình AI tạo sinh
- Prompt zero-shot trong các mô hình reasoning có thể cho kết quả tốt hơn few-shot
- Prompt CoT (chain-of-thought) ngược lại có thể làm giảm hiệu năng của mô hình reasoning, do ảnh hưởng của quá trình tiền huấn luyện qua RL
- Ở các mô hình cao cấp hơn, nhu cầu về prompt engineering có thể giảm đi, nhưng nó vẫn hiệu quả trong việc giảm ảo giác và cải thiện chất lượng
- Điều quan trọng là duy trì cân bằng giữa tốc độ phản hồi, chi phí token và hiệu năng; khi thiết kế ứng dụng dạng agent cần có lựa chọn chiến lược phù hợp với đặc tính mô hình
-
Mô hình ngôn ngữ nhỏ (Small Language Models, SLMs)
- Các phiên bản chưng cất cỡ nhỏ của DeepSeek R1 (Qwen, Llama) có thể chạy trên phần cứng phổ thông dù phải đánh đổi một phần hiệu năng
- Lĩnh vực SLM đang đổi mới rất nhanh, với nhiều mô hình xuất hiện như Llama 3.2 (1B, 3B) của Meta, Phi-4 (14B) của Microsoft, và PaliGemma 2 (3B~28B) của Google
- Mô hình nhỏ có chi phí suy luận thấp hơn và ít bị ràng buộc bởi môi trường thực thi, nên có tiềm năng ứng dụng rộng rãi
- Xét về cân bằng giữa hiệu năng và hiệu quả, SLM đang được chú ý như một xu hướng công nghệ quan trọng
-
Hiểu codebase legacy bằng GenAI
- Các công cụ chủ chốt như GitHub Copilot và Sourcegraph Cody đang hỗ trợ việc hiểu và hiện đại hóa codebase legacy
- Chúng đơn giản hóa việc xử lý các hệ thống phức tạp bằng nhiều cách như nắm bắt cấu trúc, điều hướng và cung cấp trợ giúp theo ngữ cảnh
- Các framework như S3LLM còn cho phép hiểu mã trong lĩnh vực khoa học kỹ thuật như Fortran và Pascal
- Do trên toàn cầu vẫn còn lượng phần mềm legacy rất lớn, công nghệ này nhiều khả năng sẽ tiếp tục được phổ biến
Assess (Cần khảo sát thêm)
-
Thiết kế mã thân thiện với AI (AI-friendly code design)
- Các agent phần mềm dựa trên AI ngày càng có thể phát hiện và áp dụng cả những thay đổi mã lớn hơn
- Khi mức độ tin cậy vào mã do AI tạo ra tăng lên, cũng xuất hiện hiện tượng giảm tỷ trọng review từ lập trình viên con người
- Tuy nhiên, AI cũng cho hiệu quả tốt hơn trên mã được cấu trúc tốt, nên thiết kế thân thiện với AI là quan trọng để đảm bảo khả năng bảo trì
- Những thực hành thiết kế tốt vốn có như đặt tên giàu biểu đạt, mô-đun hóa, trừu tượng hóa và loại bỏ trùng lặp (DRY) cũng tác động tích cực đến hiệu năng của AI
- Trong tương lai, có thể sẽ xuất hiện cả các mẫu thiết kế chuyên biệt cho AI
-
Kiểm thử UI bằng AI (AI-powered UI testing)
- Một phương thức kiểm thử UI mới đang nổi lên, tận dụng khả năng của LLM trong việc diễn giải GUI
- QA.tech và KaneAI hỗ trợ kiểm thử UI dựa trên snapshot bằng ngôn ngữ tự nhiên
- Browser Use thực hiện kiểm thử dựa trên thông tin cấu trúc của Playwright và sử dụng mô hình đa phương thức
- Dù có thể tạo ra kết quả không mang tính quyết định, tính linh hoạt của cách này lại có lợi cho việc kiểm thử hệ thống legacy hoặc ứng phó với thay đổi UI thường xuyên
- Có thể dùng theo hướng bổ trợ cho kiểm thử thủ công mang tính khám phá
-
Mô hình Competence Envelope để hiểu các thất bại hệ thống
- Đây là khái niệm định nghĩa ranh giới mà trong đó hệ thống có thể vận hành bình thường; khi vượt ra ngoài ranh giới này, hệ thống dễ thất bại
- Hữu ích trong việc diễn giải các trường hợp thất bại phức hợp như sự cố Canva năm 2024
- Residuality Theory phân tích khả năng thích nghi của hệ thống dựa trên lịch sử stress trước đó và phản ứng hiện tại
- Khái niệm này liên hệ với khả năng phục hồi, độ vững chắc và tính phản mong manh của hệ thống, đồng thời tạo kỳ vọng về tính ứng dụng thực tế
-
Đầu ra có cấu trúc từ LLM (Structured output from LLMs)
- Đây là kỹ thuật giới hạn phản hồi của mô hình ngôn ngữ theo một schema xác định như JSON
- OpenAI hỗ trợ đầu ra có cấu trúc bằng JSON Schema, pydantic, đối tượng Zod, v.v.
- Rất hữu ích trong những lĩnh vực cần định dạng chính xác như function calling hay tích hợp API
- Nó hỗ trợ nhiều khả năng ứng dụng như tạo chart markup, đồng thời cũng có thể làm giảm hiện tượng ảo giác
Hold (Khuyến nghị tạm hoãn)
-
Shadow IT tăng tốc bởi AI (AI-accelerated shadow IT)
- Sự phát triển của AI khiến cả những người không phải lập trình viên cũng có thể tự tạo phần mềm mà không cần qua bộ phận IT
- Với các công cụ no-code hỗ trợ API của OpenAI, Anthropic và các bên khác, ngay cả tích hợp phức tạp cũng có thể được triển khai dễ dàng
- Tuy nhiên, việc lan rộng các ứng dụng không được kiểm soát có thể làm phát sinh nhiều vấn đề về bảo mật và quản trị dữ liệu
- Dù trông giống một dạng tiến hóa của spreadsheet, phạm vi của nó lớn hơn rất nhiều
- Cần cân nhắc cẩn trọng sự cân bằng giữa tốc độ giải quyết vấn đề và tính ổn định dài hạn
-
Quá tự tin vào mã do AI tạo ra (Complacency with AI-generated code)
- Các xu hướng suy giảm chất lượng do sử dụng AI đang xuất hiện, như tăng mã trùng lặp, tăng code churn và giảm refactoring
- Nghiên cứu của Microsoft cho thấy AI có thể tạo cho người dùng sự tự tin sai lầm và cản trở tư duy phản biện
- Khi AI tạo ra ngày càng nhiều mã, cũng tồn tại rủi ro khiến lập trình viên khó review các thay đổi
- Những cách làm như “vibe coding”, nơi AI tạo mã và chỉ có mức review tối thiểu, là cực kỳ rủi ro đối với mã production
-
Trợ lý lập trình cục bộ (Local coding assistants)
- Các trợ lý lập trình AI chạy cục bộ, không cần truyền dữ liệu ra bên ngoài, có lợi thế về bảo mật
- Tuy nhiên, hiệu năng của chúng bị hạn chế so với mô hình nền tảng đám mây, và gặp khó khăn khi xử lý prompt phức tạp hoặc các tính năng tích hợp
- Các tính năng tích hợp sẵn trong IDE (Xcode, JetBrains) hoặc tích hợp dựa trên Qwen Coder, Continue + Ollama hữu ích cho các tác vụ đơn giản
- Khuyến nghị hạ thấp kỳ vọng và triển khai theo hướng thử nghiệm
-
Thay thế hoàn toàn pair programming bằng AI (Replacing pair programming with AI)
- Các công cụ như Copilot tự nhận là AI pair programmer, nhưng không thể thay thế lợi ích mang tính đội nhóm của pair programming giữa con người
- AI hữu ích cho học tập, onboarding và tập trung vào thiết kế chiến lược, nhưng còn thiếu ở hợp tác nhóm, chia sẻ quyền sở hữu mã và ngăn ngừa tình trạng relay
- Xét đến hiệu quả cộng tác của pair programming truyền thống, việc thay thế hoàn toàn là không được khuyến nghị
-
Reverse ETL
- Reverse ETL, tức việc chuyển dữ liệu từ data warehouse trở lại hệ thống giao dịch, đang gia tăng
- Nó có ý nghĩa trong các mục đích tích hợp hoặc di chuyển tạm thời, nhưng nếu bị lạm dụng sẽ làm trầm trọng thêm các vấn đề của kiến trúc tập trung hóa
- Một số vendor đang lạm dụng cách này để tập trung business logic vào nền tảng của họ
- Vì có thể gây hại cho chất lượng kiến trúc và tính linh hoạt về lâu dài, cần hết sức thận trọng khi áp dụng
-
SAFe™ (Scaled Agile Framework)
- Nhiều doanh nghiệp vẫn đang áp dụng SAFe™
- Tuy nhiên, quy trình từng bước bị chuẩn hóa quá mức có thể gây ra sự chia cắt giữa các bộ phận, lãng phí dòng giá trị và kìm hãm sự sáng tạo
- Quyền tự chủ của nhóm và văn hóa thử nghiệm bị hạn chế, đồng thời việc cố giải quyết các vấn đề thay đổi tổ chức phức tạp bằng quy trình đơn giản cũng có những giới hạn
- Thoughtworks đang ứng phó thông qua đào tạo nội bộ và tư vấn, nhưng cho rằng cách tiếp cận dựa trên Lean, lấy giá trị làm trung tâm cùng các chương trình thay đổi sẽ hiệu quả hơn
Nền tảng (Platforms)
Adopt (Khuyến nghị áp dụng)
-
GitLab CI/CD
- Là hệ thống CI/CD được tích hợp hoàn toàn bên trong GitLab, hỗ trợ toàn bộ vòng đời phát triển phần mềm từ tích hợp mã nguồn đến kiểm thử, triển khai và giám sát
- Phù hợp với các workflow phức tạp nhờ pipeline nhiều giai đoạn, caching, thực thi song song và autoscaling runner
- Có thể tin cậy ngay cả trong môi trường bị quản lý chặt chẽ nhờ các công cụ bảo mật và tuân thủ tích hợp sẵn như SAST, DAST
- Tích hợp với Kubernetes để hỗ trợ đầy đủ các workflow cloud-native
- Cung cấp log thời gian thực, báo cáo kiểm thử và khả năng truy vết để tăng cường observability
-
Trino
- Là công cụ truy vấn SQL phân tán mã nguồn mở cho phép chạy các truy vấn phân tích tương tác trên dữ liệu quy mô lớn
- Hoạt động tối ưu cả trong môi trường on-premise lẫn cloud, đồng thời có thể truy vấn trực tiếp cơ sở dữ liệu quan hệ và kho lưu trữ độc quyền thông qua nhiều connector khác nhau
- Cũng hỗ trợ các định dạng tệp và bảng như Parquet và Apache Iceberg
- Nhờ khả năng liên hợp truy vấn, có thể truy vấn nhiều nguồn dữ liệu như thể chúng là một bảng logic duy nhất
- Đây cũng là công nghệ cốt lõi trong nhiều nền tảng dữ liệu thương mại như AWS Athena và Starburst, là một lựa chọn đáng tin cậy phù hợp với nhiều workload phân tích khác nhau
Trial (Thử nghiệm áp dụng)
-
ABsmartly
- Là nền tảng hỗ trợ A/B testing và thử nghiệm nhanh, đáng tin cậy
- Công cụ Group Sequential Testing (GST) cho phép thử nghiệm nhanh hơn tới 80% so với cách truyền thống
- Cung cấp báo cáo thời gian thực, phân đoạn dữ liệu sâu và khả năng tích hợp toàn diện theo hướng API-first
- Có thể áp dụng thử nghiệm rộng rãi từ web, mobile, microservice đến cả mô hình ML
- Hiệu quả trong việc tối ưu trải nghiệm người dùng nhờ rút ngắn chu kỳ lặp và tự động phân tích kết quả
-
Dapr
- Là runtime cho ứng dụng phân tán, gần đây đã mở rộng tính năng để hỗ trợ lập lịch tác vụ, virtual actor và tăng cường bảo mật
- Các cấu hình tập trung vào bảo mật như mTLS và distroless image đã được tăng cường, đồng thời tiếp tục bổ sung nhiều building block khác
- Đang được các nhóm sử dụng ổn định và được kỳ vọng sẽ còn tiếp tục phát triển
-
Grafana Alloy
- Trước đây có tên là Grafana Agent, là công cụ mã nguồn mở đóng vai trò như OpenTelemetry Collector
- Được thiết kế như một bộ thu thập telemetry hợp nhất có thể thu thập cả log, metric và trace
- Hỗ trợ các định dạng OpenTelemetry, Prometheus và Datadog
- Sau khi Promtail bị ngừng sử dụng, đây đang nổi lên như một lựa chọn mạnh, đặc biệt cho thu thập log
-
Grafana Loki
- Là hệ thống tổng hợp log có tính sẵn sàng cao và khả năng mở rộng theo chiều ngang, chỉ lập chỉ mục metadata để giảm chi phí lưu trữ và độ phức tạp vận hành
- Lưu trữ log dựa trên block storage như S3, GCS và Azure Blob Storage
- Tích hợp với Grafana và Grafana Alloy, đồng thời đã bổ sung hỗ trợ OpenTelemetry và tính năng multi-tenancy
- Cũng được trang bị tính năng ngăn ảnh hưởng lan rộng giữa các tenant (shuffle-sharding)
-
Grafana Tempo
- Là backend distributed tracing hiệu năng cao, hỗ trợ các tiêu chuẩn mở như OpenTelemetry
- Dữ liệu được lưu ở định dạng cột dựa trên Apache Parquet nên có hiệu năng truy vấn tốt
- Có thể khám phá dữ liệu truy vết qua TraceQL và CLI
- Nhóm của chúng tôi đang self-host Tempo trên GKE cùng với MinIO và OpenTelemetry
-
Railway
- Là nền tảng PaaS full-stack thay thế cho Heroku và Vercel, hỗ trợ từ tích hợp GitHub/Docker đến triển khai và khả năng quan sát vận hành
- Hỗ trợ hầu hết các framework chính, cơ sở dữ liệu và triển khai dựa trên container
- Dù vẫn cần so sánh chi phí, nền tảng này mang lại trải nghiệm tốt về độ ổn định trong triển khai và vận hành
-
Unblocked
- Là trợ lý AI cho nhóm, tích hợp với codebase, tài liệu, quản lý dự án và các công cụ giao tiếp
- Cung cấp khả năng trả lời câu hỏi về khái niệm kinh doanh và kỹ thuật, thiết kế kiến trúc và quy trình vận hành
- Hữu ích khi khám phá các hệ thống phức tạp hoặc legacy, phù hợp với các nhóm coi trọng việc truy cập nhanh thông tin theo ngữ cảnh
- Với tạo mã hoặc tự động hóa, các AI agent chuyên dụng sẽ phù hợp hơn
-
Weights & Biases
- Đã tăng cường các tính năng tập trung vào LLM, đồng thời bổ sung nền tảng Weave để đánh giá hệ thống, metric tùy chỉnh và sử dụng LLM làm bộ đánh giá
- Hiệu quả trong theo dõi hiệu năng và gỡ lỗi hệ thống agent, thu thập phản hồi và tinh chỉnh mô hình
- Phù hợp cho tối ưu hiệu năng ở cả cấp độ cục bộ lẫn toàn cục và cho các workflow phát triển lặp
Assess (Cần tìm hiểu)
-
Arize Phoenix
- Khi các ứng dụng LLM và agent ngày càng gia tăng, tầm quan trọng của observability cho LLM cũng ngày càng lớn
- Arize Phoenix cung cấp các tính năng như truy vết LLM, đánh giá và quản lý prompt, đồng thời tích hợp mượt mà với các nền tảng và framework LLM chính
- Việc phân tích đầu ra, độ trễ và lượng token sử dụng có thể thực hiện chỉ với cấu hình đơn giản
- Hiện tại mới chỉ dùng bản mã nguồn mở, nhưng toàn bộ nền tảng Arize cung cấp nhiều tính năng hơn và đáng để khám phá
-
Chainloop
- Là nền tảng bảo mật chuỗi cung ứng phần mềm mã nguồn mở, cho phép đội bảo mật định nghĩa chính sách và đội phát triển tuân thủ chúng trong pipeline CI/CD
- Thông qua CLI, nền tảng này thu thập và xác minh các artifact bảo mật như SBOM, báo cáo lỗ hổng, đồng thời tự động kiểm tra mức độ tuân thủ chính sách
- Sử dụng Rego của OPA làm ngôn ngữ chính sách và có thể xác thực các tiêu chuẩn như định dạng CycloneDX
- Cung cấp môi trường quản lý metadata ở mức SLSA level 3 thông qua việc tuân thủ bảo mật nhất quán và các workflow có thể kiểm toán
-
DeepSeek R1
- Là dòng mô hình reasoning đầu tiên của DeepSeek, tối đa hóa mức độ tận dụng phần cứng thông qua MLA, MoE gating, huấn luyện FP8 và tối ưu hóa PTX
- DeepSeek-R1-Zero là mô hình đột phá đạt được năng lực reasoning chỉ với reinforcement learning đơn thuần
- Tất cả các mô hình đều được cung cấp dưới dạng open weights, và DeepSeek-R1-Distill-Qwen-32B cho thấy hiệu năng vượt OpenAI o1-mini trên nhiều benchmark
- Dù mã huấn luyện và dữ liệu chưa được công khai, kho lưu trữ vẫn bao gồm nhiều mô hình đã được huấn luyện sẵn
-
Deno
- Là nền tảng do Ryan Dahl, cha đẻ của Node.js, tạo ra, khắc phục nhiều điểm yếu của Node.js ở các khía cạnh như sandbox bảo mật, quản lý phụ thuộc và hỗ trợ TypeScript native
- Từ Deno 2, nền tảng này cung cấp khả năng tương thích với Node.js và các thư viện npm, giúp rào cản di chuyển thấp hơn trước
- Thư viện chuẩn và tooling đã được củng cố, phù hợp cho phát triển TypeScript phía máy chủ
- Khi lựa chọn nền tảng, không nên chọn Deno chỉ vì muốn tránh đa ngôn ngữ
-
Graphiti
- Tạo ra đồ thị tri thức có nhận thức về thời gian để theo dõi các mối quan hệ trong dữ liệu liên tục thay đổi
- Xử lý dữ liệu có cấu trúc và phi cấu trúc thành các episode dựa trên thời gian, đồng thời hỗ trợ truy vấn kết hợp thời gian, văn bản, ngữ nghĩa và thuật toán đồ thị
- Góp phần nâng cao độ chính xác truy xuất thông tin trong các ứng dụng dựa trên GraphRAG
- Cho phép bộ nhớ dài hạn và suy luận dựa trên trạng thái trong các hệ thống LLM dựa trên RAG và agent
-
Helicone
- Là nền tảng LLMOps thiên về mã nguồn mở để quản lý chi phí LLM, đánh giá ROI và giảm thiểu rủi ro
- Hỗ trợ toàn bộ vòng đời LLM như thử nghiệm prompt, giám sát, gỡ lỗi và tối ưu hóa
- Có thể phân tích theo dõi theo thời gian thực về chi phí, mức sử dụng, hiệu năng và agent stack cho nhiều nhà cung cấp LLM khác nhau
- Dù tính năng mạnh mẽ, đây vẫn là nền tảng ở giai đoạn đầu, nên việc tận dụng các tính năng nâng cao đòi hỏi một mức độ chuyên môn nhất định
- Cho đến nay, trải nghiệm sử dụng nhìn chung là tích cực
-
Humanloop
- Là một nền tảng tập trung vào việc tích hợp phản hồi từ con người để giúp hệ thống AI đáng tin cậy và linh hoạt hơn
- Cung cấp công cụ gắn nhãn, active learning, fine-tuning theo phương thức human-in-the-loop và đánh giá dựa trên yêu cầu kinh doanh
- Bao gồm workspace dùng chung cho cộng tác, prompt có quản lý phiên bản và khả năng tích hợp CI/CD
- Cũng có các tính năng observability như tracing, logging, cảnh báo và guardrail
- Phù hợp để xây dựng AI có trách nhiệm trong các môi trường có quy định nghiêm ngặt
-
Model Context Protocol (MCP)
- Là một chuẩn mở do Anthropic đề xuất, được thiết kế để các công cụ AI có thể dễ dàng tận dụng context từ các hệ thống hiện có
- Chuẩn hóa việc tích hợp giữa AI với thông tin từ wiki, issue tracker, cơ sở dữ liệu và các nguồn khác
- Được cấu thành theo mô hình máy chủ/khách MCP, và thường được chạy cục bộ dưới dạng tiến trình Python hoặc Node
- Hiện vẫn chủ yếu dành cho người dùng kỹ thuật; với người không phải lập trình viên, vẫn còn các thách thức về khả năng tiếp cận, quản trị và quản lý cập nhật
- Về dài hạn, có nhiều khả năng phát triển thành một hệ sinh thái thân thiện hơn với người dùng
-
Open WebUI
- Là nền tảng AI tự lưu trữ mã nguồn mở, có thể tích hợp với nhiều mô hình và API khác nhau (tương thích OpenAI, OpenRouter, GroqCloud, v.v.)
- Có thể chạy mô hình cục bộ hoặc mô hình tự quản lý thông qua Ollama, và dùng được cả trong môi trường ngoại tuyến
- Cung cấp giao diện chat dựa trên tài liệu với tính năng RAG tích hợp sẵn
- Cho phép kiểm soát quyền truy cập vào mô hình và tính năng theo từng nhóm người dùng dựa trên RBAC
- Có thể mở rộng chức năng bằng Functions dựa trên Python, đồng thời cũng bao gồm tính năng đánh giá LLM
- Có thể mở rộng linh hoạt từ dùng cá nhân, cộng tác nhóm đến nền tảng cấp doanh nghiệp
-
pg_mooncake
- Là tiện ích mở rộng cho PostgreSQL, hỗ trợ lưu trữ dạng cột và thực thi vectorized
- Có thể lưu dữ liệu theo định dạng Iceberg, Delta Lake trên bộ nhớ cục bộ hoặc storage tương thích S3
- Có thể nạp dữ liệu từ nhiều định dạng như Parquet, CSV, bộ dữ liệu Hugging Face, v.v.
- Phù hợp với các môi trường cần phân tích dữ liệu hiệu năng cao mà không phải triển khai thêm kho lưu trữ dạng cột riêng
-
Reasoning models
- "Mô hình suy luận (Reasoning Models)", thể hiện hiệu năng ngang mức con người trong toán học, lập trình và các lĩnh vực tương tự, là một trong những bước tiến AI được chú ý nhất gần đây
- Được tăng cường các khả năng như CoT (suy nghĩ từng bước), ToT (khám phá phương án thay thế) và tự hiệu chỉnh (Self-correction)
- Nhiều mô hình khác nhau đã xuất hiện như OpenAI o1/o3, DeepSeek R1, Gemini 2.0 Flash Thinking
- Do thời gian phản hồi chậm hơn và mức tiêu thụ token cao hơn, chúng cũng được gọi là "Slow AI"
- Phù hợp hơn với các lĩnh vực STEM, nơi việc giải quyết vấn đề phức tạp hoặc khả năng giải thích quan trọng hơn các tác vụ đơn giản
-
Restate
- Là nền tảng thực thi workflow bền vững tương tự Temporal, do các nhà sáng lập Apache Flink phát triển
- Được viết bằng Rust và triển khai dưới dạng một binary duy nhất
- Bảo đảm độ bền dữ liệu ngay cả trong tình huống lỗi nhờ thuật toán đồng thuận ảo dựa trên Paxos linh hoạt
- Cung cấp SDK cho Java, Go, Rust và TypeScript
- Nếu không thể tránh các giao dịch phân tán, đây là một nền tảng đáng để cân nhắc
-
Supabase
- Là lựa chọn thay thế mã nguồn mở cho Firebase, hỗ trợ phát triển backend với khả năng mở rộng và bảo mật
- Dựa trên PostgreSQL và cung cấp nhiều tính năng như xác thực, đăng ký thời gian thực, API, edge functions, vector embedding, v.v.
- Khi làm prototype hoặc phát triển MVP, việc chuyển đổi sau này sang giải pháp SQL sẽ tương đối dễ dàng
-
Synthesized
- Là nền tảng tạo dữ liệu kiểm thử chân thực cho môi trường phát triển và kiểm thử
- Có thể masking dữ liệu hiện có hoặc tạo synthetic data có ý nghĩa thống kê
- Có thể tích hợp vào build pipeline và hỗ trợ ẩn danh không thể đảo ngược theo từng thuộc tính (hashing, ngẫu nhiên hóa, v.v.)
- Cũng có thể tạo dữ liệu khối lượng lớn cho kiểm thử hiệu năng, với các tính năng nổi bật tập trung vào giải quyết vấn đề thực tế
-
Tonic.ai
- Tương tự Synthesized, đây là nền tảng tạo synthetic data thực tế đã được khử định danh
- Hỗ trợ cả dữ liệu có cấu trúc và phi cấu trúc, đồng thời bảo vệ quyền riêng tư bằng kỹ thuật differential privacy
- Cung cấp các tính năng như tự động phát hiện và loại bỏ thông tin nhạy cảm, Ephemeral DB và Tonic Textual cho hệ thống RAG
- Phù hợp với các nhóm muốn vừa tăng tốc độ kỹ thuật vừa đáp ứng các yêu cầu bảo vệ dữ liệu
-
turbopuffer
- Là công cụ tìm kiếm đa tenant không máy chủ, hỗ trợ tìm kiếm vector + toàn văn dựa trên object storage
- Thiết kế tập trung vào độ bền, khả năng mở rộng và hiệu quả chi phí, với các nút truy vấn theo kiến trúc stateless
- Cung cấp độ trễ thấp bằng cách lưu cache kết quả truy vấn cold trên NVMe SSD và giữ dữ liệu được truy cập thường xuyên trong bộ nhớ
- Phù hợp cho AI dựa trên RAG và tìm kiếm tài liệu quy mô lớn, nhưng hiện chỉ có thể sử dụng theo hình thức mời
-
VectorChord
- Là mô-đun mở rộng tìm kiếm độ tương đồng vector cho PostgreSQL, được phát triển như phiên bản kế nhiệm của pgvecto.rs
- Tương thích với kiểu pgvector và cung cấp tìm kiếm vector tốc độ cao, ít tính toán thông qua lập chỉ mục IVF và lượng tử hóa RaBitQ
- Tích hợp với hệ sinh thái PostgreSQL để có thể vừa thực hiện tìm kiếm vector vừa xử lý giao dịch
- Dù vẫn còn ở giai đoạn đầu, đây là một phương án thay thế đáng để đánh giá cho tìm kiếm vector hiệu năng cao
Hold (Khuyến nghị tạm hoãn)
- Tyk hybrid API management
- Cấu trúc kết hợp control plane được quản lý và data plane tự quản mang lại sự linh hoạt cho môi trường multicloud hoặc hybrid cloud
- Tuy nhiên, đã phát sinh vấn đề thiếu observability, chẳng hạn có sự cố trên control plane chạy trên AWS của Tyk nhưng phía nội bộ lại phát hiện trước cả Tyk
- Hỗ trợ dựa trên ticket không phù hợp trong các tình huống sự cố khẩn cấp, và cũng có phản hồi rằng tốc độ xử lý chậm
- Mức độ hoàn thiện của tài liệu chính thức còn thấp, khiến việc xử lý sự cố trong môi trường phức tạp trở nên khó khăn
- Cổng nhà phát triển dành cho doanh nghiệp cũng có vấn đề về thiếu tương thích với phiên bản trước và hạn chế trong tùy biến
- Đặc biệt với cấu hình hybrid, cần triển khai một cách thận trọng và theo dõi liên tục mức độ trưởng thành của giải pháp này
Công cụ (Tools)
Adopt (Khuyến nghị áp dụng)
-
Renovate
- Là công cụ tự động hóa quản lý phiên bản phụ thuộc và là lựa chọn được nhiều nhóm ưa chuộng
- Trên GitHub, Dependabot là mặc định, nhưng Renovate toàn diện hơn và có khả năng tùy biến cao hơn
- Sẽ hiệu quả nếu cấu hình để theo dõi toàn bộ dependency trong tooling, hạ tầng và cả các kho lưu trữ nội bộ/riêng tư
- Để giảm sự mệt mỏi cho lập trình viên, cũng có thể cân nhắc tự động hợp nhất các PR dependency
-
uv
- Là công cụ quản lý gói và dự án Python thế hệ mới được viết bằng Rust, với ưu điểm cốt lõi là tốc độ rất nhanh
- Hợp nhất các công cụ Python hiện có (Poetry, pyenv, pipx, v.v.) thành một và cải thiện đáng kể tốc độ build cũng như kiểm thử
- Cộng đồng trưởng thành và hỗ trợ hệ sinh thái dài hạn là điều quan trọng, nhưng ở thời điểm hiện tại đây là công cụ được các nhà phát triển đề xuất nhiều nhất
- Đặc biệt phù hợp với các nhóm dữ liệu muốn rời xa hệ thống package hiện tại của Python
-
Vite
- Là công cụ build frontend hiệu năng cao, cung cấp hot reload nhanh và môi trường phát triển hiệu quả
- Được chọn làm công cụ mặc định trong Vue, SvelteKit, React và Create React App đang chuyển sang lấy Vite làm trung tâm
- Việc thành lập tổ chức chuyên trách mang tên VoidZero giúp củng cố tính bền vững lâu dài và tiềm năng phát triển của dự án
Trial (Dùng thử)
-
Claude Sonnet
- Là mô hình ngôn ngữ tiên tiến, thể hiện hiệu năng xuất sắc trong nhiều lĩnh vực như lập trình, viết lách, phân tích và các tác vụ dựa trên hình ảnh
- Có thể tích hợp với trình duyệt, terminal, các IDE chính và GitHub Copilot, đồng thời hỗ trợ diễn giải biểu đồ và trích xuất văn bản trong ảnh
- Thông qua tính năng "Artifacts" trong giao diện trình duyệt, có thể tương tác với mã và các thành phẩm HTML được tạo ra
- Phiên bản 3.5 đặc biệt cho thấy mức tăng năng suất cao trong thiết kế kiến trúc hoặc các dự án cộng tác
- Claude 3.7 đã được phát hành, nhưng việc kiểm chứng trong sử dụng thực tế vẫn đang được tiến hành
-
Cline
- Là tiện ích mở rộng mã nguồn mở cho VSCode, là công cụ mạnh mẽ để triển khai các tác tử phần mềm có giám sát
- Cung cấp các tính năng nâng cao như chế độ Plan & Act, tích hợp MCP và theo dõi minh bạch mức sử dụng token
- Khi dùng cùng Claude 3.5 Sonnet, cho thấy hiệu năng xuất sắc với codebase quy mô lớn, tự động hóa kiểm thử không trình duyệt và tự động sửa lỗi
- Tăng cường quyền riêng tư nhờ lưu trữ dữ liệu cục bộ và có tiềm năng phát triển dựa trên cộng đồng mã nguồn mở
- Cần lưu ý chi phí token và giới hạn tốc độ yêu cầu API (rate limit), đồng thời nên dùng các nhà cung cấp API thay thế như OpenRouter
-
Cursor
- Là trình soạn thảo mã tập trung vào AI, cung cấp khả năng điều chỉnh ngữ cảnh nâng cao và trải nghiệm thân thiện với người dùng
- Có thể tích hợp nhiều mô hình bằng API key của người dùng, đồng thời đưa git diff, hội thoại trước đó, tìm kiếm web, tài liệu thư viện, MCP... vào ngữ cảnh
- Có thể đưa ra chỉ thị triển khai trong giao diện chat AI, và công cụ sẽ tự động sửa file cũng như thực thi lệnh
- Cũng bao gồm tính năng phát hiện lỗi lint và biên dịch rồi tự động sửa
-
D2
- Là công cụ diagram-as-code mã nguồn mở, cho phép viết sơ đồ bằng script dựa trên văn bản
- Sử dụng các layout engine như Mermaid và cung cấp cú pháp D2 đơn giản, mang tính khai báo
- Cấu trúc cú pháp ưu tiên tính dễ đọc, phù hợp cho tài liệu hóa phần mềm hoặc sơ đồ kiến trúc
-
Databricks Delta Live Tables (DLT)
- Là công cụ quản lý pipeline dữ liệu khai báo hỗ trợ cả streaming thời gian thực lẫn xử lý batch
- Đơn giản hóa các công việc kỹ thuật dữ liệu lặp đi lặp lại như tự động hóa checkpoint, từ đó giảm gánh nặng vận hành
- Có thể tối ưu hiệu năng thông qua materialized views
- Tuy nhiên, bảng được quản lý theo đơn vị pipeline và bảng streaming có cấu trúc append-only, nên cần chú ý khi thiết kế
- Việc xóa pipeline DLT cũng sẽ xóa cả bảng và dữ liệu là một rủi ro vận hành cần lưu ý
-
JSON Crack
- Là tiện ích mở rộng VSCode trực quan hóa dữ liệu văn bản như JSON, YAML, TOML, XML thành đồ thị tương tác
- Khác với Mermaid hay D2, nó được dùng như công cụ trực quan hóa để khám phá dữ liệu, và tính năng ẩn node/branch rất hữu ích khi khám phá dataset
- Cũng có công cụ nền web, nhưng cần lưu ý sự phụ thuộc vào môi trường trực tuyến
- Có giới hạn số lượng node và khuyến khích dùng bản thương mại cho các dataset lớn hơn
-
MailSlurp
- Là dịch vụ API cho tự động hóa kiểm thử dựa trên email và SMS
- Cung cấp các tính năng như tạo inbox và số điện thoại tạm thời, xác thực email, tự động trả lời, chuyển tiếp...
- Thông qua REST API và dashboard no-code, cũng có thể dễ dàng chuẩn bị cho kiểm thử thủ công
- Phù hợp cho sản phẩm onboarding khách hàng, phát triển workflow kiểm thử...
-
Metabase
- Là công cụ phân tích và business intelligence mã nguồn mở, cho phép tạo trực quan hóa, báo cáo và dashboard từ nhiều nguồn dữ liệu khác nhau
- Có thể nhúng dashboard tương tác vào ứng dụng web thông qua SDK
- Hỗ trợ cả cơ sở dữ liệu quan hệ lẫn NoSQL, với nhiều connector chính thức và từ cộng đồng
- Hữu ích như một công cụ BI gọn nhẹ để quản lý dashboard và báo cáo
-
NeMo Guardrails
- Là bộ công cụ mã nguồn mở của NVIDIA, cho phép áp dụng các guardrail bảo mật cho ứng dụng hội thoại dựa trên LLM
- Đã bổ sung nhiều tính năng tích hợp như hỗ trợ Colang 2.0, AutoAlign, Patronus Lynx
- Bao gồm các microservice NIM cho an toàn nội dung, kiểm soát chủ đề và bảo mật prompt
- Cũng đã có các cải tiến hiệu năng như hỗ trợ đầu ra LLM dạng streaming
- Khi số lượng trường hợp áp dụng vào dịch vụ thực tế tăng lên, công cụ này đã được nâng lên mức Trial
-
Nyx
- Là công cụ tự động hóa semantic release độc lập với ngôn ngữ và nền tảng
- Đặc biệt phù hợp với phát triển theo Trunk-based, đồng thời hỗ trợ nhiều workflow như Gitflow, OneFlow, GitHub Flow
- Cung cấp tính năng tự động tạo changelog dựa trên Conventional Commits
- Tuy vậy, vẫn cần thận trọng với các chiến lược nhánh dài hạn
-
OpenRewrite
- Là công cụ tự động hóa refactoring quy mô lớn, hữu ích cho việc nâng cấp phiên bản API hoặc cập nhật dịch vụ dựa trên template dùng chung
- Ngoài Java, công cụ này cũng đang mở rộng hỗ trợ sang các ngôn ngữ như JavaScript
- Với các thay đổi có cấu trúc rõ ràng, nó ổn định và hiệu quả hơn các trợ lý code AI
- Cung cấp nhiều recipe (quy tắc chuyển đổi) cùng plugin cho công cụ build, và tất cả đều được phát hành dưới dạng mã nguồn mở
-
Plerion
- Là nền tảng bảo mật đám mây tập trung vào AWS, cung cấp khả năng phát hiện và ưu tiên rủi ro trên toàn bộ hạ tầng, máy chủ và ứng dụng
- Tương tự Wiz, nó hỗ trợ tập trung vào “1% quan trọng”
- Giúp tăng khả năng quan sát bảo mật cho khách hàng và nhấn mạnh tầm quan trọng của giám sát bảo mật chủ động
-
Tác tử kỹ thuật phần mềm (Software engineering agents)
- Các tác tử lập trình hoàn toàn tự chủ vẫn chưa thực sự thực dụng, nhưng chế độ tác tử có giám sát trong IDE đang phát triển rất nhanh
- Nhà phát triển dẫn dắt việc triển khai thông qua giao diện chat, còn AI sẽ thực hiện chỉnh sửa nhiều file, chạy kiểm thử, lint và xử lý lỗi biên dịch
- Còn được gọi là CHOP(Chat-Oriented Programming), Prompt-to-Code..., với mức độ chia sẻ trách nhiệm lớn hơn so với các công cụ hỗ trợ kiểu tự động hoàn thành trước đây
- Cursor, Cline và Windsurf đang dẫn đầu, và kết hợp với các mô hình dòng Claude Sonnet cho kết quả rất tốt
- Hiệu quả nâng cao năng suất rất rõ khi giữ phạm vi vấn đề nhỏ và sử dụng trên codebase có cấu trúc
- Khi áp dụng vào mã production, cần đi kèm quy trình rà soát như pair programming
-
Tuple
- Là công cụ pair programming từ xa, khởi đầu như một lựa chọn thay thế Screenhero của Slack
- Hiện đã hỗ trợ Windows, tăng cường cài đặt quyền riêng tư và bổ sung tính năng ẩn cửa sổ ứng dụng cụ thể
- Nhờ cải tiến UI, giờ đây cũng có thể cộng tác trên nội dung ngoài IDE
- Vì phía đối tác từ xa có thể truy cập toàn bộ desktop nên tồn tại lo ngại về bảo mật → nên cấu hình quyền riêng tư và đào tạo nhóm trước khi sử dụng
- Nhờ UX trực quan và độ trễ thấp, đây là công cụ pair programming từ xa khá thực dụng
-
Turborepo
- Là công cụ tối ưu hóa build cho monorepo JavaScript/TypeScript lớn, giúp tăng tốc build thông qua phân tích phụ thuộc, caching, thực thi song song...
- Khác với Nx, nó cho phép
package.jsontheo từng dự án, nhờ đó tạm thời chấp nhận nhiều phiên bản phụ thuộc khác nhau - Điều này có thể hữu ích khi chuyển từ nhiều kho mã sang monorepo
- Cấu hình đơn giản và cho hiệu năng ổn định ngay cả ở các dự án quy mô lớn
Assess (Cần khám phá)
-
AnythingLLM
- Là ứng dụng desktop mã nguồn mở cho phép tương tác với tài liệu hoặc nội dung lớn, tích hợp với nhiều LLM và cơ sở dữ liệu vector
- Tương thích cả với các mô hình open-weight dựa trên Ollama, và có thể cấu hình mô hình embedding theo kiểu plugin
- Ngoài RAG, còn có thể tổ chức nhiều kỹ năng thành tác tử để thực hiện workflow tùy biến
- Quản lý tài liệu và lịch sử hội thoại theo từng workspace, và gần đây cũng có thể được triển khai dưới dạng web app nhiều người dùng
- Cũng đang được sử dụng hữu ích như công cụ cục bộ cho trợ lý cá nhân
-
Gemma Scope
- Là công cụ interpretability theo hướng cơ chế nhằm hiểu hoạt động bên trong của LLM, có thể phân tích dòng mô hình mở Gemma2
- Là công cụ giúp xác định và gỡ lỗi nguyên nhân của hallucination, thiên lệch, đầu ra bất thường...
- Không chỉ quan trọng với nhà nghiên cứu, mà còn ngày càng trở nên cần thiết khi việc tự huấn luyện mô hình đang dần là lựa chọn thực tế hơn đối với doanh nghiệp
-
Hurl
- Là công cụ cho phép định nghĩa và thực thi chuỗi yêu cầu HTTP bằng các file văn bản đơn giản, hữu ích cho tự động hóa và kiểm thử
- Cung cấp các tính năng như kiểm tra mã trạng thái, header/body phản hồi, trích xuất dữ liệu và biến hóa
- Có thể tạo báo cáo ở định dạng HTML/JSON và đưa định nghĩa kiểm thử vào code repository
- Phù hợp khi cần một công cụ kiểm thử API nhẹ và đơn giản hơn các công cụ GUI như Postman hay Bruno
-
Jujutsu
- Hệ thống quản lý phiên bản phân tán dùng Git làm backend, đồng thời cung cấp workflow riêng và khả năng sử dụng được cải thiện
- Tương thích với máy chủ và dịch vụ Git, đồng thời cung cấp khả năng phân nhánh và xử lý xung đột đơn giản, trực quan hơn
- Hướng tới cả người mới bắt đầu lẫn người dùng nâng cao, nổi bật với UX trực quan và mạnh mẽ
- Đặc biệt, tính năng xử lý xung đột xuất sắc của công cụ này đang được đánh giá rất cao
-
kubenetmon
- Công cụ giám sát lưu lượng mạng Kubernetes do ClickHouse phát hành dưới dạng mã nguồn mở
- Cho phép đo lường chi tiết lưu lượng truyền dữ liệu và chi phí trong môi trường đa đám mây
- Nếu đang gặp vấn đề chi phí truyền dữ liệu phát sinh ngoài dự kiến trong hạ tầng dựa trên Kubernetes, đây là công cụ đáng cân nhắc áp dụng
-
Mergiraf
- Git merge driver giải quyết xung đột hợp nhất dựa trên cây cú pháp trừu tượng (AST) của mã nguồn
- Hiệu quả trong việc xử lý các xung đột merge trở nên phức tạp do lịch sử thay đổi dài hoặc mã do AI tạo ra
- Hoạt động chính xác hơn cách merge mặc định dựa trên dòng của Git, đồng thời có thể áp dụng cho tự động hợp nhất và cherry-pick
- Có thể hữu ích với các nhóm sử dụng workflow Git phức tạp như feature branch dài hạn
-
ModernBERT
- Dòng mô hình NLP thế hệ mới kế nhiệm BERT, dựa trên transformer chỉ dành cho encoder
- Vượt qua giới hạn độ dài ngữ cảnh thông qua Alternating Attention, đồng thời cải thiện độ chính xác và hiệu năng so với BERT trước đây
- Đáng được ưu tiên cân nhắc trong những trường hợp cần mô hình chuyên dụng cho NLP thay vì mô hình sinh tổng quát
-
OpenRouter
- Nền tảng hợp nhất nhiều nhà cung cấp LLM vào một API để hỗ trợ thử nghiệm và tối ưu chi phí
- Có thể định tuyến tới nhiều mô hình như Claude, OpenAI, Mistral và cũng cung cấp tính năng giúp vượt qua giới hạn tốc độ yêu cầu API
- Tuy nhiên, cấu trúc này có cộng thêm biên lợi nhuận về giá, vì vậy chỉ nên cân nhắc khi thực sự cần chuyển đổi giữa nhiều mô hình
-
Redactive
- Nền tảng doanh nghiệp hỗ trợ xây dựng trợ lý AI dựa trên RAG một cách an toàn trong môi trường bị ràng buộc bởi quy định
- Tích hợp với Confluence và các hệ thống tương tự để tạo chỉ mục dựa trên tài liệu, đồng thời phản ánh quyền người dùng theo thời gian thực
- Đảm bảo chỉ những thông tin được phép mới được lộ ra cho mô hình, qua đó cân bằng giữa bảo mật và khả năng truy cập
-
System Initiative
- Công cụ DevOps mang tính thử nghiệm với cách tiếp cận khác với hạ tầng dạng code truyền thống, gần đây đã được phát hành mã nguồn mở (Apache 2.0)
- Đang được sử dụng trong môi trường thương mại, nhưng vẫn cần thêm thời gian để có thể mở rộng tới quy mô doanh nghiệp lớn
- Nếu muốn trải nghiệm một cách tiếp cận khác với các công cụ DevOps hiện có, đây là lựa chọn đáng để thử
-
TabPFN
- Mô hình phân loại dựa trên transformer được tối ưu cho các bộ dữ liệu dạng bảng quy mô nhỏ
- Mô hình đã được huấn luyện trước và khái quát hóa dựa trên hàng triệu bộ dữ liệu tổng hợp
- Cho kết quả nhanh và chính xác mà không cần tinh chỉnh hyperparameter, đồng thời có độ bền tốt trước giá trị thiếu và ngoại lệ
- Không phù hợp với bộ dữ liệu quy mô lớn hoặc các bài toán hồi quy
-
v0 (by Vercel)
- Công cụ AI tạo mã frontend dựa trên ảnh chụp màn hình, thiết kế Figma và prompt
- Hỗ trợ nhiều framework như React, Vue, Tailwind, shadcn và có thể triển khai ngay đoạn mã được tạo ra
- Dù còn hạn chế trong việc triển khai toàn bộ ứng dụng phức tạp, công cụ này vẫn hữu ích cho việc tạo prototype ban đầu hoặc làm điểm khởi đầu cho UI
-
Windsurf
- Trợ lý lập trình AI do Codeium phát triển, mang lại trải nghiệm triển khai dựa trên agent tương tự Cursor và Cline
- Được mở rộng năng lực thực thi thông qua duyệt DOM trình duyệt, truy cập console, tìm kiếm web và nhiều khả năng khác
- Hỗ trợ sử dụng nhiều mô hình khác nhau, đồng thời cũng mạnh về các tính năng cung cấp ngữ cảnh như MCP và tham chiếu tài liệu
-
YOLO (You Only Look Once)
- Mô hình gọn nhẹ, hiệu năng cao, có thể dùng cho nhiều tác vụ thị giác máy tính như phân loại ảnh thời gian thực, phát hiện đối tượng, ước lượng tư thế và phân đoạn
- Phiên bản mới nhất YOLO11 tiếp tục cải thiện độ chính xác và hiệu quả xử lý, cho phép ứng dụng cả trên thiết bị edge
- Nhắc lại rằng với một số tác vụ thị giác cụ thể, các mô hình CV truyền thống có thể phù hợp hơn LLM
Ngôn ngữ và framework (Languages and Frameworks)
Adopt (Khuyến nghị áp dụng)
-
OpenTelemetry
- Đang nhanh chóng trở thành tiêu chuẩn ngành cho khả năng quan sát (Observability)
- Với đặc tả OTLP(OpenTelemetry Protocol), có thể xử lý dữ liệu trace, metric và log theo định dạng tiêu chuẩn
- Giảm phụ thuộc vào nhà cung cấp, đồng thời tích hợp với các công cụ lớn như Datadog, New Relic, Grafana
- Hỗ trợ nén gzip, zstd nên có hiệu quả cao khi truyền dữ liệu quy mô lớn và phù hợp với môi trường microservice
- Việc mở rộng hỗ trợ log và profiling giúp việc quan sát toàn bộ stack trở nên dễ dàng hơn
-
React Hook Form
- Là lựa chọn thay thế cho Formik, có hiệu năng cao nhờ mặc định sử dụng các component uncontrolled
- Dễ tích hợp với các thư viện kiểm tra hợp lệ dựa trên schema như Yup, Zod
- Cũng tích hợp tốt với codebase hiện có và các thư viện component bên ngoài như shadcn, AntD
- Là lựa chọn ổn định và linh hoạt, phù hợp để phát triển các form quy mô lớn hoặc ứng dụng lấy form làm trung tâm
Trial (Thử nghiệm áp dụng)
-
Effect
- Thư viện lập trình hàm dựa trên TypeScript, giúp đơn giản hóa việc triển khai cả chương trình bất đồng bộ lẫn đồng bộ
- Có thể xử lý các logic phức tạp như quản lý trạng thái, xử lý lỗi, đồng thời hóa cùng với tính an toàn kiểu
- Có tính kết hợp và khả năng kiểm thử tốt hơn cách làm dùng
Promise,async/await,try/catchtruyền thống - Cung cấp các abstraction phù hợp hơn cho công việc phát triển hằng ngày so với
fp-tstừng được dùng trước đây
-
Hasura GraphQL Engine
- Cung cấp GraphQL API thời gian thực cho nhiều nguồn dữ liệu như PostgreSQL, MongoDB, ClickHouse
- Được sử dụng hiệu quả trong các dự án sản phẩm dữ liệu để tích hợp tài nguyên phía máy chủ và xây dựng API nhanh chóng
- Federated Query và tính năng quản lý schema tích hợp rất mạnh, nhưng cần được sử dụng cẩn trọng
- Tính năng PromptQL được bổ sung gần đây cung cấp khả năng truy vấn dữ liệu bằng ngôn ngữ tự nhiên dựa trên LLM
-
LangGraph
- Framework điều phối dựa trên đồ thị dành cho các ứng dụng đa agent có trạng thái dựa trên LLM
- Cung cấp mức kiểm soát thấp hơn LangChain (node và edge), cho phép tùy biến workflow
- Mạnh về quản lý trạng thái có thể dự đoán, debug, bảo trì và khả năng mở rộng
- Dù có phần khó làm quen ban đầu, framework này vẫn rất mạnh về tính gọn nhẹ và tính mô-đun
-
MarkItDown
- Công cụ CLI chuyển đổi các tài liệu như PDF, HTML, Word, PowerPoint sang Markdown
- Tận dụng đặc tính có cấu trúc của Markdown để nâng cao độ chính xác khi xử lý tài liệu bằng LLM và khả năng hiểu ngữ cảnh
- Khi dùng làm công cụ tiền xử lý tài liệu trong hệ thống RAG, nó có thể cải thiện đáng kể độ rõ ràng của phản hồi truy xuất
- Là công cụ hữu ích giúp nâng cao năng suất cho lập trình viên và cũng thường được dùng cho công việc tài liệu hóa
-
Module Federation
- Cung cấp khả năng chia sẻ module giữa các micro frontend và loại bỏ trùng lặp phụ thuộc
- Từ phiên bản 2.0, công cụ này hoạt động độc lập với Webpack và hỗ trợ Rspack, Vite, React, Angular cùng nhiều hệ sinh thái khác
- Có thể cấu trúc các ứng dụng web lớn để nhiều nhóm độc lập cùng phát triển, triển khai và mở rộng
-
Prisma ORM
- Bộ công cụ cơ sở dữ liệu mã nguồn mở cho ứng dụng Node.js và TypeScript
- Cho phép định nghĩa mô hình dữ liệu bằng các object đơn giản mà không cần decorator hay class, đồng thời có tính an toàn kiểu và tính di động cao
- Cung cấp tính năng migration tự động và API truy vấn trực quan
- Phù hợp tốt với cả mô hình lập trình hàm và được tối ưu cho môi trường phát triển TypeScript
Assess (Cần khám phá thêm)
-
.NET Aspire
- Công cụ dựa trên .NET giúp đơn giản hóa việc điều phối ứng dụng phân tán trong môi trường phát triển cục bộ
- Có thể chạy nhiều dự án .NET, cơ sở dữ liệu, container Docker và các thành phần khác chỉ với một lệnh
- Cung cấp các công cụ quan sát chỉ dành cho môi trường cục bộ như logging, tracing, dashboard metric, qua đó cải thiện hiệu quả debug và trải nghiệm lập trình viên
-
Android XR SDK
- Hệ điều hành Android và SDK dành riêng cho tai nghe XR do Google hợp tác với Samsung và Qualcomm phát triển
- Hỗ trợ phần lớn ứng dụng Android chỉ với chỉnh sửa tối thiểu, đồng thời phù hợp cho các ứng dụng điện toán không gian được phát triển mới
- Hiện đang ở trạng thái developer preview và được định vị là SDK tiêu chuẩn cho phát triển ứng dụng không gian
-
Browser Use
- Thư viện Python mã nguồn mở cho phép tác nhân AI dựa trên LLM điều khiển trình duyệt web
- Được xây dựng trên Playwright, có thể tự động hóa điều hướng, nhập liệu, trích xuất văn bản và nhiều tác vụ khác
- Hỗ trợ điều khiển nhiều tab và phối hợp công việc giữa các webapp, nên hữu ích trong quy trình làm việc đa tác nhân
-
CrewAI
- Nền tảng quản lý và điều phối tác nhân, kết hợp nhiều tác nhân để thực hiện các tác vụ phức tạp
- Ngoài thư viện Python, còn có thể tích hợp với các hệ thống bên ngoài như SharePoint, JIRA thông qua phiên bản doanh nghiệp
- Được áp dụng vào các bài toán kinh doanh thực tế như xác minh mã khuyến mãi, điều tra giao dịch thất bại và tự động hóa hỗ trợ khách hàng
- Rất đáng để tìm hiểu nếu bạn quan tâm đến việc xây dựng hệ thống dựa trên tác nhân
-
ElysiaJS
- Framework web TypeScript an toàn kiểu dữ liệu, được tối ưu cho runtime Bun, cho phép thiết kế API theo phong cách RESTful và OpenAPI
- Khác với tRPC, nó không ép buộc cấu trúc API, đồng thời mang lại cả hiệu năng cao lẫn tính an toàn kiểu dữ liệu
- Phù hợp để xây dựng BFF (Backend-for-Frontend) và hướng tới hiệu năng ở mức Java hoặc Go
-
FastGraphRAG
- Triển khai GraphRAG hiệu năng cao, cải thiện độ chính xác và hiệu năng bằng cách chỉ duyệt các nút liên quan thông qua Personalized PageRank
- Cung cấp hỗ trợ trực quan hóa và cập nhật gia tăng, phù hợp với các tập dữ liệu động quy mô lớn
- Là giải pháp GraphRAG có thể đồng thời nâng cao chất lượng phản hồi của LLM và tiết kiệm tài nguyên
-
Gleam
- Ngôn ngữ hàm kiểu tĩnh dựa trên Erlang/OTP, giúp giảm lỗi runtime và nâng cao khả năng bảo trì
- Giữ cú pháp hiện đại và khả năng tương thích với hệ sinh thái BEAM (Erlang, Elixir)
- Phù hợp với các nhóm cần tính an toàn kiểu dữ liệu hơn Erlang truyền thống trong các hệ thống đòi hỏi tính đồng thời cao, ổn định và khả năng mở rộng
Assess (cần khám phá)
-
GoFr
- Framework microservice dựa trên Golang, hỗ trợ sẵn logging, tracing, metrics, quản lý cấu hình, tài liệu Swagger và nhiều thành phần khác
- Bao gồm tích hợp với nhiều cơ sở dữ liệu, pub/sub dựa trên Kafka và NATS, cùng chức năng lên lịch tác vụ cron
- Là công cụ tập trung vào năng suất, giúp giảm công việc lặp lại và cho phép tập trung vào triển khai logic nghiệp vụ
-
Java Post-Quantum Cryptography
- Công nghệ mã hóa nhằm chuẩn bị cho kỷ nguyên máy tính lượng tử, được hỗ trợ ban đầu trong JDK 24 qua JEP 496/497
- Triển khai các thuật toán mật mã dựa trên lattice (KEM, chữ ký số), phù hợp để bảo vệ dữ liệu có yêu cầu bảo mật dài hạn
- Dù
liboqscủa Open Quantum Safe cũng đã tồn tại, việc có triển khai native cho Java vẫn được đánh giá là một bước tiến quan trọng
-
Presidio
- SDK bảo vệ dữ liệu dùng để nhận diện và ẩn danh hóa thông tin nhạy cảm trong văn bản có cấu trúc và phi cấu trúc
- Xác định các mục PII (số thẻ tín dụng, tên, vị trí...) bằng phương pháp dựa trên quy tắc, regex và NER
- Có khả năng tùy biến cao, nhưng không bảo đảm phát hiện hoàn hảo nên cần thận trọng khi diễn giải kết quả
-
PydanticAI
- Framework xây dựng ứng dụng dựa trên LLM và tác nhân do đội ngũ phát triển Pydantic tạo ra
- Hướng đến giảm thiểu độ phức tạp, cung cấp xử lý đầu ra có cấu trúc, tích hợp các API mô hình chủ chốt và workflow dựa trên đồ thị
- Phù hợp với các nhà phát triển muốn tránh trừu tượng hóa quá mức và ưu tiên cấu trúc thực dụng, gọn nhẹ
-
Swift for Resource-Constrained Applications
- Từ Swift 6.0 trở đi, hỗ trợ cho nhiều hệ điều hành được tăng cường, mở rộng khả năng sử dụng trong các môi trường tài nguyên hạn chế
- Cung cấp sự cân bằng giữa hiệu năng và độ ổn định nhờ tính an toàn kiểu dữ liệu mạnh mẽ và quản lý bộ nhớ dựa trên ARC
- Dễ tiếp cận hơn Rust, nhưng vẫn chưa đáp ứng tốt các tiêu chuẩn chứng nhận an toàn như MISRA, nên còn hạn chế trong môi trường yêu cầu độ tin cậy cao
-
Tamagui
- Thư viện UI tối ưu việc chia sẻ style giữa React Web và React Native
- Cung cấp design system và compiler tối ưu hóa; trên web, nó render bằng atomic CSS, còn trên native là các style được hoisted
- Hữu ích khi muốn có style nhất quán và tối ưu hiệu năng trong phát triển UI đa nền tảng
-
torchtune
- Thư viện dựa trên PyTorch dành cho LLM, hỗ trợ post-training, fine-tuning, thử nghiệm suy luận và nhiều tác vụ khác
- Hỗ trợ cả huấn luyện phân tán dựa trên FSDP2 lẫn môi trường GPU đơn hoặc nhiều GPU
- Cho phép thử nghiệm trực quan với recipe dựa trên YAML mà không cần cấu hình phức tạp, đồng thời xử lý thuận tiện việc tải mô hình và chạy thử nghiệm qua CLI
Hold (khuyến nghị tạm hoãn)
- Node overload
- Việc Node.js bị lựa chọn quá mức vẫn là một vấn đề, với nhiều trường hợp được sử dụng mà không cân nhắc các lựa chọn thay thế
- Dù vẫn hiệu quả cho các tác vụ thiên về I/O, nó không phù hợp với các tác vụ đòi hỏi tính toán cao hoặc xử lý dữ liệu nặng
- Khi khối lượng công việc lấy dữ liệu làm trung tâm ngày càng tăng, những giới hạn của Node.js càng trở nên rõ ràng hơn
- Dù có thể hiểu được sự ưa chuộng đối với stack đơn ngôn ngữ, chúng tôi vẫn khuyến nghị cách tiếp cận đa ngôn ngữ (polyglot)
- Trong bối cảnh hiện có nhiều framework thay thế cung cấp API và hiệu năng tốt hơn, việc sử dụng Node.js cần được cân nhắc cẩn trọng
1 bình luận
Thoughtworks Technology Radar, Volume 31
Thoughtworks Technology Radar, Volume 30
Thoughtworks Technology Radar, Volume 29
Thoughtworks Technology Radar, Volume 28
Thoughtworks Technology Radar, Volume 27
Thoughtworks Technology Radar, Volume 26
ThoughtWorks Technology Radar, Volume 23
ThoughtWorks Technology Radar, Volume 22
Tin công nghệ do ThoughtWorks phát hành 6 tháng một lần - Radar Vol.21