AI Automation

Các bước phải làm ngay với Claude Code trên Vscode khi build project mới

Bạn vừa mở Vscode lên và cài Claude Code extension (hoặc Fable 5). Việc đầu tiên với một project mới không phải là bắt đầu viết code kiểu "prompt and pray", mất kiểm soát token và credit ngay. Có một quy trình thiết lập mà nếu bỏ qua, bạn sẽ tốn gấp đôi credit và mất context liên tục. Dưới đây là 6 bước phải làm ngay khi build project mới với Claude Code trên Vscode, bao gồm tối ưu cho cả Fable 5.

Yêu cầu trước khi bắt đầu

  • Vscode đã cài extension Claude Code hoặc Fable 5.
  • Tài khoản Anthropic Claude có API key.
  • VPS Linux (khuyến nghị Ubuntu 24.04) để chạy Claude Code module remote, giúp không tốn tài nguyên máy local, tiết kiệm credit rõ rệt. Bạn có thể dùng VPS Linux có IPv4 Việt Nam để latency thấp khi làm việc.
  • Git đã cài đặt và có kết nối với GitLab self-hosted (xem bài hướng dẫn chi tiết).

Vì sao phải thiết lập bài bản ngay từ đầu?

Claude Code trên Vscode (bao gồm bản gốc và Fable 5) hoạt động theo cơ chế gọi API từng lần. Mỗi lần gửi lệnh là một lần tiêu tốn token. Nếu không cấu hình đúng ngay từ ngày đầu, bạn sẽ gặp: token bị đốt vào việc lặp đi lặp lại context cũ, credit hao phí vì không dùng model hiệu quả, và mất thời gian vì Claude không biết cấu trúc project của bạn.

Kinh nghiệm từ các dev đã chạy Claude Code production (thậm chí ở các công ty có budget API lớn) cho thấy: tiết kiệm 40-60% credit đến từ việc thiết lập ban đầu chứ không phải khi code. Lý do: Claude càng hiểu rõ project ngay từ giây phút đầu, càng ít cần phải hỏi lại và guess cấu trúc.

Bước 1, Cài Claude Code module trên VPS và kết nối remote

Đây là bước quan trọng nhất nếu bạn muốn chạy Claude Code mà không ngốn RAM CPU máy local (đặc biệt khi project lớn hoặc bạn dùng nhiều agent cùng lúc). Cài module Claude Code lên VPS:

ssh user@your-vps-ip
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs git
npm install -g @anthropic-ai/claude-code

Kiểm tra bằng lệnh:

claude --version

Output mong đợi: phiên bản (vd 0.x.y). Tiếp theo, cài VS Code Remote - SSH extension trên máy local và kết nối VPS làm remote host. Từ Vscode, bấm Ctrl+Shift+P, gõ "Remote-SSH: Connect to Host" và nhập IP VPS. Sau khi kết nối, mở project từ remote và chạy Claude Code ngay trên VPS, tất cả context và API call đều xử lý phía server.

Lưu ý: Nếu VPS RAM thấp (2-4GB), đừng lo, Claude Code module nhẹ, chỉ nặng khi chạy nhiều agent song song. Với VPS giá rẻ 2GB RAM bạn vẫn chạy mượt.

Verify:

claude --remote-check

Nếu có "Connected to remote", bạn đã sẵn sàng.

Bước 2, Khởi tạo file .claude-project và cấu hình module

Mỗi project mới cần một file cấu hình riêng. Claude Code sẽ đọc file này để hiểu project của bạn mà không cần bạn phải giải thích lại mỗi lần. Tạo file .claude-project ở thư mục gốc của project:

touch .claude-project

Nội dung mẫu (điều chỉnh theo project của bạn):

{
  "name": "my-app",
  "description": "Web app quản lý đơn hàng",
  "language": "TypeScript",
  "framework": "Next.js",
  "database": "PostgreSQL",
  "test_framework": "Jest",
  "target_environment": "production"
}

Việc này giúp Claude biết ngay: dùng TypeScript hay Python? Nextjs hay Express? PostgreSQL hay MongoDB? context không bị reset mỗi lần mở project mới. Với Fable 5, nó còn cho phép tùy chỉnh system prompt và model cho từng module.

Mẹo từ thực tế: Đừng ghi chung chung "language: JavaScript", ghi "TypeScript" nếu đúng, vì Claude sẽ xử lý type annotation khác hẳn.

Bước 3, Set mode và model mặc định ngay từ đầu

