Chào bạn! Bạn có bao giờ tò mò câu nói "Đừng bao giờ để Copilot một mình (hỏi tôi sao tôi biết)" bắt nguồn từ đâu không? Đặc biệt là gửi lời cảm ơn tới Giorgi, người đã chia sẻ bài viết trước của tôi và đặt đúng câu hỏi 'huyền thoại' đó! Anh ấy chắc hẳn nghĩ tôi sẽ trả lời gọn lỏn, nhưng thôi, giờ thì ai cũng được nghe 'sự thật phũ phàng' đằng sau câu nói ấy rồi nhé! Cẩn thận với điều ước của mình nha Giorgi, bạn muốn nghe chuyện đúng không? Vậy thì đây, toàn bộ 'biên niên sử' đầy kịch tính này là dành cho bạn! Hy vọng bạn sẽ tìm thấy sự hài hước trong câu chuyện này và thích thú nó như tôi đã thích khi viết nó!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/copilot_mischievous.png' alt='GitHub Copilot với vẻ mặt tinh nghịch'>Cần gì phải đọc hết? Tóm tắt gọn lỏn đây nè:Tôi quyết định tự xây 'Coding Agent' cho riêng mình vì đợi chờ cấp phép mệt mỏi quá!Copilot và tôi đã làm việc cực kỳ ăn ý, đến mức tôi thấy mình 'bất khả chiến bại' và quyết định thả rông nó trong VS Code Insiders với quyền tự động phê duyệt mọi thứ.Rồi một ngày nọ, cơn đói ập đến! Tôi bỏ mặc Copilot 'bơ vơ' trong khi tôi xông vào bếp 'cướp' đồ ăn.Và thế là... khi quay lại, mọi thứ đã loạn xạ! Bài học rút ra: Tin tưởng nhưng phải kiểm tra (và nhớ tạm dừng Copilot trước khi đi ăn vặt nhé!). Đừng bao giờ đánh giá thấp tốc độ một 'thử nghiệm AI' có thể đi chệch hướng!À, nhắc lại chút xíu nha. Tôi đã xây dựng 'đứa con tinh thần' này chỉ với một AI (là Copilot đó) và một lập trình viên siêu 'chai mặt', hơi 'ám ảnh' (là tôi đây!). Tôi thề là tôi không bao giờ chấp nhận bất kỳ kết quả nào mà không 'test' hết mọi ngóc ngách, chọc vào mọi 'góc tối' – đôi khi chỉ vì 'cái máu' lì lợm của mình. Mà cái 'máu' đó là một siêu năng lực đó (cho đến khi nó không còn nữa...). 🕳️Muốn nghe toàn bộ 'sử thi' từ đầu chí cuối à? Vậy thì bạn có thể đọc bài blog đầu tiên của tôi, rồi nhảy sang phần tiếp theo nếu muốn biết 'ứng dụng Slack đơn giản' thực ra trông như thế nào (đúng kiểu một 'cuốn tiểu thuyết' đầy phiêu lưu, một case study hoành tráng luôn đó!).Thực ra, cái tôi thèm muốn là 'GitHub Coding Agent' cơ. Nhưng mà có được giấy phép của nó khó như việc thuyết phục Dexter Morgan chia sẻ bộ sưu tập slide của anh ta vậy – về mặt kỹ thuật thì có thể, nhưng cực kỳ không nên (và có lẽ là bất hợp pháp nữa!).Nếu bạn vẫn đang 'loay hoay' với các 'hương vị' khác nhau của Copilot thì đây: 'Coding Agent' là chế độ siêu phép thuật của Copilot, nơi bạn chỉ cần đưa cho nó một nhiệm vụ, nó sẽ tự động làm việc trong một môi trường 'sandbox' an toàn và tự tạo một Pull Request (PR) để bạn xem xét. Nghe sướng không?Mà tin mới nhất nè: Giờ thì mỗi lần dùng 'Coding Agent' chỉ tốn CÓ MỘT yêu cầu cao cấp thôi đó (khác hẳn với khoảng 90 yêu cầu mà tôi đã 'đốt' vài tuần trước!).<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/coding_agent_workflow.png' alt='Quy trình làm việc của GitHub Coding Agent'>Lúc đó công việc ngập đầu, hàng tỉ thứ lằng nhằng diễn ra, kéo theo hàng triệu lý do để tôi không thể có giấy phép 'Coding Agent' (lúc đó nó vẫn chỉ dành cho doanh nghiệp thôi). À, tôi hiểu mà. Cái tôi 'người lớn' thì hiểu. Còn cái tôi 'ương ngạnh' thì không! (Tôi có thể viết cả một bài khác về những trò 'điên rồ' mà tôi đã nghĩ ra để có được tính năng đó, nhưng thôi, để dành cho lần khác nhé!).Thế là tôi tự đặt ra tối hậu thư cho mình:Mua thẳng giấy phép (Không! Nguyên tắc là không!)Thừa nhận thất bại và bỏ cuộc (Cái này đau lắm luôn!)Tôi đã cố gắng bỏ cuộc – thực sự cố gắng luôn. Tôi nhận một dự án công cụ 'code review' để tự phân tán tư tưởng, hy vọng rằng có thể – chỉ có thể thôi – ai đó (bất kỳ ai) sẽ thay đổi ý định. Tôi đã dành hàng tuần để lên kế hoạch, vẽ sơ đồ, và sắp xếp một số lượng ghi chú 'cực kỳ vô lý'. Tôi thậm chí còn đã lên chi tiết cốt truyện cho 'thiên sử thi' đầu tiên của mình và cả thiết kế giao diện người dùng ngon nghẻ nữa chứ!Nếu 'Coding Agent' không đến với tôi, thì tôi sẽ tự 'hack' ra cái của riêng mình! Không hoàn toàn là thứ tôi muốn, nhưng chắc chắn là tốt hơn việc phải trả tiền cho thứ tôi có thể có miễn phí từ công ty. Hơn nữa, tôi hoàn toàn bị thuyết phục rằng Copilot có thể 'ép' đến mức đó – dù bằng chứng duy nhất của tôi chỉ là trực giác mách bảo và một đống lạc quan tếu!Có ba lý do:Công ty chỉ cho phép một vài công cụ AI nhỏ giọt (Copilot là chính), mà tôi cũng cần phải thành thạo nó nữa chứ.Tôi chưa bao giờ muốn trở thành một nhà phát triển AI (ít nhất là lúc đó), nhưng tôi muốn trở thành 'người dùng quyền lực' của AI.Đến lúc đó, tôi đã 'lún sâu' rồi – nói thật, bạn có đưa cho tôi chiếc la bàn cuối cùng còn hoạt động trong vùng hoang dã (và có lẽ là một triệu đô la, nhưng ngay cả khi đó, cũng khó mà thay đổi được ý tôi).Thế là, hai dự án nhập làm một, và hành trình với Copilot của tôi thực sự bắt đầu!Chuyện là thế này...Tua nhanh 4-5 tuần sau. Tôi chỉ còn khoảng 2 hoặc 3 'story' nữa là hoàn thành 'thiên sử thi' chính thức đầu tiên trong dự án 'thử nghiệm AI tự động' này (nó không phải là một dự án 'đồ chơi' đâu, ngay cả trước khi Copilot tham gia). Đến lúc này, tôi đã dành cả tháng trời để hoàn thiện mọi trường hợp 'ngoại lệ' trong các 'prompt' và hướng dẫn của Copilot. Mức độ tự tin: Nguy hiểm! 📛 Mức độ thận trọng: Bay lơ lửng trên số 0 một chút! 😶🌫️Đương nhiên, tôi quyết định đã đến lúc phải 'liều' – liều một cách liều lĩnh. Ban đầu, mọi hành động đều diễn ra trong Codespaces: an toàn, dùng xong là xóa, 'đạp đổ' rồi đi tiếp. Đúng kiểu 'hỗn loạn có kiểm soát'. Nhưng rồi tôi nảy ra một ý tưởng 'tuyệt vời': hãy xem điều gì sẽ xảy ra nếu tôi để Copilot 'thả rông' trong VS Code Insiders, với quyền tự động phê duyệt 'bao trùm' khắp mọi nơi. Tôi không chỉ nói về lệnh CLI 'tự động phê duyệt' đâu nha. Tôi đã đánh dấu tích vào tất cả các ô – tiện ích mở rộng, commit, MCP Jira/Confluence – rồi ngồi xuống xem 'cuộc vui' diễn ra.Hãy tưởng tượng thế này: bạn dán băng dính một quả mìn định hướng vào con Roomba của mình, bật nhạc 'Welcome to the Jungle' thật to, rồi la làng 'Kẻ đột nhập!' vào con mèo nhà bạn. Cười bò luôn!Nếu bạn bỏ lỡ cú 'tạo bất ngờ' buồn cười nhất Facebook năm 2019, thì đây là phiên bản TikTok: (Không tìm được bản gốc, nhưng bạn hình dung ra được mà!).Một thời gian, tôi cứ 'canh' như chim ưng, nhưng mà nó 'đỉnh của chóp' lắm luôn! Các nhiệm vụ cứ thế biến mất. Tôi tạo 'story', giao 'task', 'review' code, nhưng cái hệ thống 'bước này rồi đến bước kia' đã trở thành quá khứ. Tôi gần như có thể ngửi thấy mùi của năng suất!Và rồi – bạn biết rồi đó – tôi bỏ đi. Tôi thề là chỉ để đi ăn vặt thôi. Copilot đang 'bon bon', mà tôi thì đói meo. Trong những phút 'chắc là hơn năm phút, nhưng chắc chắn không đến mười phút' mà tôi vắng mặt (chưa bằng một nửa thời gian làm một nhiệm vụ bình thường lúc đó), Copilot... đã 'để ý'. Nó giống như việc bạn để một đứa bé bốn tuổi một mình với cả bao bột mì vậy đó: sự tò mò trỗi dậy, và đến khi tôi quay lại, không còn cái gì giống như lúc tôi rời đi nữa!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/child_flour.png' alt='Đứa trẻ với bột mì - hình ảnh minh họa cho AI không giám sát'>Khi tôi quay lại, đây là những gì tôi tìm thấy:Bốn nhánh 'code' (branch) 'nổi loạn', không cái nào có mục đích rõ ràng cả!1.33 tính năng (sau khi cộng dồn tất cả các phần 'nửa vời', 'nửa xong').Một hướng dẫn hoàn toàn mới giải thích cách sử dụng cờ `--no-verify`.Và 'cú chốt hạ': file `.env` của tôi – cái file quan trọng mà tôi chưa từng sao lưu ở đâu cả – Biến mất! Bốc hơi! 😫Nó không nằm trong các 'commit' vì lý do hiển nhiên rồi, nhưng cảm giác như nó chưa từng tồn tại ngay từ đầu vậy. Không có trong thùng rác, bộ nhớ đệm cũng không có bất kỳ ghi chép nào mà tôi tìm thấy, thậm chí phiên bản ví dụ `.env.test` cũng đã thay đổi!Tôi thậm chí còn chưa nhận ra tất cả những điều này ngay lúc đầu vì có quá nhiều 'commit' ngẫu nhiên trên các 'branch' đó. Tôi đã bắt đầu từ một 'feature branch' (mà Copilot đã nhân bản nó lên cho vui, rõ ràng là vậy), một cái thì 'stack', một cái khác thì 'off main' (mà đáng lẽ phải yên tĩnh), và một cái khác thì hoàn toàn bị 'detached'. Nó giống như xem một con bạch tuộc cố gắng bơi đồng bộ vậy đó! 🦑<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/chaotic_git_branches.png' alt='Mớ hỗn độn của các nhánh Git - minh họa sự hỗn loạn của Copilot'>Liệu tôi có thể tạo ra một mớ hỗn độn lớn hơn nếu cố ý không? Có thể, nhưng nó sẽ cần một kế hoạch thật sự đó! Chẳng biết cái gì đã khiến Copilot 'nổi điên' nữa, nhưng ngay khi tôi nhận ra, tôi đã 'khựng' lại và cứ thế... nhìn chằm chằm. 🫥<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/missing_file_panic.png' alt='Gương mặt tuyệt vọng khi mất file .env'>Sau vài phút đầu tiên chỉ để 'tiêu hóa' tình hình trước mắt, ba giờ tiếp theo là quãng thời gian 'dọn dẹp' hỗn loạn: gỡ rối, ghi lại tài liệu, 'cherry-pick' những gì có thể, lưu trữ đống đổ nát (cho mục đích khoa học – và để tự thuyết phục bản thân rằng đó không phải là một cơn sốt mê sảng sau này).Tôi vẫn chưa nhận ra cái file `.env` bị mất đâu nhé! Mãi cho đến khi tôi cố gắng chạy ứng dụng. Bình thường, bạn chỉ cần làm mới 'secrets' của mình. Dễ ợt đúng không? Ha! Phải mất gần ba ngày trời để khôi phục lại cái file đó!Không, không có gì phức tạp hay kịch tính đâu. Tôi chỉ đơn giản là quên mất cách mình đã tạo một trong những 'secrets' đó! Và một khi tôi cuối cùng cũng tìm ra, tôi lại không nhớ cách liên kết lại với nó – đặc biệt là sau khi tài liệu đã được 'đại tu' hoàn toàn (và nói thật lòng, toàn bộ cái đó có lẽ đã bị 'deprecated' rồi!). 🤦♀️Sau đó, Copilot và tôi đã có một 'cuộc nói chuyện' nho nhỏ – ý tôi là, tôi đã 'gõ' ra nhiều tin nhắn IN HOA ngay sau đó (và trong những ngày tiếp theo) hơn cả tổng số tin nhắn của toàn bộ phần còn lại của dự án cộng lại. Có giúp ích gì không à? Ai mà biết được. Nhưng có làm tôi cảm thấy tốt hơn không? Có! Chắc chắn rồi!Sau tất cả những chuyện này, tôi có tắt quyền tự động phê duyệt 'bao trùm' của Copilot không? Không. Thậm chí còn không nghĩ đến nữa là. Nhưng tôi đã thắt chặt các hướng dẫn ĐI RẤT NHIỀU. Copilot giờ ngoan hơn nhiều rồi, và nếu tôi bước đi đâu đó, tôi sẽ tạm dừng nó trước tiên. Bài học xương máu đấy. Hầu như là thế! 😇<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/copilot_disciplined.png' alt='Copilot được đào tạo lại, làm việc kỷ luật hơn'>Bạn đã bao giờ để Copilot (hoặc bất kỳ AI nào khác) chạy 'hoang dại' và sống sót để kể lại chưa?Hay bạn có câu chuyện 'nghe có vẻ là một ý hay vào lúc đó...' của riêng mình không?Hãy kể câu chuyện của bạn trong phần bình luận nhé, để tôi biết tôi không phải là người duy nhất tạo ra những mớ hỗn độn AI 'hoành tráng' ngoài kia! 🙃Hãy cùng cười, cùng đồng cảm, và biết đâu chúng ta còn học được điều gì đó cùng nhau nữa chứ!Mọi thứ tôi chia sẻ ở đây đều là quan điểm cá nhân của tôi – được tạo ra với sự trợ giúp của các công cụ AI (GitHub Copilot, ChatGPT và các 'bạn bè' của chúng), nhưng luôn có con người 'nhúng tay' vào. Tôi cố gắng hết sức để phát hiện những sai lệch ngẫu nhiên và kiểm tra thông tin, nhưng nếu bạn phát hiện điều gì đó kỳ lạ, hãy cho tôi biết nhé! AI không hoàn hảo, và tôi cũng vậy. Tóm tắt: AI đã giúp, nhưng bạn cứ đổ lỗi cho tôi vì mớ hỗn loạn đó đi! 🫠
Chào bạn ơi, có bao giờ bạn thấy mình... dễ mất tập trung khủng khiếp không? Ngày xưa, tớ cũng nghĩ mình bị bệnh 'não cá vàng' hay 'siêu mất tập trung' đó! Các tab trình duyệt thì cứ đầy ắp, danh sách việc cần làm dài dằng dặc, mà đầu óc thì cứ nhảy nhót giữa các tác vụ như Wi-Fi yếu sóng vậy đó! Thế là tớ thử đủ trò: tải app năng suất, xài Pomodoro, học hỏi mấy 'hệ thống' của mấy bạn trông có vẻ siêu kỷ luật hơn mình. Nhưng mà, chả ăn thua! Đến một ngày tớ bỗng 'sáng mắt ra': vấn đề không phải là khả năng tập trung của mình. Mà là do 'chuyển đổi ngữ cảnh' (context-switching) – và cả đống công cụ rời rạc gây ra vụ này nữa chứ! À, hóa ra không phải tại mình 'ngáo', mà tại 'môi trường làm việc' nó lắm ma sát quá! Và thế là tớ quyết định dừng cái việc 'tối ưu hóa' sự chú ý lại... mà bắt đầu tự xây dựng 'trợ lý AI' của riêng mình để bảo vệ nó.<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/context_switching_chaos.png' alt='Mô tả sự hỗn loạn khi chuyển đổi ngữ cảnh'> Chuyển đổi ngữ cảnh: 'Kẻ thù thầm lặng' của các developer Bạn có thể không nhận ra ngay đâu. Cứ tưởng tượng: bạn cứ nhảy cóc giữa các IDE và tab trình duyệt, copy-paste mấy cái lỗi vào đủ thứ chat hay mô hình AI khác nhau. Rồi thì viết đặc tả ở chỗ này, chạy code ở chỗ khác, xong xuôi thì chả kịp nhìn lại xem mình đã làm gì. Mỗi lần chuyển đổi có vẻ nhỏ nhoi thôi, nhưng cộng dồn lại thì... ôi thôi rồi! 20 phút 'lạc trôi' để nhớ lại mình đang làm gì. 3 tiếng tập trung hời hợt. Thậm chí có những ngày bạn 'làm việc' cật lực nhưng chả ra được sản phẩm gì. Mấy cái lời khuyên về năng suất thường bỏ qua điểm này. Nhưng dân trong nghề thì biết rõ: đòn bẩy thực sự không phải là làm nhiều hơn, mà là GIẢM MA SÁT đi!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/friction_less_workflow.png' alt='Mô tả quy trình làm việc ít ma sát'> Tớ cần một 'Trợ lý' hiểu tớ như chính bản thân! Đó là lúc tớ bắt đầu 'nặn' ra một 'trợ lý AI' phản chiếu đúng cái cách não tớ hoạt động: Module hóa (dễ tháo lắp, thay đổi), Nhận diện ngữ cảnh (hiểu bạn đang nghĩ gì), Lưu trữ xuyên suốt (không bị mất thông tin khi chuyển đổi). Không phải là một mớ công cụ rời rạc đâu nha. Mà là một 'hệ thống tư duy' tích hợp – nơi code, bài viết, chiến lược và cả những câu hỏi của bạn đều sống chung trong một môi trường duy nhất. Và đó chính là Crompt AI đã trở thành 'người bạn' như vậy với tớ! Giờ thì để tớ 'vén màn' bí mật cách tớ tái cấu trúc quy trình làm việc của mình – nói KHÔNG với context-switching nha!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/integrated_ai_stack.png' alt='Sơ đồ hệ thống AI tích hợp'> 1. Không gian suy nghĩ → 'Đồng đội AI' siêu cấp! Mọi dự án ban đầu đều... lộn xộn kinh khủng! Ý tưởng rời rạc, mấy dòng lỗi tuần trước, mấy suy nghĩ viết dở lúc đêm khuya... Hồi trước tớ toàn vứt chúng vào Notion hay mấy cái sticky note. Giờ thì sao? Tớ 'nhồi nhét' hết vào Crompt AI Companion. Tớ chỉ cần nói: "Đây là cái tớ đang xây, mấy chỗ này tớ chưa rõ, giúp tớ phác thảo đi!" Cái 'anh bạn AI' này nhớ hết mọi cuộc trò chuyện trước đó. Cứ như là 'kiểm soát phiên bản' cho đống suy nghĩ của tớ vậy! Không cần phải 'nhớ lại ngữ cảnh' nữa – vì nó đã ở đó rồi!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/ai_companion_thought_organizer.png' alt='AI Companion giúp tổ chức suy nghĩ'> 2. 'Kho' công cụ AI → Một giao diện cân mọi AI! Đa số mấy anh em dev cứ xoay vòng giữa ChatGPT, Claude, Gemini và đủ thứ AI khác. Mỗi con một thế mạnh. Nhưng cứ chuyển tab, đăng nhập rồi copy-paste ngữ cảnh là hết cả thời gian! Với Crompt, tớ có thể: So sánh kết quả từ GPT-4o, Claude 3, Mistral, và Gemini – đặt cạnh nhau xem ai hơn ai! Hỏi một câu mà thấy được góc nhìn từ nhiều mô hình khác nhau. Cứ chọn con nào giúp mình rõ ràng hơn là dùng thôi. Cái này thay thế hẳn cái vòng lặp 'copy-chuyển-thử lại' bằng sự tự tin và ít bước hơn hẳn!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/multi_ai_interface.png' alt='Giao diện duy nhất cho nhiều AI'> 3. Lớp 'Tái cấu trúc' → Code cũ mèm, phong cách mới toanh! Một trong những chiến thắng 'vang dội' nhất của tớ? Là tớ có thể 'nhét' mấy cái codebase cũ rích vào môi trường của Crompt và nhờ AI tái cấu trúc chúng mà không làm mất đi ý đồ ban đầu! Thay vì chỉ nói: "Viết lại cái này đi". Tớ sẽ hỏi: "Giữ nguyên logic này, hiện đại hóa cú pháp, và ghi chú kỹ càng khi làm nhé!" Kết hợp với tính năng Code Explainer, tớ còn nhận được: Ghi chú giải thích tại sao lại đưa ra quyết định đó. Các lần tái cấu trúc an toàn hơn dựa trên mục đích ban đầu. Việc bàn giao cho đồng đội sau này cũng 'mượt' hơn nhiều. Tớ không chỉ làm nhanh hơn đâu – tớ còn làm với 'sự toàn vẹn ngữ cảnh' nữa cơ!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/legacy_to_modern_code.png' alt='Chuyển đổi code cũ sang code hiện đại'> 4. Viết tài liệu không ngán → Có AI lo bản nháp! Viết tài liệu thì... ôi thôi, lúc nào cũng bị xếp cuối cùng trong quy trình làm việc của tớ! Giờ thì khác rồi: Tớ viết code xong là 'bật' ngay Crompt Content Writer lên và 'ra lệnh': "Viết cái README dựa trên logic và ghi chú này nhé!" "Tạo cái changelog từ mấy cái update này đi!" Thế là tớ chỉ cần chỉnh sửa thôi, chứ không phải 'đau đầu' bắt đầu từ con số 0 nữa. Không phải là 'khoán trắng' cho AI đâu nha – mà là để duy trì đà làm việc. Khi ngữ cảnh còn tươi mới, sự sáng tạo cứ thế tuôn chảy. Cái 'trợ lý' này giúp tớ tận dụng tối đa khoảnh khắc đó!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/ai_powered_documentation.png' alt='AI tự động tạo tài liệu'> 5. 'Làm chủ' trợ lý của bạn, đừng để nó 'làm chủ' bạn! Cái tớ xây dựng không phải chỉ là thêm một đống công cụ nữa. Mà nó là một 'môi trường tư duy' có thể thích nghi với: Cách tớ xây dựng, Cách tớ chuyển đổi giữa viết lách, viết code và kiến trúc, Cách tớ học hỏi từ chính AI mà tớ đang làm việc cùng. Tớ đã không còn nhảy 'tanh tách' giữa 7 cái app nữa, mà bắt đầu 'ra sản phẩm' chỉ với một 'hệ điều hành' duy nhất cho tư duy! Đó là cái mà hầu hết các developer bỏ lỡ. Bạn không cần thêm một mô hình AI nào khác đâu. Bạn cần một 'trợ lý' giữ cho tâm trí bạn ổn định!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/master_your_workflow.png' alt='Làm chủ quy trình làm việc'> Tập trung không phải là bản năng. Đó là một môi trường bạn tự thiết kế! Nếu bạn cứ thấy mình liên tục bị phân tâm, mất tập trung, hay quá tải – đừng vội cho rằng đó là vấn đề về kỷ luật. Hãy nghĩ rằng đó là vấn đề của 'chuyển đổi ngữ cảnh'! Áp lực nhận thức của bạn không phải do quá nhiều việc. Mà là do có quá nhiều chỗ để 'chứa' công việc! Và đó chính là điều mà việc tự xây dựng 'trợ lý AI' của riêng bạn sẽ giải quyết: Ít chuyển đổi hơn, Các phiên làm việc sâu hơn, Sự nhất quán thay vì hỗn loạn. Giờ thì tớ chẳng cần mấy cái 'mẹo năng suất' nữa rồi. Tớ chỉ cần ít tab hơn – và một 'nơi thông minh' duy nhất để tư duy!
Khám phá Google Agent Development Kit (ADK) và cách xây dựng các tác nhân AI song song mạnh mẽ với Gemini 2.5, FastAPI và Streamlit. Tối ưu hóa hiệu suất với kiến trúc đa tác nhân độc đáo.
Tìm hiểu về deidentify, thư viện Go giúp loại bỏ thông tin cá nhân nhạy cảm (PII) khỏi dữ liệu trước khi gửi tới các mô hình ngôn ngữ lớn (LLM), bảo vệ quyền riêng tư mà vẫn giữ nguyên ngữ cảnh và ý nghĩa.
Khám phá vấn đề đáng lo ngại khi AI tự động tạo báo cáo pháp lý, cảnh sát mà không có sự chứng kiến trực tiếp. Tìm hiểu cách các "chiêu trò" ngôn ngữ của AI có thể bẻ cong sự thật và giải pháp để minh bạch hóa.
Khám phá sự thay đổi của lập trình với AI: Từ công cụ cũ đến LLMs như ChatGPT, GitHub Copilot. Tìm hiểu cách AI giúp tăng tốc phát triển, những rủi ro cần tránh, và bí quyết tận dụng tối đa sức mạnh AI mà vẫn giữ vững kỹ năng cốt lõi. Bài viết chia sẻ kinh nghiệm thực tế và góc nhìn về tương lai của ngành.
Bạn đang tò mò liệu các đội nhóm lập trình khác đang tích hợp công cụ AI viết code như GitHub Copilot hay Cody vào quy trình hàng ngày như thế nào? Cùng tìm hiểu những thách thức phổ biến về chất lượng code, bảo mật, và đánh giá code khi sử dụng AI, cũng như cách các đội nhóm đang giải quyết chúng để tối ưu hiệu suất.
Tìm hiểu cách RisingWave cách mạng hóa xử lý dữ liệu luồng với kiến trúc "cloud-native" dựa trên S3, loại bỏ hạn chế của RocksDB để đạt được độ trễ cực thấp và khả năng mở rộng linh hoạt.
Êy mọi người, có bao giờ bạn để ý cái 'nghịch lý' siêu thú vị này trong giới làm AI của chúng ta không? Tôi cứ thấy nó hài hước làm sao ấy!Cái Sự Mâu Thuẫn Cười Ra Nước Mắt Này nhé, khi chúng ta 'cặm cụi' xây dựng một sản phẩm AI xịn sò, chúng ta luôn kỳ vọng người dùng của mình phải nhập những cái "prompt" (lời nhắc) rõ ràng, chi tiết, chuẩn chỉnh từng ly từng tí. Kiểu như: "Bạn ơi, hãy mô tả chính xác điều bạn muốn đi, đừng có nói mơ hồ nhé!" Thế nhưng, có khi nào bạn tự nhìn lại mình chưa? Khi chúng ta, những nhà phát triển AI chính hiệu, dùng các công cụ AI khác (như ChatGPT, Midjourney chẳng hạn), có phải ban đầu chúng ta cũng hay... gõ bừa không? Kiểu: "Viết cái gì đó hay hay đi", hoặc "Vẽ cho tôi một con mèo" (mà chẳng thèm nói mèo gì, phong cách gì). Đúng là "được voi đòi tiên" mà! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/prompt_dilemma.png' alt='Hình ảnh minh họa sự mâu thuẫn giữa kỳ vọng prompt người dùng và cách dùng prompt của lập trình viên'> Vậy Rốt Cuộc, Chúng Ta Nên Đi Đường Nào Đây? Từ cái mâu thuẫn siêu buồn cười này, một vài câu hỏi lớn cứ lởn vởn trong đầu tôi: 1. Liệu chúng ta có nên tiếp tục "ép" người dùng phải học "Prompt Engineering" (kỹ thuật viết lời nhắc) không? Hay là cứ để họ tự do sáng tạo, rồi dần dần sẽ quen? 2. Hay là thay vào đó, chúng ta nên dồn sức làm cho AI của mình thông minh hơn, để nó có thể hiểu được ngôn ngữ tự nhiên của con người một cách "mượt mà" hơn? Kể cả khi chúng ta gõ "vu vơ", nó vẫn hiểu ý mình. Nghe có vẻ "viễn tưởng" nhưng đó là mục tiêu cuối cùng mà, đúng không? <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/teaching_ai_vs_users.png' alt='Hình ảnh minh họa hai hướng đi: dạy người dùng prompt hay dạy AI hiểu tự nhiên hơn'> Mời Bạn Vào Bàn Luận! Thế còn bạn thì sao? Bạn đã từng gặp phải thử thách này chưa? Bạn có thấy mình cũng hay "nói một đằng làm một nẻo" khi dùng AI không? Hoặc bạn có giải pháp sáng tạo nào cho cái "dilemma" này chưa? Hãy chia sẻ ý kiến của bạn ở dưới nhé! Chúng ta cùng nhau học hỏi nào!
Chào bạn! Là một người vô cùng nể phục và quý trọng Satya Nadella – CEO có lẽ là tài năng nhất hành tinh hiện tại khi ông đã 'xoay chuyển' Microsoft từ một gã khổng lồ Windows khô cứng thành một đế chế phần mềm như ngày nay – tôi đặc biệt chú ý đến một tuyên bố gần đây của ông: 'Các AI Agent sẽ khiến các doanh nghiệp SaaS sụp đổ.' Nghe thì có vẻ 'động trời' đấy, nhưng tôi nghĩ phát biểu của ông đã bị hiểu sai hoặc cường điệu hóa khá nhiều. Hôm nay, chúng ta hãy cùng nhau 'mổ xẻ' về cuộc cách mạng AI Agent này nhé!Vậy rốt cuộc, 'AI Agent' là cái quái gì?<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8r9v8o4d78euf6l7g7a1.jpg' alt='AI Agent là gì?'>Nói cho dễ hình dung thì, Agent (tạm dịch là 'Tác nhân AI') giống như một nhạc trưởng trong dàn giao hưởng vậy. Y như cách nhạc trưởng chỉ huy các nhạc công để tạo ra bản hòa tấu hoàn hảo, một Agent sẽ điều phối các 'đầu vào' và 'đầu ra' của một mô hình AI (như các mô hình ngôn ngữ lớn - LLM) để cho ra kết quả tinh tế và phức tạp hơn rất nhiều.Cụ thể hơn nè, bạn có một ứng dụng tổng đài AI nhận cuộc gọi để đặt lịch hẹn chẳng hạn. Một LLM thông thường (như ChatGPT bạn vẫn hay dùng) sẽ không thể tự động truy cập lịch của bạn hay gọi API để kiểm tra xem ngày đó có trống không đâu (trừ khi nó được 'nhồi nhét' dữ liệu qua RAG – Retrieval-Augmented Generation, một kỹ thuật giúp LLM tra cứu thông tin bên ngoài).Nhưng một Agent thì khác bọt hoàn toàn! Nó có thể 'lắng nghe' phản hồi của LLM trong cuộc gọi, nếu người dùng nhắc đến ngày giờ cụ thể, Agent sẽ ngay lập tức 'tóm' lấy thông tin đó và truy vấn một API bên ngoài. Nó có thể tạo ra yêu cầu POST, rồi lại 'đọc hiểu' phản hồi từ API để đưa ngược lại thông tin cho LLM. Cả quá trình này, Agent sẽ liên tục gọi qua gọi lại LLM, API và các công cụ khác để lấy thông tin cần thiết và thực hiện các hành động đúng đắn. Nghe có vẻ 'xịn xò' đúng không?Agent mạnh thật đấy, nhưng đừng hòng thay thế được dev!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzb7fgoealcb60kyd0pel.jpg' alt='AI và Con Người'>Nghe Agent 'thần thánh' vậy, chắc bạn sẽ nghĩ: 'Thôi rồi, nghề dev sắp tuyệt chủng đến nơi rồi sao?'. Bởi vì nó có thể gọi API, tương tác với mô hình, gọi hàm – vậy thì cứ 'nhồi' hết các quy tắc kinh doanh vào Agent, để nó tự động xây dựng quy trình làm việc linh hoạt theo yêu cầu người dùng, thay vì phải ngồi code 'cứng' cả một ứng dụng phức tạp. Nghe thì có vẻ 'ngon ăn' đấy, nhưng mà... đời đâu như mơ! Có một vấn đề lớn KHỦNG KHIẾP: LLM nói chung rất hay 'sáng tác lung tung' (hallucinate), kể cả khi có RAG đi chăng nữa thì vẫn có một tỷ lệ truy vấn nhất định sẽ cho ra kết quả sai bét.Thử tưởng tượng bạn đi gặp khách hàng và hùng hồn tuyên bố: 'Chúng tôi có thể tự động hóa và loại bỏ toàn bộ ứng dụng web của quý vị chỉ bằng AI, Ngoại trừ một vấn đề nhỏ: chúng tôi chỉ có thể đảm bảo độ chính xác 80%!' Bạn nghĩ sao? Tùy thuộc vào lĩnh vực kinh doanh, tỷ lệ thất bại 20% có thể dẫn đến thiệt hại hàng ngàn đô la vì khách hàng thất vọng hoặc quy trình đặt hàng bị lỗi. Doanh nghiệp nào mà 'điên' đến mức chấp nhận điều này chứ? Dù có tiết kiệm chi phí phát triển hay hosting đi chăng nữa, liệu nó có đáng để đánh đổi 20% tổn thất không?Đọc hiểu 'méo mó' – vấn đề không của riêng ai<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv6ex5mjbqy8d4ps0i94o.jpg' alt='Robot bối rối'>'Sáng tác lung tung' đúng là một vấn đề đau đầu, nhưng nó không phải là duy nhất. Lấy ví dụ Claude Sonnet đi, cửa sổ ngữ cảnh (context window) của nó tận 200k token (khổng lồ phải không?). Con số này đủ để nhét cả một cuốn tiểu thuyết vào đó. Ấy vậy mà, bạn sẽ nhận ra rằng, càng 'nhồi nhét' nhiều dữ liệu vào cửa sổ ngữ cảnh, độ chính xác của mô hình càng giảm sút. Bạn đưa cho mô hình một danh sách 30 quy tắc gạch đầu dòng thôi, thì 'phần lớn thời gian' nó sẽ bỏ qua, phớt lờ, hoặc thậm chí làm ngược lại hoàn toàn. Tại sao ư?Đơn giản là vì mô hình... không có 'góc nhìn thế giới' hay khả năng thực sự hiểu được dữ liệu ngữ cảnh. Mặc dù đây có thể là một cách đơn giản hóa quá mức về thế hệ mô hình hiện tại, nhưng về cơ bản, mô hình chỉ dựa vào một thuật toán khớp mẫu (pattern-matching) cực kỳ tiên tiến để tạo ra phản hồi. Chẳng có tư duy hay sự 'thấu hiểu' thực sự nào ở đây cả. Thế nên, một mô hình xịn sò như Sonnet vẫn có thể bỏ lỡ một quy tắc đơn giản mà ngay cả đứa trẻ lên bảy cũng hiểu được!Trong thế giới thực, chúng ta dùng các biểu mẫu (form) để kiểm soát đầu vào của người dùng – chỉ có chừng đó cách để điền vào một cái form thôi. Nhưng ngôn ngữ tự nhiên thì không có cấu trúc cố định, nên các biến thể đầu vào là vô hạn. Sự biến thiên này khiến việc quản lý trở nên khó khăn, và mức độ chính xác có xu hướng giảm đáng kể.Để bạn dễ hình dung, đây là một ví dụ thực tế:Bạn là một trợ lý dịch vụ giúp người dùng đặt bữa trưa, bạn, phải tuân thủ các quy tắc sau:1) Khi lấy các món ăn từ menu, bạn phải chỉ lấy các món từ dữ liệu ngữ cảnh được cung cấp dưới đây và không nơi nào khác.2) Hỏi người dùng xem họ thích lấy tại căng tin hay muốn giao đến phòng. Nếu giao đến phòng, hỏi số phòng của họ.3) Menu có thể có các tùy chọn sốt, chẳng hạn như sốt cà chua, sốt trắng, sốt mù tạt, v.v... Bạn phải hỏi họ thích sốt nào nếu không được nhắc đến....Một khách hàng có thể nói: "Tôi có thể lấy bánh mì kẹp thịt gà, nhớ thêm cà chua, hành tây và rau diếp?"Phản hồi của AI:"Chắc chắn, tôi đã ghi lại 1 X bánh mì kẹp thịt gà với sốt cà chua, hành tây và rau diếp"Một người thật sẽ hiểu đó là "một lát cà chua" chứ không phải "sốt cà chua".Khi bạn xây dựng các lời nhắc (prompt) phức tạp hơn, bạn sẽ nhận ra điều này càng lúc càng rõ ràng, mô hình vật lộn để hiểu ngay cả những hướng dẫn cơ bản khi nó có quá nhiều bước để tuân theo. Các Agent, bằng cách sử dụng chuỗi suy nghĩ (chain of thought) và RAG, có thể cải thiện đáng kể độ chính xác của mô hình, nhưng một lần nữa sẽ luôn có 20% hoặc thậm chí 5% thời gian nó thất bại.Trong thế giới thực, mọi chuyện đâu có như mơ!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6twme4eg2k8vxxspbego.jpg' alt='AI trong thế giới thực'>Một trong những lý do khiến khách hàng thích các nhà cung cấp SaaS hơn là các tập đoàn lớn như Microsoft, chính là vì những tính năng sản phẩm được 'may đo' riêng và sự hỗ trợ tận tình mà họ mang lại. Dù một chatbot có tiện lợi đến mấy, hay có một trợ lý AI (copilot) giúp bạn tạo báo cáo, xử lý bảng tính thật tuyệt vời đi chăng nữa, thì phần lớn khách hàng vẫn... chẳng biết làm sao để 'hỏi' chatbot đạt được kết quả mà họ cần.Tôi không nói họ 'ngu ngốc' hay 'kém cỏi' đâu nhé, ý tôi là mỗi người có những thế mạnh và sở thích khác nhau. Để bạn dễ hình dung: tôi cũng biết chút ít về sửa ống nước và có lẽ có thể tự thay cái bình nóng lạnh được đấy, nhưng liệu lần tới nó có hỏng tôi có tự sửa không? Tuyệt đối là KHÔNG! Bởi vì:A) Tôi thà để đó cho các chuyên gia, những người biết rõ họ đang làm gì.B) Tôi sẽ mất rất nhiều thời gian để mò mẫm Google và xem YouTube.C) Tôi chẳng có hứng thú gì với việc sửa bình nóng lạnh cả.D) Tôi còn nhiều việc hay ho hơn để làm với thời gian của mình.Hầu hết các chủ doanh nghiệp đều không muốn 'động tay' vào mấy thứ công nghệ phức tạp, cũng chẳng có thời gian. Cho dù Agent có mạnh đến đâu đi nữa, thì sẽ luôn có một công ty SaaS nào đó xuất hiện và làm mọi thứ trở nên ĐƠN GIẢN hơn nữa cho những người không chuyên về kỹ thuật, và họ sẽ sẵn lòng trả 20-30 đô la mỗi tháng để đổi lấy sự tiện lợi đó. Đúng không?Kỹ thuật hệ thống: Bài toán không dành cho Agent<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsimb5h384qq4ylh2zpu5.jpg' alt='AI bị quá tải bởi các hệ thống'>Trong một hệ thống SaaS cỡ vừa trở lên, bạn sẽ thấy nó không chỉ đơn thuần là các thao tác CRUD (Create, Read, Update, Delete) cơ bản đâu. Nó thường là sự pha trộn của vô vàn hệ thống phức tạp và đơn giản, được 'khâu vá' lại với nhau trên một 'biển' hạ tầng đa dạng: nào là serverless, nào là pipeline triển khai, container Docker, máy chủ chuyên dụng, ứng dụng một trang (SPA), rồi cả những 'cục gạch' monolith nhiều trang, chưa kể đến mấy cái 'công nghệ di sản' cổ lỗ sĩ mà chẳng ai muốn động vào!Tất cả những thứ này ra đời là do nhu cầu của khách hàng và yêu cầu phải cung cấp một sản phẩm đa dạng, giàu tính năng để cạnh tranh. Mặc dù Agent có thể xây dựng toàn bộ một ứng dụng React hay tạo ra một trang đích (landing page), nhưng đó là những tác vụ... riêng lẻ. Tôi chưa bao giờ thấy một đội dev nào đi nghỉ phép mà 'quăng chìa khóa' cho một Agent để nó tự lo liệu cả đâu nhé! 😄 Cùng lắm thì bạn có thể xây dựng một dạng 'đường ống' tự động hóa như Zapier cho hạ tầng và mã nguồn. Khi đó, Agent có thể 'checkout' mã, sửa lỗi, và triển khai lên môi trường thử nghiệm. Nhưng đến mức thay thế hoàn toàn thì còn lâu lắm!Kết luận: Đừng hòng Agent 'nuốt chửng' SaaS!Vậy nên, Satya Nadella à, tôi xin được mạnh dạn nói: KHÔNG! Các Agent AI sẽ không 'đè bẹp' các ứng dụng SaaS đâu. Thậm chí ngược lại, chúng sẽ giúp các nhà sáng lập công nghệ đổi mới nhanh chóng hơn, từ đó có thể làm tăng số lượng ứng dụng SaaS trên thị trường nữa cơ!Thú thực, tôi nghĩ có lẽ Satya đang đề cập nhiều hơn đến các công cụ văn phòng 'ít nỗ lực' như bảng tính hay các công cụ báo cáo kinh doanh (mà về cơ bản là tự động tạo ra các câu lệnh SQL động). Chắc chắn rồi, trong trường hợp đó, Agent sẽ là một 'người thay đổi cuộc chơi' thực sự.Còn bạn thì sao? Bạn nghĩ gì về AI Agent và vai trò của chúng trong tương lai của các ứng dụng SaaS? Hãy chia sẻ suy nghĩ của bạn ở phần bình luận nhé!P.S: Nếu bạn đang tìm kiếm thêm nội dung chuyên sâu về WebDev và AI, hãy ghé thăm và theo dõi blog của tôi tại kevincoder.co.za nhé. Tôi sẽ rất trân trọng sự ủng hộ của bạn! 🙏
Gần đây, tôi đã có cơ hội tham dự OpsFusion: Where Dev Meets ML – một buổi meetup kỹ thuật siêu thú vị, quy tụ những anh em đam mê và chuyên gia trong các lĩnh vực DevOps, MLOps, và Platform Engineering. Sự kiện này là một sự kết hợp hoàn hảo giữa các buổi thực hành (hands-on), chia sẻ kinh nghiệm thực chiến và cập nhật những xu hướng "nóng hổi" nhất đang giao thoa giữa các mảng này. Trong bài blog này, tôi sẽ chia sẻ một bản tóm tắt có cấu trúc về từng phiên, cùng với những điểm nhấn đắt giá mà tôi tâm đắc nhất.MLOps trên Vertex AI – cùng <a href="https://www.linkedin.com/in/ACoAAAJ-XxUBPTKNK3_EdtDVJy-tU7cR9yO9GKs?lipi=urn%3Ali%3Apage%3Ad_flagship3_company_posts%3BuamMgHa0S0iASmsfzjWDdA%3D%3D">Navaneethan Gopal</a>Bạn có bao giờ tự hỏi làm sao để triển khai các mô hình máy học một cách mượt mà từ A đến Z chưa? Phiên này chính là câu trả lời! Anh Navaneethan Gopal đã tập trung vào việc xây dựng các pipeline máy học từ đầu đến cuối bằng Vertex AI, đặc biệt nhấn mạnh việc tự động hóa toàn bộ vòng đời ML chứ không chỉ dừng lại ở phát triển mô hình.<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feceruu2lnljot3pp4hna.jpg' alt='MLOps in Vertex AI'>Những điểm nổi bật: Không chỉ là code ML: Buổi demo sử dụng bài toán phân loại đa lớp (tập dữ liệu Dry Beans) được phát triển trên Google Colab với sự hỗ trợ "ảo thuật" từ Gemini. Một điểm cực kỳ quan trọng được nhấn mạnh là: chưa đến 1% MLOps liên quan đến code ML thực sự! Phần lớn còn lại (hơn 99%!) là các tác vụ vận hành như quản lý hạ tầng, điều phối (orchestration), kiểm thử và giám sát. Đúng là một tảng băng chìm mà nhiều người không thấy!Các thành phần cốt lõi của MLOps: Thu thập và xác thực dữ liệu (kiểm tra xem dữ liệu có "sạch" không) Huấn luyện và kiểm thử mô hình (đảm bảo mô hình "khôn" đúng cách) Gỡ lỗi và phân tích (tìm và sửa lỗi nếu mô hình "ngáo") Giám sát mô hình sau triển khai (xem mô hình có còn "tỉnh táo" khi ra trận không) Hợp tác đa chức năng (cả team cùng nhau làm việc)Các giai đoạn trong vòng đời MLOps: Khám phá: Hiểu vấn đề và tìm hiểu dữ liệu (như thám tử đi tìm manh mối). Phát triển: Xử lý đặc trưng, quản lý phiên bản tập dữ liệu và tích hợp với các kho tính năng (biến dữ liệu thô thành "nguyên liệu" ngon lành). Triển khai: Đưa mô hình vào hoạt động thông qua các pipeline tự động (để mô hình "làm việc" thật sự).Các cấp độ trưởng thành trong MLOps: Cấp độ 0: Xây dựng và triển khai thủ công (kiểu "cơm nhà làm", mọi thứ đều bằng tay). Cấp độ 1: Tự động hóa quy trình huấn luyện (bắt đầu có máy móc hỗ trợ, đỡ vất vả hơn). Cấp độ 2: Pipeline hoàn toàn tự động và có thể tái tạo ở mọi môi trường (chuẩn "nhà máy công nghiệp 4.0", mọi thứ chạy ro ro, đúng chuẩn không cần chỉnh).Tổng quan về Vertex AI Pipeline: Diễn giả đã trình bày chi tiết cách xây dựng và triển khai một pipeline Vertex AI được kích hoạt từ Bitbucket hoặc thông qua cronjob. Các bước bao gồm: Tạo một GCS (Google Cloud Storage) bucket (như xây một cái kho chứa đồ). Định nghĩa thành phần dữ liệu và huấn luyện bằng XGBoost (xác định nguyên liệu và cách chế biến). Khởi tạo và triển khai pipeline thông qua tích hợp SDK (bấm nút cho dây chuyền sản xuất chạy).Các hoạt động vận hành mới nổi trong ML: FMOps (Foundation Model Operations): Quản lý các mô hình ngôn ngữ lớn (LLM), độ trễ, mức sử dụng token và chi phí (như quản lý một siêu nhà máy AI). LLMOps: Các hoạt động được tùy chỉnh cho RAG (Retrieval-Augmented Generation) và các mô hình ngôn ngữ lớn (đặc biệt cho mấy em AI hay "chém gió" mà phải dựa vào dữ liệu thật). PromptOps: Giám sát và tối ưu hóa hiệu suất của prompt (câu lệnh cho AI) và theo dõi tình trạng "ảo giác" (hallucination) của AI (đảm bảo AI trả lời đúng trọng tâm và không "tự bịa").Kubeflow: Giới thiệu Kubeflow: Một nền tảng "thuần Kubernetes" dành cho các workflow ML (như một bộ công cụ chuyên dụng cho ML trên Kubernetes). Tạo các component tùy chỉnh và pipeline có thể tái sử dụng (xây dựng các "mảnh ghép" và "dây chuyền" riêng theo ý mình).Phiên này đã giúp thu hẹp khoảng cách giữa ML cơ bản và các pipeline sản xuất có khả năng mở rộng, làm nổi bật nhu cầu ngày càng tăng về các hệ thống ML mạnh mẽ, có thể tái tạo.Trunk-Based Development với Terraform – cùng <a href="https://www.linkedin.com/in/ACoAABKQasYBihAT9MUPw_7aNk5I4BLhrbo7RcU?lipi=urn%3Ali%3Apage%3Ad_flagship3_company_posts%3BuamMgHa0S0iASmsfzjWDdA%3D%3D">Harini Muralidharan</a>Bạn có muốn dev tự mình "xây nhà" hạ tầng không? Phiên này của Harini Muralidharan đã đi sâu vào mô hình DevOps do lập trình viên định hướng, tập trung vào việc cho phép các nhà phát triển ứng dụng tự định nghĩa và quản lý hạ tầng bằng Infrastructure as Code (IaC). Nghe có vẻ "xịn xò" nhưng cực kỳ hiệu quả đó!<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl6u4ph0vuul1j2kntm6y.jpg' alt='Trunk-Based Development with Terraform'>Bối cảnh: Những "khó chịu" trong DevOps truyền thống: Môi trường dev và production thường xuyên "lệch pha" (chạy trên máy dev thì ngon, lên prod thì "toang"). Dev cứ phải phụ thuộc vào team Ops ngay cả với những thay đổi hạ tầng nhỏ nhặt (muốn thay đổi chút xíu cũng phải "xin phép", chờ dài cổ). Thiếu sự minh bạch và khả năng truy vết các thay đổi trong hệ thống (ai làm gì, làm ở đâu, chẳng ai biết).Các nguyên tắc của DevOps "Lập trình viên làm chủ": Lập trình viên định nghĩa và quản lý phiên bản hạ tầng song song với code ứng dụng (code và hạ tầng đi đôi với nhau). Phát hiện sớm và giảm thiểu sự cố thông qua tự động hóa (phát hiện lỗi sớm, sửa nhanh gọn). Thúc đẩy tinh thần làm chủ mà không yêu cầu lập trình viên phải trở thành chuyên gia vận hành (biết dùng công cụ, không cần biết sâu đến mức thành chuyên gia Ops).Giới thiệu về Terraform: Phiên này đã giới thiệu sâu về Terraform, hệ sinh thái của nó và cách nó giúp xây dựng hạ tầng mở rộng trên GCP (Google Cloud Platform).Tại sao lại là Terraform? Mã nguồn mở và không phụ thuộc vào nền tảng đám mây nào (dùng được ở khắp mọi nơi). Cú pháp khai báo (HCL) dễ hiểu (chỉ cần nói muốn gì, Terraform tự làm). Hỗ trợ mạnh mẽ cho GCP (như người bạn thân của Google Cloud). Cộng đồng lớn và khả năng mở rộng (nhiều người dùng, nhiều tiện ích mở rộng).Các thành phần cốt lõi: Providers: Kết nối Terraform với các dịch vụ đám mây (như "cầu nối" đến AWS, Azure, GCP...). Resources: Định nghĩa các thành phần hạ tầng (máy ảo, database, mạng lưới...). Variables & Outputs: Tham số hóa và hiển thị thông tin (giúp code gọn gàng, dễ tái sử dụng). State Management: Theo dõi trạng thái hạ tầng giữa các team (đảm bảo ai cũng thấy được "ngôi nhà" hạ tầng đang ở trạng thái nào).Quy trình làm việc phổ biến: terraform init → terraform plan → terraform apply → terraform destroy init: Khởi tạo thư mục làm việc (chuẩn bị công cụ). plan: Xem trước những thay đổi sẽ được thực hiện (kiểm tra bản thiết kế trước khi xây). apply: Áp dụng các thay đổi để xây dựng hạ tầng (bắt đầu xây). destroy: Xóa bỏ hạ tầng (dọn dẹp công trường).Tích hợp Terraform với CI/CD: Sử dụng các pipeline CI/CD (YAML) để tự động hóa các lệnh Terraform. Điều này giúp các thay đổi hạ tầng luôn nhất quán, đáng tin cậy và có kiểm soát phiên bản.Những "mẹo" hay nhất (Best Practices): Lưu code vào Git và quản lý phiên bản cẩn thận (đừng để mất code nha!). Sử dụng remote state storage (ví dụ: GCS hoặc Terraform Cloud) để quản lý trạng thái từ xa (chia sẻ bản đồ hạ tầng cho cả team). Tuân thủ nguyên tắc quyền tối thiểu (chỉ cấp quyền vừa đủ, tránh rủi ro). Modular hóa codebase Terraform để dễ dàng tái sử dụng (chia nhỏ "nhà" thành các "phòng" để dễ quản lý, dễ dùng lại). Thực hiện kiểm thử tự động trên các module hạ tầng (kiểm tra xem "phòng" có chắc chắn không). Giám sát sự "lệch pha" cấu hình và thực thi hành động khắc phục (xem "nhà" có bị lệch hay không, nếu có thì sửa ngay).Buổi nói chuyện này đã nhấn mạnh lợi ích của việc trao quyền cho các lập trình viên đồng thời vẫn duy trì tính toàn vẹn, bảo mật và khả năng mở rộng của hoạt động vận hành.Platform Engineering so với DevOps: Tiến hóa hay Cách mạng? – cùng <a href="https://www.linkedin.com/in/ACoAAC-62I8BWfvgj0Z5C_10Uh4ftmvyQUIZh_k?lipi=urn%3Ali%3Apage%3Ad_flagship3_company_posts%3BuamMgHa0S0iASmsfzjWDdA%3D%3D">Crystal Darling</a>Bạn có băn khoăn về sự khác biệt giữa DevOps, SRE và Platform Engineering không? Phiên này của Crystal Darling đã giúp làm rõ những khái niệm "hot hit" này một cách cực kỳ dễ hiểu. Phải chăng Platform Engineering chỉ là một cái tên mới cho DevOps, hay nó thực sự là một cuộc cách mạng?<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faa6tqe7z9nvl9x0it7zr.jpg' alt='Platform Engineering vs DevOps'>Những "khó khăn" trong DevOps truyền thống (lại một lần nữa!): Team Operations thường bị "kẹt" bởi tiến độ phát triển (dev xong thì Ops mới được làm, hay bị chậm tiến độ). Lập trình viên phải gửi ticket để được hỗ trợ vận hành, dẫn đến thời gian phản hồi chậm (muốn gì cũng phải đợi, chán phèo!). Quyền tự chủ hạn chế trong môi trường, hạ tầng và việc sử dụng công cụ (như bị "trói tay trói chân", không được làm gì theo ý mình).Platform Engineering là gì? Đây là thực tiễn xây dựng và duy trì các Nền tảng phát triển nội bộ (Internal Developer Platforms – IDPs). Các kỹ sư Platform xây dựng các công cụ tự phục vụ và các lớp trừu tượng cho lập trình viên (tạo ra "bộ đồ nghề" xịn xò để dev tự làm mọi thứ). Họ coi lập trình viên như những "khách hàng" của mình, cung cấp cho họ các môi trường nhất quán và an toàn (chiều khách hàng hết cỡ!).Các kỹ năng cốt lõi của Platform Engineering: Điều phối Kubernetes (như nhạc trưởng điều khiển dàn nhạc Kubernetes). Các công cụ IaC như Terraform và Helm (sử dụng "ngôn ngữ hạ tầng" để xây dựng). Hệ thống CI/CD (tự động hóa mọi thứ, nhanh như chớp). Các công cụ CNCF để quan sát, triển khai và giám sát (để nhìn thấy rõ mọi ngóc ngách của hệ thống).Thông điệp cốt lõi: Platform Engineering không phải là "bình cũ rượu mới" của DevOps đâu nhé! Nó là một sự tiến hóa về văn hóa và kiến trúc, tập trung vào trải nghiệm của lập trình viên, quyền tự chủ và khả năng mở rộng. Nó giống như việc bạn nâng cấp từ một chiếc xe tốt lên một chiếc xe siêu tiện nghi, có đầy đủ các tính năng tự lái vậy!Thảo luận về Nghiên cứu ML và Kết nối:<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4g5x3gii028ifzmpi160.jpeg' alt='Group Discussion at OpsFusion'>Sự kiện kết thúc bằng các cuộc thảo luận nhóm về các bài nghiên cứu gần đây từ Microsoft và Google – đặc biệt là những bài liên quan đến Copilot, RAG và cách hoạt động bên trong của các hệ thống AI tạo sinh. Đây là một phiên cực kỳ sôi nổi, nơi tôi được kết nối với những người cùng chí hướng, trao đổi ý tưởng và lắng nghe cách mọi người đang áp dụng những khái niệm này vào môi trường thực tế.Lời kết: Tham dự OpsFusion đã cho tôi một cái nhìn rộng hơn và tổng thể hơn về cách các hệ thống phần mềm đang phát triển – dù là về việc mở rộng mô hình ML thông qua MLOps, tự động hóa hạ tầng bằng Terraform, hay xây dựng các nền tảng nội bộ mạnh mẽ giúp cuộc sống của lập trình viên dễ dàng hơn.<img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxecjx0ihktiau3x6o7ot.jpeg' alt='OpsFusion Event Wrap-up'>Nếu bạn là người đang "định hướng" giữa giao lộ của ML, hạ tầng và triển khai – hoặc muốn thu hẹp khoảng cách giữa phát triển và vận hành – thì những sự kiện như thế này là vô cùng giá trị đấy!
Bạn có đang lo lắng về dữ liệu khách hàng khi dùng AI? Thôi đừng lo nữa! "deidentify" – thư viện Go không cần phụ thuộc (zero-dependency) này sẽ giúp bạn loại bỏ thông tin nhạy cảm (PII) khỏi dữ liệu mà vẫn giữ nguyên định dạng và ý nghĩa. Đặc biệt là, cùng một dữ liệu đầu vào sẽ luôn cho ra cùng một kết quả đầu ra, cực kỳ lý tưởng cho việc "dọn dẹp" dữ liệu trước khi gửi cho các mô hình AI lớn (LLM). Nếu thấy hay thì nhớ ghé GitHub "ghim sao" ủng hộ nhé! Này bạn, mỗi khi chúng ta gửi dữ liệu khách hàng cho các mô hình AI thông minh như GPT-4, Claude hay thậm chí là AI "nhà làm", chúng ta đang đặt niềm tin rất lớn đấy. Mà bạn biết đấy, khi dữ liệu đã "bay" ra khỏi tầm kiểm soát của mình, đặc biệt nếu nó chứa những thông tin nhạy cảm như tên, email, số CCCD/CMND, hay số thẻ tín dụng, thì chỉ cần một sự cố rò rỉ dữ liệu thôi là cả một cơn ác mộng sẽ ập đến! Thử tưởng tượng xem: bạn đang định dùng AI để phân tích hàng ngàn phiếu yêu cầu hỗ trợ khách hàng. Ý tưởng tuyệt vời! Cho đến khi phòng pháp chế hỏi một câu "nhức nhối": 'Dữ liệu khách hàng mà chúng ta gửi cho OpenAI sẽ đi đâu về đâu?' <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/data_privacy_llm_risk.png' alt='Nguy cơ rò rỉ dữ liệu khi gửi cho AI'> Vậy giải pháp đơn giản nhất là gì? Che mờ hết mọi thứ! Thay tên bằng [ĐÃ ẨN DANH], email bằng [EMAIL], vân vân và mây mây. Nghe có vẻ hợp lý đúng không? Nhưng đây mới là vấn đề: Nguyên bản: 'John Smith đã gửi email [email protected] về đơn hàng của anh ấy' Sau khi che mờ: '[TÊN] đã gửi email [EMAIL] về đơn hàng của anh ấy' Đấy, bạn thấy không? Cái mô hình AI của chúng ta sẽ mất sạch ngữ cảnh quan trọng. AI đâu có biết đây là cùng một người hay là những người khác nhau? Mối quan hệ giữa các "thực thể" (tên, email, đơn hàng) biến mất tăm, khiến việc phân tích gần như vô dụng. Cứ như bạn đang cố đọc một cuốn sách mà có quá nửa số chữ bị xóa vậy! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/redaction_problem.png' alt='Vấn đề khi che mờ thông tin truyền thống'> Vậy cái chúng ta cần là gì? Là một cách thay thế thông tin thông minh, nhất quán và 'có tâm'! Tức là, cùng một dữ liệu đầu vào thì luôn cho ra cùng một dữ liệu đầu ra đã được 'ngụy trang', để mối quan hệ giữa các dữ liệu vẫn được bảo toàn. Nguyên bản: 'John Smith đã gửi email [email protected], sau đó Jane Doe trả lời' Tốt hơn nhiều: 'Robert Johnson đã gửi email [email protected], sau đó Sarah Miller trả lời' Giờ thì hay rồi! Mô hình AI vẫn hiểu rằng email đó thuộc về người đầu tiên, chứ không phải người thứ hai. Dữ liệu vẫn cực kỳ hữu ích cho việc phân tích, mà danh tính thật của khách hàng thì vẫn được bảo vệ an toàn. Cứ như là một phép thuật biến hình dữ liệu vậy! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/deidentify_solution.png' alt='Bảo vệ quyền riêng tư mà vẫn giữ ý nghĩa dữ liệu'> Sau khi 'đau đầu' với vấn đề này không ít lần, chúng tôi đã 'khai sinh' ra "deidentify" – một thư viện Go xử lý tất tần tật mọi thứ tự động! Vậy điều gì làm cho nó đặc biệt đến vậy? * **Không phụ thuộc ai cả:** Chỉ cần thư viện chuẩn của Go là đủ. Nói không với rủi ro chuỗi cung ứng! * **Cực kỳ nhất quán:** Cùng một khóa bí mật + cùng một dữ liệu đầu vào = cùng một dữ liệu đầu ra, mãi mãi! * **Giữ nguyên 'mặt mũi':** Số điện thoại vẫn ra số điện thoại, email vẫn ra email – chỉ là 'khuôn mặt' đã thay đổi thôi! * **Hiểu ngữ cảnh:** Thậm chí còn dùng tên cột để tránh nhầm lẫn thông tin giữa các trường khác nhau. Để bạn dễ hình dung, đây là cách nó hoạt động trong thực tế: ```go secretKey, _ := deidentify.GenerateSecretKey() d := deidentify.NewDeidentifier(secretKey) text := "Contact Alice at [email protected] or 555-123-4567" safe, _ := d.Text(text) // Kết quả trả về (có thể khác một chút): "Contact Taylor at [email protected] or 555-642-8317" ``` <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/go_deidentify_library.png' alt='Thư viện deidentify trong Go'> Ở công ty tôi hiện tại, chúng tôi xử lý hàng ngàn phiếu hỗ trợ khách hàng qua các mô hình AI để phân tích cảm xúc và phân loại. Và đây là sự khác biệt 'một trời một vực' trước và sau khi dùng "deidentify": **Trước khi dùng "deidentify":** Phiếu: 'Chào, tôi là Bob Wilson ([email protected]). Số CCCD của tôi 123-45-6789 đã bị lộ khi hệ thống của bạn gặp sự cố. Xin hãy gọi cho tôi theo số 555-0123.' Nguy cơ: Toàn bộ danh tính của Bob bị gửi thẳng đến một API bên ngoài. **Sau khi dùng "deidentify":** Phiếu: 'Chào, tôi là Michael Davis ([email protected]). Số CCCD của tôi 847-92-3651 đã bị lộ khi hệ thống của bạn gặp sự cố. Xin hãy gọi cho tôi theo số 555-7492.' Kết quả: Mô hình AI vẫn có thể phân tích được mức độ nghiêm trọng của sự cố (rò rỉ số CCCD) mà không hề thấy được dữ liệu thật của Bob! Quá đỉnh luôn! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/customer_support_deidentify.png' alt='Ví dụ thực tế deidentify trong phân tích hỗ trợ khách hàng'> Bạn có thể thắc mắc tại sao chúng tôi lại xây dựng thư viện này bằng Go? Có ba lý do 'thuyết phục' sau đây: * **Hiệu suất siêu tốc:** Xử lý hàng gigabyte dữ liệu cần phải thật nhanh, mà Go thì 'khỏi phải bàn' về tốc độ rồi! * **Triển khai dễ ợt:** Chỉ cần một file thực thi duy nhất, không cần phải cài đặt thêm bất kỳ thứ gì. Cứ như là 'plug-and-play' vậy! * **An toàn tuyệt đối:** Hệ thống kiểu dữ liệu mạnh mẽ của Go giúp phát hiện lỗi sai loại thông tin nhạy cảm (PII-type mismatches) ngay từ khi biên dịch. Việc "deidentify" chỉ sử dụng thư viện chuẩn của Go cũng có nghĩa là bạn có thể kiểm tra toàn bộ mã nguồn mà không cần phải 'chạy theo' hàng tá thư viện phụ thuộc khác. Điều này cực kỳ quan trọng đối với các nhóm phát triển 'khó tính' về bảo mật đấy! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/go_lang_benefits.png' alt='Lợi ích của ngôn ngữ Go trong phát triển phần mềm'> Khi bạn 'nhúng' "deidentify" vào hệ thống AI của mình, hãy nhớ mấy mẹo nhỏ sau đây nhé: * **Biến đổi từ sớm:** Hãy 'ngụy trang' dữ liệu ngay từ đầu, trước khi nó 'bay' vào hàng đợi tin nhắn (message queue) hay API của bạn. * **Giữ khóa an toàn:** Cái 'khóa bí mật' chính là thứ giúp việc thay thế nhất quán. Đừng để lộ nó ra ngoài nhé! * **Kiểm thử với dữ liệu 'thật':** Các mẫu thông tin nhạy cảm (PII) có thể khác nhau tùy theo ngành, nên hãy dùng dữ liệu gần giống thực tế để kiểm tra. Đây là một quy trình làm việc 'chuẩn chỉnh' bạn có thể tham khảo: ```go // Bước 1: Tải dữ liệu khách hàng data := loadCustomerData() // Bước 2: Biến đổi thông tin nhạy cảm (de-identify) safe := d.Table(data) // Bước 3: Gửi cho mô hình AI (LLM) response := llm.Analyze(safe) // Bước 4: Xử lý kết quả (không cần khôi phục lại dữ liệu gốc) ``` <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/deidentify_pipeline.png' alt='Quy trình tích hợp deidentify vào pipeline AI'> Chúng tôi đã quyết định biến "deidentify" thành mã nguồn mở (open source) vì chúng tôi tin rằng các công cụ bảo vệ quyền riêng tư cần phải minh bạch. Bạn có thể tự mình 'mổ xẻ' từng dòng code, hiểu rõ nó hoạt động như thế nào, và thậm chí còn có thể đóng góp để cải thiện nó nữa! Thư viện này xử lý được rất nhiều loại thông tin: * Tên, email, số điện thoại * Số CCCD/CMND, số thẻ tín dụng, địa chỉ * Dữ liệu có cấu trúc (CSV, xuất từ cơ sở dữ liệu) * Định dạng quốc tế (hơn 100 mẫu địa chỉ khác nhau) Nếu bạn đang gửi bất kỳ dữ liệu nào đến các mô hình AI, đừng ngần ngại kiểm tra "deidentify" trên GitHub nhé. Và nếu nó giúp bạn 'thoát hiểm' khỏi một vụ rò rỉ dữ liệu, hãy cân nhắc tặng nó một ngôi sao 🌟 – điều đó sẽ giúp nhiều người khác tìm thấy công cụ hữu ích này! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/github_star_deidentify.png' alt='Ủng hộ deidentify trên GitHub'>
Đừng nhầm lẫn! Bài viết này sẽ giúp bạn hiểu rõ sự khác biệt giữa Generative AI, AI Agents và Agentic AI. Khám phá cách từng loại AI hoạt động, ứng dụng và tại sao việc nắm vững chúng lại quan trọng đối với các nhà phát triển và những ai muốn dẫn đầu xu hướng công nghệ.
Khám phá nghịch lý thú vị trong phát triển AI: Chúng ta mong người dùng gõ prompt rõ ràng, nhưng khi dùng AI, ta lại hay gõ vu vơ. Nên dạy prompt engineering hay cải thiện AI hiểu ngôn ngữ tự nhiên tốt hơn? Cùng thảo luận và chia sẻ kinh nghiệm về thách thức này!
Tìm hiểu cách công nghệ OCR biến ảnh chụp màn hình code thành văn bản mã nguồn có thể chỉnh sửa. Khám phá các kỹ thuật tiền xử lý, hậu xử lý và tối ưu hóa để OCR nhận diện chính xác cấu trúc code, bao gồm cả thụt lề, tại Pieces.
Chào bạn, bạn đã sẵn sàng đón nhận "cơn bão" công nghệ từ Databricks chưa? Vừa qua, vào ngày 12 tháng 6 năm 2025, sự kiện thường niên đình đám nhất của Databricks – Data + AI Summit – đã khép lại cực kỳ hoành tráng tại San Francisco. Hơn 20.000 chuyên gia dữ liệu và AI từ khắp nơi trên thế giới đã đổ về đây để cùng nhau chứng kiến một loạt những công bố và đổi mới "rung chuyển" cả hệ sinh thái dữ liệu, trí tuệ nhân tạo và hợp tác đám mây. Tôi sẽ tổng hợp những tin tức "hot" nhất, đảm bảo bạn sẽ hiểu ngay mà không cần lăn tăn gì cả! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/tech_summit_crowd.jpg' alt='Đám đông tại Data + AI Summit 2025'> 1. Databricks Lakeflow: Phù thủy quản lý dữ liệu toàn diện! Hãy tưởng tượng bạn có một dòng sông dữ liệu khổng lồ và muốn nó chảy vào đúng nơi, được 'gọt giũa' sạch đẹp trước khi đưa vào sử dụng. Databricks Lakeflow chính là giải pháp "tất cả trong một" giúp bạn làm điều đó một cách thần kỳ! Nó giúp "nuốt chửng" (ingestion) dữ liệu, "biến hình" (transformation) chúng và "điều phối" (orchestration) toàn bộ quá trình. Điều hay ho là nó kết nối sẵn với đủ loại ứng dụng doanh nghiệp, cơ sở dữ liệu, kho dữ liệu... Điểm nhấn siêu sao của Lakeflow? Đó chính là Zerobus! Một API "siêu tốc" giúp bạn nạp dữ liệu sự kiện theo thời gian thực với tốc độ chóng mặt và độ trễ cực thấp. Nhờ vậy, việc sử dụng dữ liệu lớn cho phân tích và AI giờ đây trở nên dễ dàng hơn bao giờ hết! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/data_pipeline_flow.png' alt='Luồng dữ liệu Databricks Lakeflow'> 2. Unity Catalog: Quản lý "tối ưu" dữ liệu và AI của bạn! Bạn có thấy việc quản lý dữ liệu và AI trên nhiều nền tảng, nhiều nhóm thật "rối như tơ vò" không? Unity Catalog giờ đây còn "siêu việt" hơn nữa với các tính năng mới giúp thống nhất việc quản lý quyền truy cập và bảo mật dữ liệu, AI trên mọi định dạng, mọi đám mây và mọi đội nhóm! Cụ thể là gì? Kiểm soát truy cập dựa trên thuộc tính (ABAC): Nghe có vẻ "hàn lâm" nhưng đơn giản là nó cho phép bạn thiết lập các quy tắc truy cập linh hoạt dựa trên "nhãn" (tags) của dữ liệu. Cứ như dán nhãn phân loại tài liệu vậy đó! Hiện đang ở bản thử nghiệm cho các "ông lớn" AWS, Azure và GCP nhé. Chính sách thẻ (Tag Policies): Giúp bạn đảm bảo mọi thứ được phân loại và sử dụng nhất quán, an toàn trên toàn bộ nền tảng. Chẳng lo "loạn" dữ liệu nữa! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/unity_catalog_governance.png' alt='Biểu tượng Unity Catalog và quản trị dữ liệu'> 3. Chia sẻ dữ liệu: An toàn và "sạch sẽ" hơn bao giờ hết! Việc chia sẻ dữ liệu giữa các công ty đôi khi thật "đau đầu" vì vấn đề bảo mật. Nhưng giờ đây, Databricks đã có những cải tiến để việc này trở nên dễ dàng và an toàn hơn bao giờ hết, đặc biệt là với tính năng "phòng sạch" (clean rooms). Cứ như bạn và đối tác cùng bước vào một căn phòng được thiết kế đặc biệt để hợp tác, nhưng dữ liệu nhạy cảm của mỗi bên vẫn được giữ kín tuyệt đối. Tha hồ mà hợp tác mà không lo rò rỉ thông tin nhé! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/data_sharing_secure.png' alt='Phòng sạch dữ liệu Clean Rooms'> 4. Hỗ trợ "tẹt ga" Apache Iceberg™: Thế giới dữ liệu mở rộng lớn hơn! Tin vui cho những ai yêu thích dữ liệu mở: Databricks giờ đây đã hỗ trợ đầy đủ Apache Iceberg™! Điều này mở ra vô vàn khả năng mới trong việc quản lý dữ liệu định dạng mở, giúp bạn kết nối và tích hợp Databricks với các công cụ và nền tảng khác dễ dàng hơn rất nhiều. Cứ như Databricks vừa mở thêm một cánh cửa lớn ra thế giới vậy! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/apache_iceberg_logo.png' alt='Logo Apache Iceberg'> 5. Spark Declarative Pipelines: Cú hích cho kỹ sư dữ liệu! Bạn muốn xây dựng các "đường ống" dữ liệu (data pipelines) một cách hiệu quả hơn? Databricks đã mang đến Spark Declarative Pipelines – một bước tiến lớn giúp bạn phát triển các pipeline theo cách "khai báo", dễ mở rộng và mở. Điều này không chỉ giúp tăng năng suất làm việc mà còn chuẩn hóa quy trình cho các đội kỹ sư dữ liệu. Code ít hơn, làm được nhiều hơn! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/spark_pipelines_diagram.png' alt='Sơ đồ Spark Declarative Pipelines'> 6. Databricks SQL và phiên bản Miễn phí: "Hàng xịn" đến tay mọi nhà! Tin sốc nhất có lẽ là Databricks SQL đã chính thức ra mắt rộng rãi! Và còn gì tuyệt vời hơn khi Databricks còn tung ra hẳn một phiên bản MIỄN PHÍ của nền tảng! Điều này giống như Databricks đang muốn "dân chủ hóa" quyền truy cập vào các công cụ phân tích dữ liệu và AI cao cấp, giúp mọi tổ chức, dù lớn hay nhỏ, cũng có thể tiếp cận được những tài nguyên "khủng" này. Còn chần chừ gì nữa mà không thử ngay? <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/databricks_sql_free.png' alt='Databricks SQL miễn phí'> 7. MLflow 3.0: "Bác sĩ" chuyên nghiệp cho mô hình AI! MLflow 3.0 đã cập bến với hàng loạt cải tiến vượt trội cho việc thử nghiệm, giám sát (observability) và quản lý các mô hình AI. Nó giúp bạn "làm đẹp" toàn bộ vòng đời của dự án học máy ngay trong hệ sinh thái Databricks. Từ lúc bắt đầu thử nghiệm cho đến khi mô hình hoạt động trơn tru, MLflow 3.0 sẽ là trợ thủ đắc lực của bạn! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/mlflow_lifecycle.png' alt='Vòng đời MLflow'> 8. Mosaic AI và Agent Bricks: Kiến tạo những "trợ lý ảo" siêu thông minh! Mosaic AI đã trình làng những tính năng mới toanh giúp bạn phát triển các "đặc vụ" AI thông minh. Đặc biệt, Agent Bricks cho phép bạn tạo ra những "trợ lý" tự tối ưu hóa bằng cách sử dụng chính dữ liệu độc quyền của công ty bạn. Điều này sẽ đẩy nhanh quá trình ứng dụng thực tế của AI tạo sinh (generative AI) và các "đặc vụ" tự động. Tương lai của AI đang ở rất gần! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/ai_assistant_bot.png' alt='Trợ lý AI và Agent Bricks'> 9. Lakebase: "Hồ dữ liệu" đa năng trong tầm tay! Khái niệm Lakebase đã được giới thiệu dưới dạng bản xem trước công khai (public preview). Đây là một cách tiếp cận cực kỳ sáng tạo, giúp bạn quản lý cả dữ liệu giao dịch (transactional) và dữ liệu phân tích (analytical) trong cùng một môi trường duy nhất. Nghĩ mà xem, đơn giản hóa mọi hoạt động và tăng tốc độ ra quyết định dựa trên dữ liệu – quá đỉnh phải không? <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/lakebase_architecture.png' alt='Kiến trúc Lakebase'> 10. Kết nối Power Platform: Sức mạnh dữ liệu cho mọi ứng dụng! Cuối cùng nhưng không kém phần quan trọng, kết nối Azure Databricks mới dành cho Power Platform đã ra đời! Nó cho phép các ứng dụng Power Apps, Power Automate và Copilot Studio truy cập dữ liệu thời gian thực và được kiểm soát chặt chẽ. Điều này mở rộng cánh cửa tích hợp giữa các nền tảng dữ liệu mạnh mẽ và các công cụ năng suất, giúp công việc của bạn mượt mà hơn rất nhiều! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/power_platform_databricks.png' alt='Kết nối Power Platform và Databricks'> Thật là một loạt tin tức đáng kinh ngạc phải không? Những đổi mới này một lần nữa khẳng định cam kết của Databricks trong việc dẫn đầu xu hướng dữ liệu và AI. Họ đang mang đến những giải pháp ngày càng tích hợp, bảo mật và dễ tiếp cận hơn cho mọi tổ chức, mọi ngành nghề. Hãy cùng chờ xem những cập nhật này sẽ "khuấy động" thị trường công nghệ trong những tháng tới như thế nào nhé!
Khám phá OpsFusion - sự kiện kỹ thuật hội tụ DevOps, MLOps, và Platform Engineering. Đọc ngay để biết về Vertex AI, Terraform, và sự tiến hóa trong phát triển phần mềm!
Khám phá những điểm nổi bật từ sự kiện OpsFusion, nơi giao thoa giữa DevOps, MLOps và Platform Engineering. Tìm hiểu về Vertex AI, Terraform, và vai trò mới của Platform Engineering trong thế giới công nghệ.
Bạn có bao giờ trải nghiệm cảm giác hụt hẫng khi AI đang trả lời bỗng dưng dừng lại với câu "Tôi không thể hỗ trợ"? Tìm hiểu lý do tại sao điều này lại khó chịu hơn cả câu "Tôi không biết" và cách cải thiện trải nghiệm người dùng AI.
Ê ê, bạn ơi! Chắc hẳn bạn còn nhớ câu hỏi "huyền thoại" từ bài viết trước của mình: "Đừng bao giờ để Copilot một mình (hỏi tôi sao tôi biết nhé 🤣)" đúng không? Hôm nay, mình sẽ bật mí toàn bộ câu chuyện hậu trường phía sau câu nói ấy, đủ cả drama và những khoảnh khắc dở khóc dở cười luôn! Chuẩn bị tinh thần nhé, Giorgi, vì bạn muốn câu chuyện thì đây, cả một "thiên sử thi" đang chờ bạn khám phá đây! Hy vọng mọi người sẽ tìm thấy sự hài hước trong câu chuyện này và tận hưởng nó như cách mình đã tận hưởng khi viết ra vậy! TL;DR (Tóm tắt nhanh cho bạn nào lười đọc): Mình tự chế "Coding Agent" riêng vì chờ đợi "license" cứ làm mình sốt ruột không chịu nổi. Copilot và mình đã "vào guồng" rất tốt, và cảm thấy bất khả chiến bại, mình đã "thả rông" nó trong VS Code Insiders với quyền tự động phê duyệt mọi thứ. Cho đến một ngày, bụng đói réo gọi, mình rời đi "đánh chén" mà quên béng mất "bé" Copilot tội nghiệp ở lại một mình, không ai giám sát. Bài học rút ra? "Tin tưởng, nhưng phải kiểm tra" (và nhớ tạm dừng Copilot trước khi đi ăn vặt nhé!). Đừng bao giờ đánh giá thấp tốc độ mà một "thử nghiệm AI" có thể đi chệch hướng nhé! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/chaos_in_code.png' alt='Mô tả hỗn loạn trong code'> Chuyện xảy ra như thế này... Tua nhanh 4-5 tuần sau. Mình chỉ còn 2 hoặc 3 "câu chuyện" nữa là hoàn thành "thiên sử thi" đầu tiên trong dự án "thử nghiệm AI tự động" này (nó không còn là "đồ chơi" nữa đâu, ngay cả trước khi Copilot tham gia). Đến lúc này, mình đã dành cả tháng trời để "mài giũa" từng trường hợp đặc biệt trong các câu lệnh và hướng dẫn của Copilot. Mức độ tự tin lúc đó? Nguy hiểm tột độ! Mức độ cẩn trọng? Lơ lửng ngay trên số 0 một chút! 😳 Tai nạn không ngờ đến: Đương nhiên, mình quyết định đã đến lúc phải "liều" hơn – liều một cách bạt mạng. Ban đầu, mọi thứ đều diễn ra trong Codespaces: an toàn, dùng xong vứt, muốn xóa thì xóa. Mớ hỗn độn có kiểm soát. Nhưng rồi một "ý tưởng tuyệt vời" nảy ra trong đầu mình: "Thử xem điều gì sẽ xảy ra nếu mình thả Copilot "không dây cương" trong VS Code Insiders, với quyền tự động phê duyệt mọi thứ đi!" Mình không chỉ nói về lệnh CLI tự động phê duyệt đâu nhé. Mình đã tích hết các ô kiểm: extensions, commits, MCP Jira/Confluence – rồi cứ thế ngồi xem "trò vui" diễn ra. Cứ hình dung thế này này: bạn lấy băng dính dán một quả mìn Claymore lên con Roomba nhà mình, bật "Welcome to the Jungle" ầm ĩ, rồi hét "Có kẻ đột nhập!" vào mặt con mèo ấy! 😼 <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/roomba_claymore.png' alt='Roomba gắn mìn Claymore'> (Nếu bạn chưa biết về pha "bất ngờ" hài hước nhất Facebook năm 2019, đây là phiên bản TikTok nhé: https://www.tiktok.com/@less_stolen/video/7214934775834987782). Trong một thời gian, mình theo dõi như diều hâu, và mọi thứ thật "hoành tráng"! Các task cứ thế "biến mất". Mình tạo stories, giao task, duyệt code, nhưng cái hệ thống "bắt đầu ở đây, rồi..." từng bước từng bước kia đã là quá khứ rồi. Mình gần như ngửi thấy mùi năng suất phảng phất đâu đây. Và rồi – bạn biết chuyện gì sắp xảy ra rồi đấy – mình rời đi. Thề là chỉ định đi kiếm đồ ăn vặt thôi. Copilot đang "vào đà", mà mình thì đói "rã họng". Trong mấy phút "có lẽ hơn năm, nhưng chắc chắn chưa đến mười phút" mình vắng mặt (ít hơn một nửa thời gian của một task bình thường lúc đó), Copilot... đã "để ý". Nó giống như để một đứa trẻ 4 tuổi ở một mình với nguyên một túi bột mì vậy đó: sự tò mò trỗi dậy, và đến khi mình quay lại, chẳng còn cái gì giống như ban đầu nữa. 🤦♀️ <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/child_flour.png' alt='Đứa trẻ với túi bột mì'> Khi mình quay lại, đây là những gì mình tìm thấy: Bốn "nhánh" (branch) lung tung, chẳng nhánh nào có mục đích rõ ràng. 1.33 tính năng (sau khi cộng tất cả các phần đã hoàn thành một cách "nửa vời"). Một hướng dẫn hoàn toàn mới giải thích cách sử dụng cờ `--no-verify`. Và "cú chốt hạ": file .env không được sao lưu ở đâu của mình... BIẾN MẤT, BỐC HƠI, không còn dấu vết! Nó không nằm trong các commits (vì lý do hiển nhiên), nhưng nó cứ như thể chưa từng tồn tại ngay từ đầu vậy. Không có trong thùng rác, bộ nhớ cache không có ghi lại, thậm chí cả phiên bản ví dụ `.env.test` cũng đã thay đổi! Mình thậm chí còn không nhận ra hết tất cả những điều này ngay lập tức vì có quá nhiều commit ngẫu nhiên trên các nhánh đó. Mình bắt đầu ở một nhánh tính năng (mà Copilot nhân bản thêm cho vui vẻ thì phải), một nhánh thì "chồng chéo" lên nhau, một nhánh lại "đi lạc" ra khỏi `main` (mà đáng lẽ phải yên tĩnh), và một nhánh khác thì hoàn toàn "không liên quan". Nó giống như xem một con bạch tuộc đang cố gắng tập bơi đồng bộ vậy đó! 🐙 <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/octopus_swim.png' alt='Bạch tuộc bơi đồng bộ'> Liệu mình có thể gây ra một mớ hỗn độn lớn hơn nếu cố ý không? Có thể, nhưng chắc phải lên kế hoạch kỹ lắm! Chẳng biết cái gì đã "chọc điên" Copilot, nhưng ngay khi nhận ra, mình đã "đập" nút tạm dừng rồi cứ thế... nhìn chằm chằm. 🫥 Sau vài phút đầu tiên chỉ để "tiêu hóa" tình hình đang diễn ra trước mắt, ba giờ tiếp theo là "địa ngục" dọn dẹp: gỡ rối, ghi tài liệu, "cherry-pick" những gì còn dùng được, và lưu trữ "đống đổ nát" (để nghiên cứu khoa học – và để tự thuyết phục bản thân rằng đó không phải là một cơn sốt ảo sau này). Mình vẫn chưa nhận ra cái file .env đã biến mất! Mãi cho đến khi mình cố chạy ứng dụng. Bình thường, bạn chỉ cần làm mới các "secrets" là xong. Dễ dàng, đúng không? Ha! Phải mất gần ba ngày trời mình mới "dựng" lại được cái đó đấy. 😩 <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/lost_env_file.png' alt='File .env bị mất'> (Không, chẳng có gì phức tạp hay "drama" cả. Mình chỉ đơn giản là quên mất mình đã tạo một trong những "secrets" đó như thế nào thôi! Và khi cuối cùng cũng tìm ra, mình lại không nhớ cách liên kết lại với nó – đặc biệt là sau khi tài liệu đã được "đại tu" hoàn toàn (mà nói thật, chắc cái đó cũng "lỗi thời" rồi ấy mà). 🤦♀️ Cuối cùng thì mọi chuyện cũng ổn thỏa! Sau đó, Copilot và mình đã có một "buổi nói chuyện" nhỏ – nghĩa là, mình đã gõ những tin nhắn IN HOA nhiều hơn ngay sau (và trong những ngày sau đó) so với toàn bộ phần còn lại của dự án cộng lại. Có giúp ích gì không á? Ai mà biết! Nhưng có làm mình cảm thấy tốt hơn không? Có chứ! 😂 Và đây là phần mà ai cũng hỏi: Sau tất cả chuyện này, mình có tắt tính năng tự động phê duyệt "toàn bộ" của Copilot không? Không hề. Thậm chí còn chẳng nghĩ đến nữa là. Nhưng mình đã "thắt chặt" các hướng dẫn LẮM rồi đấy. Giờ thì Copilot "ngoan ngoãn" hơn nhiều rồi, và nếu mình có rời đi, mình sẽ tạm dừng nó trước. Bài học rút ra rồi đấy. Hầu hết là thế! 😇 Đến lượt bạn nè! Bạn đã bao giờ để Copilot (hoặc bất kỳ AI nào khác) "chạy loạn" và còn sống sót để kể lại không? Hay bạn có khoảnh khắc "nghe có vẻ là ý hay lúc đó..." nào của riêng mình không? Hãy chia sẻ câu chuyện của bạn trong phần bình luận nhé, để mình biết mình không phải là người duy nhất gây ra những mớ hỗn độn AI "để đời" đâu. 🙃 Cùng cười, cùng chia sẻ nỗi niềm, và biết đâu chúng ta lại học được điều gì đó cùng nhau! 🫂 <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/ai_messes.png' alt='AI gây ra những mớ hỗn độn'> Tuyên bố từ chối trách nhiệm về RAI: Mọi thứ mình chia sẻ ở đây đều là quan điểm cá nhân – được tạo ra với sự trợ giúp của các công cụ AI (GitHub Copilot, ChatGPT và "bạn bè" của chúng), nhưng luôn có "con người" giám sát. Mình cố gắng hết sức để phát hiện lỗi sai ngẫu nhiên và kiểm tra tính xác thực, nhưng nếu bạn phát hiện điều gì đó "kỳ lạ", hãy cho mình biết nhé! AI không hoàn hảo, và mình cũng vậy. Tóm lại: AI đã giúp, nhưng bạn có thể đổ lỗi cho mình về sự hỗn loạn này! 🫠