AI AgentsTiếng Việt

OpenCode và Big Pickle — con dưa muối sống trong terminal

OpenCode là AI coding agent mã nguồn mở, chạy trong terminal và giờ đã có bản Desktop (beta). Big Pickle là cái tên dưa chua của model đang chạy bên trong nó. Một ngày làm việc thật với cả hai — vui, nhưng không bịa một số liệu nào.

9views

0

Lập trình viên làm việc đêm bên laptop, một nhân vật dưa muối hoạt hình ngồi vắt vẻo trên cạnh màn hình

Có vài người quen hỏi tôi dùng AI code gì. Tôi trả lời thật: Big Pickle. Người ta tưởng tôi đùa. Tôi thì thấy cái tên hợp lý một cách đáng sợ — một cục dưa muối ủ trong terminal, ướp bằng API key, mỗi lần hỏi là nó vắt ra vài trăm dòng code giá trị dinh dưỡng… tuỳ ngày.

Cái agent đó chạy trên OpenCode — một AI coding agent mã nguồn mở, gốc gác là một cái TUI chạy trong terminal. Giờ thì ngoài bản CLI còn có bản Desktop (beta) cho macOS, Windows và Linux — không còn chỉ là cái hộp đen xanh đỏ trong terminal nữa, nhưng vẫn giữ được cái hồn CLI mà dân dev cần.

Mở một cái terminal là cả một khu chợ

OpenCode không bắt bạn ngồi trong một editor nào cả. Cài bằng npm, pnpm, homebrew, scoop… hay lấy binary về chạy thẳng — mấy câu lệnh đó đều có trong docs, không phải tôi bịa. Cái nó đòi đầu tiên của bạn: một API key của model bạn muốn dùng. Gần như provider nào có key là nối được — móc ra chỗ model nội bộ, chỗ model cloud, chỗ nào ngon thì dùng. Muốn khỏi suy nghĩ thì OpenCode Zen: một danh sách model được đội họ thử trước, chọn đại là chạy.

Rồi opencode mở trong thư mục dự án. Đúng nghĩa “chạy trong dự án” — nó đọc cấu trúc, đọc config, đọc cả lịch sử nếu bạn cho. Với bản Desktop (beta), bạn còn có thể nhìn thấy toàn bộ phiên làm việc trong một giao diện đẹp hơn — nhưng bên trong vẫn là cùng một con agent, cùng một cách nó xử lý code.

/init — viết rulebook cho agent

Lần đầu vào dự án, chạy /init. Nó dò dự án rồi đẻ ra một file AGENTS.md — kiểu sổ tay nhập ngũ cho agent: stack này, lệnh build này, đừng đụng thư mục kia, chuẩn code như nào. Bạn sửa cho đúng ý mình, rồi commit nó vào git.

Chỗ này quan trọng: file đó là nguồn sự thật cho từng phiên làm việc. Mỗi lần mở phiên mới, agent đọc lại rulebook. Không còn cảnh “tuần sau nó quên mất mình không được đụng dist/”. Prompt vứt trong đầu thì bay theo gió. AGENTS.md thì ngồi trong repo, muốn quên cũng phải xin phép git. Nghe quen không? Đúng cái điều bài prompt không version control là đời không nể nói — opencode coi nó là tính năng đầu tiên.

Plan trước, Build sau — tab là cửa xin phép

Tôi khoan thai gõ: “thêm màn hình đề xuất cho từng note”. Nó không phóng vào sửa ngay đâu — vì tôi đang ở Plan mode.

Plan mode (bấm Tab để qua lại) là chế độ agent không được phép sửa code. Nó chỉ ngồi vạch plan: sẽ sửa file nào, đụng API nào, rủi ro chỗ nào. Xử như một junior ngồi trình bày trước khi commit — nhưng không lằng nhằng mở 5 tab giải thích.

Thấy plan ổn, bấm Tab về Build mode: “nghe được, làm đi”. Nó làm, làm xong nó tắt tiếng chờ bạn review. Thấy sai thì /undo — kéo nguyên con quái về trước khi nó đẻ. Thấy tiếc thì /redo. Giống trò chơi có nút vĩ đại nhất: hủy được.

Cái tách “nghĩ” và “làm” ra hai chế độ nghe có vẻ đơn giản, nhưng nó giết một class bug thật: AI đang code mà không biết mình đang xây gì. Plan mode ép bước suy nghĩ lộ ra trước khi bàn tay (tức terminal) mấp máy.

Đồng nghiệp đúng nghĩa, không phải quả cầu tiên tri

