1 điểm bởi GN⁺ 2025-06-26 | 1 bình luận | Chia sẻ qua WhatsApp
  • Google vừa công bố Gemini CLI, một AI agent mã nguồn mở mới
  • Công cụ này cho phép sử dụng trực tiếp các khả năng AI của mô hình Gemini trong môi trường dòng lệnh
  • Nhà phát triển có thể thực hiện ngay trên CLI nhiều tác vụ như tạo mã, tóm tắt tài liệu, dịch thuật
  • Gemini CLI nổi bật với khả năng mở rộng, tùy biến và tính tiếp cận của mã nguồn mở
  • So với các AI agent hiện có, công cụ này mang lại sự tiện lợi hơn và cải thiện năng suất

Giới thiệu Gemini CLI

  • Google đã ra mắt Gemini CLI để giúp nhà phát triển dễ dàng sử dụng các khả năng AI trong môi trường dòng lệnh
  • Gemini CLI dựa trên mô hình Gemini của Google, tích hợp đa dạng tính năng AI như tự động hóa các tác vụ phát triển hằng ngày, xử lý ngôn ngữ tự nhiên, dịch thuật, tạo mã và tóm tắt tài liệu
  • Được cung cấp dưới dạng mã nguồn mở, công cụ này có thể được tùy biến và mở rộng tự do, đồng thời tạo điều kiện phát triển nhiều plugin và tiện ích mở rộng phù hợp với nhu cầu của cộng đồng nhà phát triển
  • So với các công cụ dòng lệnh dựa trên LLM hiện có, Gemini CLI mang lại tích hợp đơn giản và mức độ tiện dụng cao; các ví dụ sử dụng được nêu gồm sửa lỗi mã, tự động hóa tài liệu phát triển và phân tích dữ liệu
  • Gemini CLI góp phần nâng cao năng suất nhờ khả năng tiếp cận AI nhanh, tính ứng dụng theo thời gian thực và cấu trúc có thể tích hợp tự nhiên vào môi trường phát triển

