
EP207: 12 kho lưu trữ AI GitHub hàng đầu
EP207: Top 12 GitHub AI Repositories
Bài viết này giới thiệu QA Wolf như một công cụ giúp đẩy nhanh chu kỳ kiểm thử chất lượng (QA) một cách đáng kể, thậm chí có thể rút ngắn thời gian xuống chỉ còn vài phút. Đối với các developer, điều này đồng nghĩa với việc có thể tung ra sản phẩm nhanh hơn và bớt thời gian chờ đợi do các khâu kiểm thử gây tắc nghẽn. Việc áp dụng các giải pháp kiểm thử dựa trên AI như QA Wolf là một điểm mấu chốt để nâng cao tốc độ và hiệu quả phát triển.
Các kho lưu trữ này được lựa chọn dựa trên mức độ phổ biến chung của chúng và các ngôi sao GitHub.
Ôn tập thiết kế hệ thống tuần này:
Top 12 Kho lưu trữ AI trên GitHub
Vị trí của các loại kiểm thử khác nhau
Cách hoạt động của Single Sign-On (SSO)
Cách LLM sử dụng AI Agents với Nghiên cứu Chuyên sâu
Cách Hacker Đánh cắp Mật khẩu
Top 12 Kho lưu trữ AI trên GitHub
Các kho lưu trữ này được chọn dựa trên mức độ phổ biến và số sao trên GitHub.
OpenClaw: Tác nhân AI cá nhân luôn bật, hoạt động trên thiết bị của bạn và giao tiếp với bạn qua WhatsApp, Telegram và hơn 50 nền tảng khác.
N8n: Một nền tảng tự động hóa quy trình làm việc trực quan với khả năng AI gốc và hơn 400 tích hợp.
Ollama: Chạy các LLM mạnh mẽ cục bộ trên phần cứng của riêng bạn chỉ bằng một lệnh.
Langflow: Một trình tạo trực quan kéo và thả để thiết kế và triển khai các tác nhân AI và quy trình RAG.
Dify: Một nền tảng toàn diện, sẵn sàng cho sản xuất để xây dựng và triển khai các ứng dụng hỗ trợ bởi AI và quy trình tác nhân.
LangChain: Khung nền tảng cung cấp năng lượng cho hệ sinh thái tác nhân AI với các khối xây dựng mô-đun.
Open WebUI: Một giải pháp thay thế ChatGPT có thể tự host, hoạt động ngoại tuyến
DeepSeek-V3: Một LLM mã nguồn mở có trọng số ngang bằng GPT trên các benchmark và miễn phí sử dụng thương mại.
Gemini CLI: Công cụ mã nguồn mở của Google để tương tác với mô hình Gemini trực tiếp từ terminal của bạn.
RAGFlow: Một công cụ RAG cấp doanh nghiệp, cung cấp câu trả lời AI dựa trên tài liệu thực với tính năng theo dõi trích dẫn.
Claude Code: Một công cụ viết mã tác nhân hiểu toàn bộ cơ sở mã của bạn và thực hiện các tác vụ kỹ thuật từ terminal.
CrewAI: Một framework Python nhẹ để tập hợp các nhóm tác nhân AI đóng vai để cộng tác trong các nhiệm vụ.
Đến lượt bạn: Bạn sẽ thêm kho lưu trữ nào khác vào danh sách?
Nơi các loại bài kiểm tra phù hợp
Viết code thì dễ, nhưng kiểm tra code thì khó.
Hãy cùng xem xét các loại kiểm thử khác nhau phù hợp ở đâu.
Unit + Component Tests: Các bài kiểm thử này kiểm tra các hàm hoặc thành phần UI riêng lẻ một cách biệt lập. Chúng nhanh, rẻ để chạy và dễ bảo trì. Các công cụ như Jest, Vitest, JUnit, pytest, React Testing Library, Cypress, Vue Test Utils và Playwright thường được sử dụng ở đây, và phần lớn phạm vi kiểm thử của bạn nên đến từ lớp này.
Integration Tests: Các bài kiểm thử này xác minh giao tiếp giữa các dịch vụ, API và cơ sở dữ liệu. Testcontainers, Postman, Bruno, Supertest. Các bài kiểm thử đơn vị sẽ không bắt được hợp đồng API bị hỏng, nhưng các bài kiểm thử tích hợp sẽ làm được điều đó.
End-to-End Tests: Các công cụ như Cypress, Playwright, Appium và QA Wolf xác thực các luồng người dùng đầy đủ trên toàn bộ hệ thống. Chúng tốn kém để chạy và bảo trì, đó là lý do tại sao ít bài kiểm thử nằm trong lớp này.
Các công cụ AI đang trở thành một phần của quy trình làm việc kiểm thử. Các công cụ như GitHub Copilot, ChatGPT, Claude, Cursor và Qodo có thể giúp soạn thảo các bài kiểm thử, cập nhật các bộ kiểm thử và phát hiện các lỗ hổng trong phạm vi bao phủ. Chúng xử lý các tác vụ lặp đi lặp lại và cho phép các kỹ sư có nhiều thời gian hơn để tập trung vào các trường hợp biên có thể phát sinh trong môi trường sản xuất.
Đến lượt bạn: Bạn kiểm thử mã của mình như thế nào?
Single Sign-On (SSO) Hoạt Động Như Thế Nào
Single Sign-On (SSO) giúp việc truy cập trở nên dễ dàng. Chỉ cần một lần đăng nhập là bạn có thể truy cập Slack và nhiều công cụ nội bộ khác mà không cần đăng nhập lại.
Nhưng có rất nhiều thứ diễn ra đằng sau một lần đăng nhập duy nhất.
Bước 1: Đăng nhập lần đầu
Người dùng mở một ứng dụng, ví dụ Salesforce.
Thay vì yêu cầu thông tin đăng nhập trực tiếp, Salesforce chuyển hướng trình duyệt đến một Nhà cung cấp danh tính (IdP) như Okta hoặc Auth0. Việc chuyển hướng này thường xảy ra thông qua phản hồi HTTP 302.
Trình duyệt sau đó gửi yêu cầu xác thực đến IdP bằng các giao thức như SAML hoặc OpenID Connect (OIDC).
IdP hiển thị trang đăng nhập. Người dùng nhập thông tin đăng nhập của họ, đôi khi kèm theo MFA.
Sau khi xác minh, IdP tạo một phiên đăng nhập và gửi lại phản hồi xác thực (một chuỗi SAML hoặc ID token) qua trình duyệt.
Trình duyệt chuyển tiếp phản hồi đó trở lại Salesforce.
Salesforce xác thực token và tạo phiên cục bộ của riêng mình, thường được lưu trữ dưới dạng cookie, và cấp quyền truy cập.
Bước 2: Phép màu SSO
Bây giờ người dùng mở một ứng dụng khác, ví dụ Slack.
Slack cũng chuyển hướng trình duyệt đến cùng một nhà cung cấp danh tính. Nhưng IdP kiểm tra và thấy người dùng đã có một phiên hoạt động. Vì vậy, nó bỏ qua hoàn toàn bước đăng nhập và cấp một token xác thực mới.
Trình duyệt chuyển tiếp token đó đến Slack.
Slack xác thực nó, tạo cookie phiên của riêng mình và cấp quyền truy cập.
Ý tưởng cốt lõi đằng sau SSO rất đơn giản. Các ứng dụng không tự xác thực người dùng. Chúng dựa vào một nhà cung cấp danh tính trung tâm để xác minh người dùng và cấp một token mà các hệ thống khác tin cậy.
Đến lượt bạn: Bạn đã sử dụng giải pháp SSO nào, và giải pháp nào là yêu thích của bạn?
Cách LLM Sử dụng AI Agents với Nghiên cứu Chuyên sâu
Khi bạn yêu cầu một LLM như Claude, ChatGPT hoặc Gemini thực hiện nghiên cứu chuyên sâu về một chủ đề phức tạp, đó không chỉ là một mô hình thực hiện tất cả công việc. Đó là một hệ thống phối hợp của các AI agent chuyên biệt.
Cách hoạt động:
Bước 1: Hiểu câu hỏi và Lập kế hoạch
Tất cả bắt đầu với truy vấn, chẳng hạn như "Phân tích bối cảnh cạnh tranh của các tác nhân AI vào năm 2026. Hệ thống không chỉ lao vào một cách mù quáng. Đầu tiên, nó có thể đặt câu hỏi làm rõ để hiểu chính xác những gì cần thiết. Sau đó, nó tạo ra một kế hoạch và chia câu hỏi lớn thành các nhiệm vụ nhỏ hơn và dễ quản lý.
Bước 2: Các tác nhân phụ bắt tay vào làm việc
Mỗi nhiệm vụ nhỏ được giao cho một tác nhân phụ, về cơ bản là một nhân viên AI nhỏ với một công việc cụ thể. Ví dụ, một tác nhân phụ có thể được giao nhiệm vụ tìm kiếm thu nhập mới nhất của Nvidia. Nó xác định các công cụ cần sử dụng, chẳng hạn như tìm kiếm trên web, duyệt một trang cụ thể hoặc thậm chí chạy mã để phân tích dữ liệu. Tất cả điều này diễn ra thông qua một lớp API và dịch vụ bảo mật kết nối AI với thế giới bên ngoài.
Bước 3: Tổng hợp mọi thứ
Sau khi tất cả các tác nhân phụ hoàn thành nhiệm vụ của họ, một tác nhân Tổng hợp sẽ tiếp quản. Nó tổng hợp mọi thứ, xác định các chủ đề chính, lập dàn ý và loại bỏ bất kỳ thông tin dư thừa hoặc trùng lặp nào. Đồng thời, một tác nhân Trích dẫn đảm bảo mọi tuyên bố đều được liên kết trở lại nguồn của nó và được định dạng đúng. Kết quả cuối cùng là một đầu ra cuối cùng được trau chuốt, có trích dẫn đầy đủ, sẵn sàng để sử dụng.
Đến lượt bạn: Bạn đã thử nghiên cứu sâu về bất kỳ LLM nào chưa?
Cách hacker đánh cắp mật khẩu
Hầu hết các cuộc tấn công mật khẩu không liên quan đến việc hack tinh vi. Chúng dựa vào tự động hóa, thông tin đăng nhập được sử dụng lại và hành vi dự đoán được của con người.
Dưới đây là sáu kỹ thuật phổ biến:
Tấn công Brute-force: Các công cụ tự động lặp đi lặp lại các tổ hợp mật khẩu với tốc độ cao cho đến khi tìm được một mật khẩu hợp lệ. Không có logic nào được áp dụng, chỉ là sự lặp lại.
Tấn công từ điển: Thay vì đoán ngẫu nhiên, kẻ tấn công sử dụng danh sách từ được tuyển chọn, được xây dựng từ các mật khẩu phổ biến, dữ liệu bị rò rỉ và các mẫu có thể dự đoán được.
Credential stuffing: Khi một trang web bị xâm nhập, kẻ tấn công sẽ tái sử dụng các cặp tên người dùng-mật khẩu bị đánh cắp đó trên nhiều dịch vụ khác. Điều này hoạt động bởi vì một phần lớn người dùng tái sử dụng mật khẩu trên nhiều tài khoản.
Password spraying: Một mật khẩu phổ biến được thử trên nhiều tài khoản trong cùng một tổ chức. Việc phân tán các lần thử trên nhiều tài khoản giúp tránh kích hoạt ngưỡng khóa tài khoản.
Phishing: Nạn nhân truy cập vào một trang đăng nhập giả mạo và nhập thông tin đăng nhập. Kẻ tấn công thu thập chúng trong thời gian thực. Không cần phần mềm độc hại.
Keylogger malware: Phần mềm độc hại ghi lại các lần nhấn phím và gửi chúng cho kẻ tấn công. Mật khẩu, tên người dùng và bất kỳ thông tin nào khác được gõ trên thiết bị đều bị thu thập.
Đến lượt bạn: Bạn đã thấy cuộc tấn công nào thường xuyên nhất?
Tác giả: ByteByteGo