Gõ @ là ra danh sách file trong dự án, trỏ đâu nó đọc đó — khỏi mô tả “cái file trong src/lib ấy”. Kéo một tấm ảnh vào terminal là nó thấy luôn — “đây là design tôi muốn”, không cần dịch ra 200 chữ. Muốn chia sẻ phiên làm việc cho đồng đội thì /share — nó tạo ra một link session, gửi qua kia họ xem được cả phiên, không phải copy-paste loạn ảnh.

Còn bọn sub-agent: anh explore đi dò codebase trả lời câu hỏi “authentication xử lý ở đâu” mà không đụng tay thay bạn, anh build/plan lo phần làm. Tách người điều tra khỏi người thợ — cái tổ chức thật làm cả năm, opencode làm sẵn trong một phiên.

Big Pickle — tin vào tên gọi là khởi đầu của hallucination

Giờ nói về con dưa muối. Big Pickle là model ID (opencode/big-pickle, nếu bạn mở config ra mà soi). Tên nghe như mặt hàng khuyến mãi ở chợ đầu mối. Vậy nên bài này tôi không nói “nhanh gấp 3”, “độ chính xác 99%”, hay bất kỳ con số nào tôi không đo được trên sản phẩm này. Đó là luật chơi ở đây: model trong production thì phải eval bằng việc nó làm, không phải bằng quảng cáo trên Twitter.

Cái tôi đo được thì có: nó viết nhanh hơn tôi gõ — draft, test skeleton, serialize một struct xấu xí thành 5 format — và cái đó bận đúng chỗ. Nó không tự khen. Nó không tự merge. Nó để tôi giữ cái nút cuối cùng gọi là review.

Chỗ nó “chua” (vị đặc trưng của dưa muối, bạn biết rồi đấy) là khi context thiếu: làm phép màu trên một đoạn interface tôi miêu tả dở, bịa ra option config không tồn tại, hoặc tự tin đến mức đáng ngờ khi tôi hỏi “failure mode nào mình quên?”. Không phải nó ngu. Là tôi chìa ít nguyên liệu. Dưa muối ủ từ nước cạn thì ra vị chua mạnh hơn dưa muối ủ ngon — trách ai giờ.

Nên tôi học được:

  • AGENTS.md viết kỹ = nguyên liệu ngon. File càng rõ constraint, nó càng ít bịa.
  • Plan mode trước mỗi thứ to. “Làm nhanh” không bao giờ ngon bằng “làm đúng rồi mới nhanh”.
  • Hỏi ngược nó: “cái này sẽ fail kiểu nào?” — câu hỏi rẻ nhất mà lịch dày nhất.
  • Chưa bao giờ để nó tự chấm bài mình. Xanh/đỏ, DoD, merge được hay không — người chốt.

Trade-off thì không biến mất vì có TUI

Đừng để cái vẻ “gõ là chạy” đánh lừa. OpenCode + Big Pickle chạy nhanh nhưng review vẫn đắt. Mỗi món dưa đẻ ra một rổ code, bạn phải mở từng chiếc lọ ra ăn thử. Thêm càng nhiều MCP server (công cụ nó được dùng) là thêm càng nhiều chỗ blast radius — nó gọi được tool gì là sức mạnh của nó, cũng là nguy cơ của bạn. Permission sai là đêm của bạn.

Và đừng quên: bản thân bài blog này cũng đang được viết bằng chính tổ hợp này. Không phải để làm video tự sướng marketing kiểu “TA-DA! AI viết blog” — mà để nhắc một chân lý: AI sinh candidate, người chọn cái được phép merge. Vì cái nút “biết đủ để yên tâm” chưa bao giờ nằm trong loss function.

Takeaway

OpenCode là một AI coding agent mã nguồn mở, chạy trong terminal — ngoài ra còn bản Desktop (beta) cho giao diện đẹp hơn. Cho bạn tự chọn model, tự viết rulebook (AGENTS.md), tách plan trước – build sau, /undo thoải mái, và /share cả phiên cho đồng đội. Big Pickle chỉ là cái tên dưa muối của model — tin nó theo công việc nó làm, không theo cái logo.

Dưa muối ngon hay không, thật ra phụ thuộc vào người ủ — bạn sói nước muối, để lâu thêm chút, và không bao giờ ăn mà không nếm thử. Giống như code bạn đưa lên production ấy.

Found this insightful? Like or share with your team:

Spread good engineering craft & architecture lessons.

9views

0

Comments

Email is not published. Keep it professional.

  1. No comments yet.