Claude Code trên Vscode có thể chạy ở nhiều chế độ: agent (tự động toàn bộ), plan (chỉ gợi ý không thực thi), hoặc edit (chỉ sửa file). Ngay khi vào project, hãy set mode phù hợp:

  • Agent mode, dành cho khi bạn đã rõ ràng cần làm gì (tạo CRUD, deploy, test). Tốn credit nhiều nhưng nhanh.
  • Plan mode, dùng ở đầu project, lúc chưa rõ hướng. Chỉ tốn token cho output text, không chạy lệnh. Tiết kiệm ~50% credit so với agent mode.

Cấu hình mặc định bằng file .claude-config.json (tạo ở thư mục gốc):

{
  "mode": "plan",
  "model": "claude-sonnet-4-20250514",
  "context_tokens": 32000
}

Dùng claude-sonnet làm model mặc định vì nó nhanh và rẻ hơn haiku/opus cho các tác vụ thông thường. Chỉ chuyển lên model cao hơn khi cần xử lý logic phức tạp.

Với Fable 5, bạn có thể set mode riêng cho từng "module", khai báo trong .fable-config.json ở thư mục gốc. Điều này cho phép module A (viết test) dùng agent, module B (design) dùng plan.

Bước 4, Kết nối Claude Code với GitLab self-hosted để giữ context xuyên suốt

Một trong những lỗi tốn kém nhất: mỗi lần mở Vscode, Claude Code không biết bạn đã làm gì hôm qua. Nếu bạn đang dùng GitLab self-hosted trên VPS, hãy cấu hình Claude Code kết nối với repo để nó tự động đọc lịch sử commit và issue.

Tham khảo bài hướng dẫn chi tiết kết nối Claude Code với GitLab self-hosted. Tóm tắt nhanh:

  1. Có repo GitLab đã clone về VPS (hoặc remote VPS đã mount).
  2. Trong Vscode, mở palette (Ctrl+Shift+P), chạy "Claude: Connect to GitLab".
  3. Nhập GitLab personal access token.
  4. Claude Code sẽ đọc commit gần nhất, issue đang mở và các merge request.

Lợi ích thực tế: Không phải giải thích lại project mỗi sáng. Claude biết bạn đang fix bug #42 hay đang implement feature X. Giảm 30% token hao phí cho việc nhập lại context.

Kinh nghiệm từ các dev dùng workflow này cho thấy: context loss giảm rõ rệt khi làm feature dài ngày, đặc biệt với các project có nhiều file interconnected (Next.js + Prisma + tRPC).

Bước 5, Cấu hình tối ưu token và credit ngay từ đầu

Đây là bước mà 90% dev bỏ qua và sau đó than "Claude đắt". Ngay khi build project mới, hãy làm 3 việc:

5.1. Giới hạn context window mặc định (không phải lúc nào cũng max 200K token)
Chỉ dùng full context khi cần phân tích toàn bộ codebase. Mặc định để 32K-64K là đủ cho hầu hết tác vụ hàng ngày. Set trong .claude-config.json:

{
  "context_tokens": 64000,
  "max_output_tokens": 4096
}

5.2. Dùng Fable 5 agent type "fast" cho tác vụ đơn giản
Nếu bạn dùng Fable 5, có 3 loại agent: fast (gọi model rẻ, nhanh), balanced (mặc định), deep (gọi model mạnh). Với tác vụ như "thêm comment", "sửa typo", "refactor nhỏ", dùng fast, tiết kiệm đến 3 lần credit so với deep. Cấu hình:

// .fable-config.json
{
  "default_agent_type": "balanced",
  "agent_rules": [
    { "pattern": "*.test.ts", "type": "deep" },
    { "pattern": "*.md", "type": "fast" }
  ]
}

5.3. Bật chế độ "plan first" cho mọi request mới
Trước khi Claude viết code, hãy bắt nó plan trước (dùng lệnh /plan trong chat). Bạn duyệt plan, chỉnh sửa, rồi mới cho chạy. Cách này tránh được trường hợp Claude code sai hướng và bạn phải trả tiền cho 2000 dòng code vô dụng.

Ví dụ cụ thể: bạn muốn thêm tính năng tìm kiếm. Gõ /plan Thêm search bar với Fuse.js lọc danh sách sản phẩm, Claude sẽ trả về kế hoạch và ước lượng credit. Bạn duyệt xong, nếu ổn thì /go, mỗi bước đều kiểm soát được.

Tham khảo thêm kinh nghiệm tối ưu credit Claude Code trên Vscode để biết thêm mẹo tiết kiệm chi phí.

Bước 6, Thiết lập skill và module cho Claude Code ngay từ đầu

