Tổng quan về Claude Code và Goose
Claude Code của Anthropic là một AI agent chạy trên đám mây, cho phép viết, debug và triển khai mã tự động. Tuy nhiên, mức phí lên đến 200 USD/tháng và các giới hạn token khiến nhiều lập trình viên bức xúc. Ngược lại, Goose – dự án mã nguồn mở của Block (trước đây là Square) – cung cấp cùng chức năng nhưng chạy hoàn toàn trên máy cá nhân, không có phí thuê bao, không giới hạn tốc độ và bảo vệ dữ liệu người dùng.
Goose hoạt động như một agent dạng command‑line hoặc desktop, có thể kết nối với bất kỳ mô hình ngôn ngữ lớn (LLM) nào, kể cả các mô hình mã nguồn mở như Qwen, Llama, Gemini hoặc thậm chí Claude của Anthropic nếu bạn có API. Điều này mang lại tự do về chi phí, quyền riêng tư và khả năng làm việc ngoại tuyến – ví dụ khi đang trên máy bay.

Bước 1: Cài đặt Ollama để chạy mô hình LLM cục bộ
Ollama là công cụ giúp tải, tối ưu và phục vụ các mô hình ngôn ngữ trên máy của bạn. Việc cài đặt Ollama là tiền đề để Goose có thể sử dụng mô hình mã nguồn mở mà không cần kết nối internet.
Quá trình cài đặt khá đơn giản và hỗ trợ macOS, Windows và Linux. Sau khi cài, bạn chỉ cần một lệnh để tải mô hình phù hợp cho công việc lập trình.
- Bước 1: Truy cập https://ollama.com và tải bộ cài đặt phù hợp với hệ điều hành của bạn (Mac, Windows hoặc Linux).
- Bước 2: Mở file cài đặt, làm theo hướng dẫn để cài Ollama vào hệ thống (đối với Linux, có thể dùng lệnh sudo apt install ./ollama_*.deb).
- Bước 3: Mở terminal (hoặc Command Prompt) và chạy lệnh ollama pull qwen2.5‑7b‑chat để tải mô hình Qwen 2.5 phiên bản 7 billion parameters, mô hình này có hỗ trợ tool‑calling mạnh mẽ cho các tác vụ code.
- Bước 4: Kiểm tra mô hình đã sẵn sàng bằng lệnh ollama run qwen2.5‑7b‑chat và nhập một câu hỏi thử (ví dụ: "Write a Python function to reverse a string").
- Bước 5: Đảm bảo Ollama đang chạy trên cổng mặc định http://localhost:11434; nếu không, chỉnh sửa file cấu hình ~/.ollama/ollama.yaml để thiết lập port 11434.
Bước 2: Tải và cài đặt Goose
Goose được phát hành dưới dạng binary cho các nền tảng chính và cũng có phiên bản desktop có giao diện người dùng. Bạn có thể chọn cách cài đặt phù hợp với thói quen làm việc – CLI cho người thích terminal hoặc Desktop cho những ai muốn giao diện đồ họa.
Cả hai phiên bản đều được lưu trữ trên GitHub và có tài liệu hướng dẫn chi tiết.
- Bước 1: Truy cập https://github.com/block/goose/releases và tải file binary phù hợp (goose‑mac‑amd64.zip, goose‑windows‑amd64.zip hoặc goose‑linux‑amd64.tar.gz).
- Bước 2: Giải nén file tải về vào thư mục muốn lưu (ví dụ: ~/goose).
- Bước 3: Thêm thư mục chứa binary vào PATH hệ thống để có thể gọi lệnh goose từ bất kỳ terminal nào (trên macOS/Linux: echo 'export PATH=$PATH:~/goose' >> ~/.bashrc && source ~/.bashrc; trên Windows: System Properties → Advanced → Environment Variables → Path → Add).
- Bước 4: Kiểm tra cài đặt bằng cách chạy goose –version; nếu hiển thị phiên bản hiện tại, cài đặt đã thành công.
- Bước 5 (tùy chọn): Đối với phiên bản Desktop, tải file .dmg (macOS) hoặc .exe (Windows) từ cùng trang releases, chạy installer và mở ứng dụng Goose Desktop.
Bước 3: Kết nối Goose với mô hình LLM cục bộ
Sau khi có Ollama và Goose, bước tiếp theo là cấu hình Goose để sử dụng mô hình đã tải về. Quá trình này chỉ mất vài cú click trong giao diện Desktop hoặc vài câu lệnh trong CLI.
- Bước 1: Nếu dùng Goose Desktop, mở ứng dụng, vào Settings → Configure Provider.
- Bước 2: Chọn "Ollama" làm nhà cung cấp, nhập API Host là http://localhost:11434 (cổng mặc định của Ollama) và nhấn Submit.
- Bước 3: Trong mục Model Name, nhập tên mô hình chính xác như qwen2.5‑7b‑chat và lưu lại.
- Bước 4: Nếu dùng CLI, chạy lệnh goose configure, chọn "Configure Providers", chọn Ollama, và nhập model name khi được hỏi.
- Bước 5: Kiểm tra kết nối bằng lệnh goose test –model qwen2.5‑7b‑chat; nếu nhận được phản hồi “Connection successful”, bạn đã sẵn sàng.