1 bình luận

 
GN⁺ 2025-06-26
Ý kiến trên Hacker News
  • Tình trạng các sản phẩm Gemini của Google bị phân mảnh quá mức gây ra nhiều bối rối. Dù tôi là người đăng ký Pro, đến giờ mới biết rằng dùng "Gemini Code Assist Standard" hoặc "Enterprise" thì mới có hạn mức sử dụng cao hơn. Với tư cách một người dùng Google bình thường vốn không hề biết những khác biệt về gói cước hay tính năng này, tôi đã gặp cảnh rất vô lý là dù trả tiền thuê bao Gemini cho Google, trong "Gemini CLI" lại gần như không nhận được lợi ích gì

    • Google cũng giống Microsoft ở chỗ có sản phẩm trong gần như mọi lĩnh vực, nhưng vì thông điệp truyền thông gây rối nên cảm giác như ưu điểm của từng sản phẩm đều bị làm loãng. Bản thân tôi cũng thích Gemini 2.5 Pro, nhưng để tìm một trợ lý chat AI dùng hằng ngày, tôi đã phải thử qua nhiều sản phẩm AI khác trong một thời gian. Gói Gemini Pro được gộp trong Google One nên khá tiện khi dùng với Google Drive, nhưng tôi đã có thuê bao iCloud và hệ đồng bộ dữ liệu phù hợp với môi trường iOS nên không có lý do để chuyển. UI chat của Gemini còn thua rất xa ứng dụng macOS của OpenAI ChatGPT. NotebookLM mạnh ở khoản tóm tắt tài liệu, nhưng lại không được tích hợp với Gemini chat, nên vẫn còn sự bất tiện khi phải liên tục chuyển qua lại giữa các sản phẩm của Google. Cuối cùng tôi đang trả tiền cho Raycast AI vì nó mang lại trải nghiệm tích hợp ăn khớp với workflow và cho phép thử nhiều mô hình khác nhau. Dù không phải lúc nào cũng có model mới nhất ngay lập tức, tôi vẫn hài lòng với tính nhất quán trong sử dụng. Việc Google phân tán trên quá nhiều sản phẩm như vậy khiến họ thua OpenAI (công việc văn phòng thông thường) và Anthropic (lập trình) về mặt trải nghiệm sử dụng. Trong vài tháng gần đây họ đã cố đuổi theo bằng Google Stitch, plugin VSCode cho GH Copilot/Cursor, Claude Code, nhưng tất cả đều cho cảm giác như những side project có thể biến mất rất nhanh

    • Chất lượng rất cao, nhưng Google Cloud Dashboard quá phức tạp nên phần lớn startup hay lập trình viên cá nhân sẽ chọn giải pháp khác ngoài Google. Tôi đang host model bằng Vertex, nhưng không rõ nó khác gì so với Google Cloud. Thậm chí còn có tới hai API ở cấp độ project. Nếu là nhà cung cấp AI thì phải để người dùng ở mọi quy mô có thể bắt đầu mà không gặp rào cản, nhưng cấu trúc hiện tại lại buộc bạn bắt đầu bằng Google AI Studio API rồi khi dự án lớn lên thì phải chuyển sang Vertex API, một thiết kế API thiếu khả năng mở rộng. OpenAI-compatible API cũng thường xuyên không hoạt động, khiến nhiều công cụ dùng nó không chạy đúng. Trong hệ sinh thái AI của Google, có rào cản gia nhập do sự phức tạp như việc phân biệt giữa Jules và Gemini CLI, khác biệt giữa Vertex API và AI Studio API, cũng như việc Vertex bị phụ thuộc vào Google Cloud nên khi phát triển app phải thiết lập biến môi trường, v.v. Tài liệu chính thức về biến môi trường của Vertex

    • Chính sách giá của Google khó hiểu đến mức đáng kinh ngạc. Gemini 2.5 Pro có lẽ là model tốt nhất tôi từng dùng, nhưng lại không có gói thuê bao đơn giản cho phép dùng toàn bộ tính năng trong một lần như Claude hay Cursor. Ở phía người dùng enterprise thì OpenAI đã chiếm trọn thị trường

    • Cũng có gói AI ULTRA giá 300 USD mỗi tháng. Ngay cả gói Google One cũng cho cảm giác các "tính năng bổ sung" thay đổi liên tục theo từng thời điểm, nên rất khó nắm rõ mình thực sự được gì

    • Anthropic cũng vậy. Đăng ký thuê bao thì có thể dùng Claude, nhưng Claude Code lại tính phí riêng theo "mức sử dụng API", tách biệt khỏi thuê bao. Như thể có ai đó nhận ra những người như chúng ta thích CLI và học cách thu phí riêng cho nó. Dù có thể lách qua GUI, nhưng việc điều hướng không trực quan như trong terminal nên rất bất tiện

  • Tôi là người trực tiếp tham gia dự án này. Hiện tại đường cong tiếp nhận đang rất dốc, và vào những ngày TPU chạy hết công suất như hôm nay, tôi đang trân trọng đọc mọi phản hồi của mọi người. Chúng tôi luôn hoan nghênh báo cáo lỗi hay yêu cầu tính năng

    • Chiều qua tôi đã vật lộn để chuyển một thuật toán viết bằng Ruby, một ngôn ngữ tôi không biết, sang JavaScript thuần. Tôi thử với GPT-4.1 nhưng chỉ tốn thời gian mà thất bại. Vì tò mò tôi cài Gemini CLI, trỏ vào project Ruby rồi chỉ với một yêu cầu duy nhất đã chuyển đổi thành công rất nhanh. Toàn bộ quá trình kết thúc chỉ trong 5 phút, thật sự bất ngờ

    • Tôi dùng tài khoản tổ chức trả phí Google Workspace with Gemini nhưng lại hiện thông báo GOOGLE_CLOUD_PROJECT 환경변수 없음. Tôi không dùng GCP nên nếu không có hướng dẫn bổ sung thì việc tìm ra giá trị của biến môi trường này không hề trực quan. Người dùng trả phí lại kém tiếp cận hơn người dùng Google thông thường, tài liệu cần được cải thiện

    • Tôi đã tích hợp thành công đoạn mã do Gemini CLI tạo ra vào Apple Container trên M1. Giải thích cách áp dụng tùy chọn Gemini CLI trong CodeRunner

    • Hy vọng sẽ có gói thuê bao thân thiện hơn với người dùng phổ thông, ví dụ như kiểu Claude Max gộp Gemini CLI và ứng dụng Gemini, kèm tuân thủ IP và quyền truy cập API

    • Google Gemini, Gemini Ultra, AI Studio, Vertex AI, Notebook LLM, Jules và nhiều sản phẩm có chức năng tương tự đang quá nhiều, gây rối cho việc hướng dẫn người dùng và hệ thống cấp phép

  • Tôi đã đạt kết quả tạm ổn với Claude Code (4 Opus) trên một codebase Rust lớn, nhưng với các tác vụ phức tạp thì vẫn còn thiếu. Hôm nay tôi cũng thử Gemini CLI, cài đặt thì dễ nhưng kết quả lại thảm hại. Về tỷ lệ sửa code Rust rồi biên dịch thành công thì rõ ràng kém hơn Claude. Dù vậy, Gemini lại mang đến khoảnh khắc gây cười hôm nay khi tự để lại câu kiểu "Tôi đã làm code rối tung lên nên sẽ hoàn tác toàn bộ thay đổi và bắt đầu lại từ đầu"

    • Cách Gemini thất bại lại thành ra khá buồn cười. Khi sửa code mà không có tác dụng, nó sẽ buông những câu rất "con người" như "Điều này thật bất ngờ" rồi lại tự tin tuyên bố kiểu "Tôi nghĩ test sẽ pass!". Tính cách mặc định quá tự tin và dùng thán từ quá nhiều cũng rất dễ thấy. Có lẽ trong quá trình huấn luyện nó đã học rằng việc khẳng định kết quả dứt khoát sẽ tạo ra đầu ra tốt hơn

    • Có giả thuyết rằng Gemini được hưởng lợi từ việc được huấn luyện trên codebase nội bộ quy mô lớn của Google, nhưng vì Rust trong Google gần như không được dùng nhiều do hệ tool C++ quá tốt, nên Gemini tương đối yếu ở mảng Rust

    • Tôi cũng có trải nghiệm tương tự. Tôi đang test một tính năng mới của ứng dụng thì mọi thứ rối tung hoàn toàn. Nó dùng các hàm chưa được định nghĩa, lặp lại lỗi vài lần rồi bỏ cuộc. Claude thì hoàn thành được ở mức ổn, nhưng chất lượng code không cao; còn Gemini có những ý tưởng riêng lẻ khá mới mẻ nhưng thiếu nhất quán nên cuối cùng không hoàn thiện được

    • Tôi cũng thử và sau 15 phút đã nhận đúng phản ứng kiểu "khôi phục mọi thứ về trạng thái ban đầu"

    • Claude cũng sẽ cố quay về điểm xuất phát nếu tình hình quá tệ. Tôi đã thấy trường hợp như vậy khi nội bộ các chỉnh sửa bị rối tung lên

  • Khi dùng Gemini Code Assist thì toàn bộ dữ liệu code của tôi sẽ được gửi về Google (thông báo liên kết), bao gồm prompt, code liên quan, kết quả, phản hồi sử dụng, thông tin dùng tính năng và mọi dữ liệu khác đều được thu thập để cải thiện dịch vụ Google và machine learning. Để cải thiện chất lượng, con người có thể trực tiếp xem, gắn chú thích và xử lý dữ liệu. Dữ liệu được tách khỏi thông tin tài khoản để bảo vệ quyền riêng tư và lưu giữ tối đa 18 tháng. Khuyến nghị không nhập thông tin nhạy cảm hoặc dữ liệu không muốn công khai ra bên ngoài

    • Phần này thực ra phức tạp hơn một chút. Bản Code Assist miễn phí mặc định sẽ dùng dữ liệu thu thập được, nhưng có thể opt-out thông qua quy trình hướng dẫn riêng. Bản Code Assist trả phí thì dữ liệu không được dùng để cải thiện model. Ngay cả khi dùng bằng Gemini API key của tài khoản pay as you go thì cũng không bị thu thập tương tự. Mức độ sử dụng dữ liệu nhạy cảm thực tế được nới hơn một chút so với bài gốc

    • Tôi đồng ý với nhận xét rằng chính sách quyền riêng tư gây khó hiểu tùy thuộc vào cách team bạn đăng nhập vào Gemini CLI. Để giải quyết tranh cãi này, họ đã biên soạn lại tài liệu và FAQ mới, tóm tắt rõ ràng điều khoản dịch vụ và chính sách dữ liệu theo từng loại tài khoản (liên kết tài liệu)

    • Điều khiến tôi khó chịu nhất trong hệ sinh thái Gemini chính là chính sách riêng tư thiếu minh bạch. 2.5 pro là model tốt nhất nên tôi muốn dùng cho công việc, nhưng các điều kiện quyền riêng tư quá rối rắm, đến mức tôi phải hành xử theo giả định rằng trên thực tế mình không hề được bảo vệ chút nào. Kể cả khi tôi là người đăng ký gói cao cấp đắt tiền nhất cũng vậy

    • Mozilla và Google đã ra mắt một lựa chọn thay thế tên là Gemmafile. Gemma là phiên bản Gemini hoàn toàn chạy cục bộ, ngoại tuyến hoàn toàn (open-airgapped) dưới dạng một file duy nhất, hỗ trợ thực thi độc lập không phụ thuộc. Tải xuống 32% tổ chức đã triển khai thực tế tính đến năm 2025 (báo cáo)

    • Trong tài liệu configuration.md của Gemini CLI, mục "thông tin không bị thu thập" ghi rõ rằng thông tin nhận dạng cá nhân, nội dung prompt và response, cũng như nội dung file sẽ không được lưu trong log

  • System prompt của Gemini CLI được công khai tại Gist. Ghi chú cá nhân liên quan ở đây

    • Gemini CLI là mã nguồn mở nên có thể xem nguyên văn system prompt ngay trong kho Github

    • Trong system prompt có hướng dẫn chỉ dùng đường dẫn tuyệt đối, nhưng ví dụ về file tạm thời lại dùng đường dẫn tương đối

  • Vài ngày trước tôi dùng Claude Code để viết theo luồng code một webapp theo dõi cổ phiếu đơn giản dựa trên streamlit Python. Nó hoạt động rất tốt cho đến khi project đạt một kích thước nhất định, nhưng sau đó không còn sửa bug nhanh được nữa. Tôi thử cùng việc đó với Gemini CLI, và đúng lúc Claude Code bắt đầu loay hoay thì với yêu cầu "phân tích codebase và sửa toàn bộ bug", ứng dụng đã chạy thành công trước tiên. Cảm giác đúng là tương lai đã tới

    • Tôi tự hỏi có phải điều này là do khác biệt về context window size hay không. Cửa sổ ngữ cảnh của Gemini lớn gấp 5 lần Claude. Khi dùng Claude, trong lúc debug sẽ có lúc vì thiếu context mà mọi thứ bắt đầu lệch đi. Sau này tôi định kiểm tra lại điều đó trong môi trường cửa sổ lớn của Gemini

    • Cách dùng mẫu mực của Claude Code hiện tại là giao phần xử lý nặng cho Gemini 2.5 Pro hoặc o3/o3pro, và nhờ hỗ trợ MCP nên việc kết nối hai model khá mượt. Nếu Gemini CLI cũng là mã nguồn mở thì có vẻ sẽ hỗ trợ nhiều plugin model khác nhau. Trong tương lai khi LLM trở thành hàng hóa phổ thông, có thể các công cụ dạng tác nhân CLI sẽ trở thành chủ đạo hơn là các UI wrapper. OpenAI thắng về cuộc đua số lượng người dùng, nhưng ở UI cho công việc thực tế thì ChatGPT lại lép vế

    • Nếu bạn tạo tài liệu markdown tóm tắt dưới 100 dòng cho từng module, chỉ chứa tổng quan của module và vị trí file, để AI có thể dò theo nội dung đó, thì sẽ giúp nó hiểu ngữ cảnh tốt hơn. Nếu một thứ khó đến mức không thể gói vào định dạng này thì ngay cả lập trình viên con người cũng khó quản lý. Điều quan trọng là chỉ định tốt phần ngữ cảnh cốt lõi cho AI

    • Có vẻ prompt engineering cụ thể và rõ ràng sẽ nâng năng suất lên nhiều hơn. Những yêu cầu kiểu "sửa tất cả bug" có phần không sát với kịch bản thực tế

    • Cách này sẽ sụp đổ khi độ phức tạp tăng lên, và vì có nhiều mã trùng lặp nên khả năng cao hiệu quả bộ nhớ sẽ rất thấp. Cuối cùng có khi tự viết còn hiệu quả hơn. Tôi cũng tò mò liệu việc code làm đại ngày càng nhiều có khiến nhu cầu DRAM tăng bất thường hay không

  • Tôi đã tự thêm giao diện giọng nói hai chiều vào Gemini CLI.

  • Tôi thấy tiếc vì nó không được làm thành một binary duy nhất không cần runtime như Go hay Rust. Việc cần Node runtime là một điểm trừ

    • Với loại dự án cần cập nhật thường xuyên như thế này thì quản lý bằng npm hay pip lại thực tế hơn. Nó không phải chương trình đòi hỏi tính toán khổng lồ hay dung lượng đặc biệt lớn, nên trên phần cứng hiện đại cũng không thành vấn đề lớn. Tôi cũng nghĩ Go rất hợp với mục đích kiểu này, nhưng xét về tính thực tế thì quản lý thư viện vẫn tiện hơn

    • Cũng có cách đưa vào prompt để Gemini CLI tự viết lại bằng ngôn ngữ bạn muốn

    • Tôi có cảm giác đây là một dự án thiên về mục đích marketing kiểu "chúng tôi cũng có công cụ CLI" hơn là chất lượng sản phẩm

    • Thực tế OpenAI cũng đang rebuild Codex CLI bằng Rust thay vì Typescript, theo bài viết tham khảo. Tôi không có nhiều kinh nghiệm với Node, nhưng cảm giác việc cài đặt, đóng gói và cô lập môi trường của nó được làm rất tốt

    • Có thể Bun và Deno sẽ tạo được file thực thi standalone. Giải thích về Bun bundler Giải thích về biên dịch Deno CLI. Nếu là code Node tiêu chuẩn thì ít nhất trên Bun có lẽ sẽ chạy ổn. Tôi tò mò kích thước file thực thi sẽ khác Go hay Rust thế nào

  • "Failed to login. Ensure your Google account is not a Workspace account." Tôi thắc mắc liệu cấu trúc này có nghĩa là không thể dùng tài khoản Workspace hay không. Tôi dùng tài khoản Workspace từ thời còn là GSuite, và cuối cùng vẫn luôn có cảm giác bị hạn chế liên tục trong các dịch vụ của Google. Từ trước đến nay tôi chỉ cần domain tùy chỉnh cho Gmail, nhưng rồi cả dữ liệu YouTube, dữ liệu Fitbit, việc chọn dịch vụ thuê bao cũng đều bị chặn một cách lộn xộn. Cuối cùng việc không thể dùng tài khoản Workspace để làm công việc phát triển phần mềm với Gemini CLI khiến tôi thất vọng, như thể Google thiếu quan tâm đến những khách hàng trung thành lâu năm

  • Tôi đã dùng khoảng 1 tháng và với hiệu năng SOTA của 2.5pro cùng hỗ trợ 1M context window, nó vượt trội hơn hầu hết công cụ khác. Dù ném vào codebase lớn, nó vẫn phân tích và điều hướng nhanh, chính xác

    • Khi dùng trong Cursor, tôi gặp lỗi import bị hỏng ở các file Python lớn. Với Claude thì không bị như vậy. Không biết có ai từng gặp vấn đề lạ tương tự với Gemini không

    • Tôi tò mò về workflow