Một trong những tính năng mạnh nhất của Claude Code và Fable 5 là "skill", tập lệnh mà Claude có thể chạy trong project. Ngay khi build project mới, hãy định nghĩa các skill cần thiết. Điều này giúp Claude tự động hóa các tác vụ lặp lại mà không cần bạn gõ từng lệnh.

Tạo thư mục .claude/skills/ ở thư mục gốc và thêm file skill (vd lint-fix.sh):

#!/bin/bash
# skill: lint-fix
# description: Chạy ESLint và tự động fix lỗi
npx eslint . --fix

Sau đó, khi bạn gõ "run lint-fix" trong chat, Claude sẽ tự động chạy script đó. Các skill thông dụng cho project mới: lint-fix, test-all, build-debug, deploy-staging, sync-db.

Khi dùng Fable 5, bạn định nghĩa "module" trong file .fable/modules/. Mỗi module là một agent riêng với prompt tùy chỉnh. Ví dụ module "test-writer" có agent type "deep" chỉ chuyên viết test, hoàn toàn tự động. Tham khảo danh sách skill nên cài trên VPS cho Claude Code.

Mẹo thực chiến: Skills và modules giúp bạn không phải lặp lại các lệnh cơ bản. Nếu thấy mình gõ cùng một câu lệnh trong chat hơn 3 lần, hãy biến nó thành skill. Tiết kiệm cả credit lẫn thời gian.

Xử lý lỗi thường gặp

Lỗi 1: Claude không nhận diện được module Fable 5 sau khi cài
Kiểm tra đường dẫn file config:

ls -la .fable-config.json .fable/

Nếu thiếu, tạo lại từ mẫu có sẵn trong Vscode extension. Cũng kiểm tra Vscode đã reload window sau khi cài extension chưa.

Lỗi 2: "Cannot connect to remote VPS" khi chạy Claude Code
Kiểm tra SSH config:

ssh -v user@vps-ip
# nếu lỗi permission, check file ~/.ssh/known_hosts

Thêm dòng vào ~/.ssh/config để debug dễ hơn:

Host myvps
    HostName vps-ip
    User user
    ServerAliveInterval 60

Lỗi 3: Token/credit bị tiêu hao nhanh bất thường
Nguyên nhân thường là context window quá lớn hoặc dùng agent mode sai. Chạy lệnh kiểm tra token tiêu thụ:

claude --token-usage

Set lại max_tokenscontext_tokens trong .claude-config.json. Tham khảo hướng dẫn tối ưu token chi tiết.

Câu hỏi thường gặp

Có bắt buộc dùng VPS để chạy Claude Code không?

Không bắt buộc, nhưng khuyến nghị cao vì VPS giúp bạn chạy remote, không tốn tài nguyên máy local, và quan trọng: cho phép chạy trong giờ hành chính các agent tự động mà không lo tắt máy.

Fable 5 khác gì Claude Code gốc khi build project mới?

Fable 5 hỗ trợ module hóa, mỗi module là một agent riêng với prompt và model riêng. Claude Code gốc chỉ có một agent riêng biệt. Fable 5 cũng cho phép chạy multi-agent song song trên VPS.

Làm sao để biết mình đang tốn bao nhiêu credit?

Claude Code gốc có lệnh claude --usage. Fable 5 có panel hiển thị credit realtime tích hợp sẵn trong Vscode sidebar.

Có thể dùng môi trường local thay vì VPS không?

Có, nhưng với project lớn (nhiều file, chạy nhiều test, build production) thì VPS với RAM 4-8GB và NVMe SSD sẽ mượt hơn nhiều so với laptop. Nếu dùng local, chỉ cần cài Node.js và npm install claude-code.

Cấu hình tối thiểu cho VPS chạy Claude Code là gì?

2GB RAM, 2 vCPU, SSD 20GB là đủ cho Claude Code + GitLab self-hosted cơ bản. Với Fable 5 chạy nhiều module, nâng lên 4GB RAM.

Tôi có cần GitLab self-hosted không hay dùng GitHub cũng được?

GitHub cũng được (Claude Code hỗ trợ). GitLab self-hosted cho bạn kiểm soát dữ liệu, không phải lo quota API, và có thể tự động hóa sâu hơn qua webhook.

Bài viết liên quan

Lưu ý: Bài viết mang tính tham khảo, tổng hợp kiến thức chung. Mỗi hệ thống, hạ tầng và nhu cầu có đặc thù riêng, nên kiểm thử trong môi trường an toàn và tham vấn kỹ sư trước khi triển khai thực tế.