Bước 4: Sử dụng Goose để viết, debug và triển khai mã
Goose có thể thực hiện toàn bộ vòng đời phát triển phần mềm: tạo dự án mới, viết hàm, chạy test, và thậm chí mở pull request trên GitHub. Dưới đây là quy trình mẫu để phát triển một ứng dụng Node.js đơn giản.
- Bước 1: Mở terminal và di chuyển tới thư mục làm việc, rồi khởi chạy Goose bằng lệnh goose new project my‑app –lang javascript.
- Bước 2: Khi dự án đã được tạo, yêu cầu Goose viết một file server.js với Express: goose ask "Create a basic Express server listening on port 3000".
- Bước 3: Kiểm tra file bằng lệnh node server.js; nếu chạy thành công, tiếp tục yêu cầu Goose thêm một route GET /hello trả về "Hello, World!": goose ask "Add a GET /hello endpoint that returns 'Hello, World!'".
- Bước 4: Để debug, chạy goose debug server.js –line 12; Goose sẽ phân tích lỗi và đề xuất sửa chữa tự động.
- Bước 5: Khi mọi thứ ổn, yêu cầu Goose chạy test suite: goose test –framework jest.
- Bước 6: Cuối cùng, để tạo pull request trên GitHub, dùng lệnh goose github create-pr "Add Express server" –repo your‑username/your‑repo.
So sánh chi phí và tính năng giữa Claude Code và Goose
Claude Code cung cấp các gói Pro (khoảng 20 USD/tháng) và Max (100‑200 USD/tháng) với giới hạn token/giờ và token/tuần. Các giới hạn này thường khiến các lập trình viên phải dừng lại chỉ trong 30‑45 phút khi làm việc cường độ cao. Ngoài ra, dữ liệu được gửi lên máy chủ Anthropic, gây lo ngại về quyền riêng tư.
Ngược lại, Goose không thu phí, không có giới hạn token và toàn bộ quá trình diễn ra trên máy tính cá nhân. Bạn hoàn toàn kiểm soát mô hình, dữ liệu và có thể làm việc offline. Nhược điểm là hiệu năng phụ thuộc vào phần cứng và chất lượng mô hình mở nguồn vẫn chưa bằng Claude 4.5 Opus trong các tình huống phức tạp. Tuy nhiên, với mô hình Qwen 2.5‑7b hoặc Llama‑2‑13b, đa số các tác vụ thông thường (viết hàm, tạo API, test đơn giản) được thực hiện mượt mà và không tốn phí.
Tối ưu hoá môi trường và phần cứng cho Goose
Mặc dù Goose hoạt động trên mọi máy, nhưng để chạy các mô hình lớn cần đủ RAM hoặc VRAM. Block khuyến nghị ít nhất 32 GB RAM cho các mô hình trên 7 billion parameters. Nếu bạn chỉ dùng mô hình nhỏ hơn (3‑4 billion), 16 GB RAM vẫn đủ.
Đối với máy Windows hoặc Linux có GPU NVIDIA, việc cài đặt driver CUDA và thiết lập Ollama để sử dụng GPU sẽ giảm thời gian inference đáng kể. Trên macOS, bạn có thể tận dụng Apple Silicon và bộ nhớ thống nhất (Unified Memory) – MacBook Pro 32 GB là lựa chọn lý tưởng.
Nếu phần cứng chưa đáp ứng, bạn vẫn có thể bắt đầu với mô hình 1‑2 billion (ví dụ: qwen2.5‑1.8b‑chat) và sau khi quy trình làm việc ổn định, nâng cấp lên mô hình mạnh hơn.
- Bước 1: Kiểm tra RAM hiện có bằng lệnh free -h (Linux) hoặc System Information (macOS).
- Bước 2: Đối với GPU, chạy nvidia-smi để xác nhận driver và VRAM; nếu chưa cài, tải driver mới nhất từ https://www.nvidia.com/Download/index.aspx.
- Bước 3: Trong Ollama, bật chế độ GPU bằng cách chỉnh sửa ~/.ollama/ollama.yaml và thêm "gpu: true"; khởi động lại Ollama.
- Bước 4: Nếu muốn thay đổi mô hình sang phiên bản nhỏ hơn, dùng lệnh ollama pull qwen2.5‑1.8b‑chat và cập nhật trong Goose Settings → Model Name.
- Bước 5: Kiểm tra tốc độ phản hồi bằng lệnh goose ask "Write a simple loop in JavaScript"; nếu thời gian < 2 giây, môi trường đã tối ưu.
Câu hỏi thường gặp (FAQ)
❓ Claude Code thực sự tính phí như thế nào?
Claude Code có gói Pro khoảng 20 USD/tháng (giới hạn 10‑40 prompt mỗi 5 giờ) và gói Max từ 100‑200 USD/tháng (giới hạn 50‑200 prompt mỗi 5 giờ và thêm token Sonnet/Opus). Các giới hạn dựa trên token, nên thời gian “giờ” không phản ánh thực tế.
❓ Goose có cần kết nối internet không?
Nếu bạn dùng mô hình cục bộ qua Ollama, Goose hoàn toàn hoạt động offline. Bạn chỉ cần internet để tải Ollama và mô hình lần đầu.
❓ Mô hình nào phù hợp cho lập trình khi dùng Goose?
Qwen 2.5‑7b‑chat là lựa chọn cân bằng giữa kích thước và khả năng tool‑calling. Đối với máy có RAM 16 GB, có thể dùng qwen2.5‑1.8b‑chat; với RAM ≥32 GB, các mô hình 7‑13 billion sẽ mang lại kết quả tốt hơn.
❓ Goose có hỗ trợ GitHub tự động không?
Có. Goose tích hợp chức năng “function calling” cho phép tạo, cập nhật và mở pull request trên GitHub thông qua lệnh goose github create-pr "Tiêu đề PR" –repo owner/repo.
❓ Nếu máy tính của tôi không đủ mạnh, tôi nên làm gì?
Bắt đầu với mô hình nhỏ (1‑2 billion parameters) để giảm yêu cầu RAM/VRAM. Khi dự án phát triển, cân nhắc nâng cấp RAM hoặc sử dụng máy tính có GPU để chạy mô hình lớn hơn.
