Manh Quy
Trang Chủ
Giới Thiệu
Dự Án
Blog
Liên Hệ

Đang tải...

Manh Quy

AI Automation · LLM Integration · Fullstack — Hà Nội, Việt Nam.

Liên Kết Nhanh

  • Trang Chủ
  • Giới Thiệu
  • Dự Án
  • Blog
  • Liên Hệ

Tài Nguyên

  • Blog
  • Điều Khoản Dịch Vụ
  • Chính Sách Bảo Mật
  • Chính Sách Cookie
  • Tuyên Bố & AI
© 2026 Manh Quy.Được tạo bằng
Next.js
Quay lại Blog
Blog
DevOps & Infrastructure
So sánh 6 công cụ chạy coding agent trong CI: chọn thế nào để việc tự động không đổ vỡ
DevOps & Infrastructure

So sánh 6 công cụ chạy coding agent trong CI: chọn thế nào để việc tự động không đổ vỡ

Một nhóm làm SEO chạy thử 6 công cụ điều khiển coding agent trong CI: Claude Code chạy trọn 6 việc, OpenCode linh hoạt nhất, Aider hay tụt về chế độ hỏi tay, còn ZCode vẫn chưa kiểm chứng được ở quy mô lớn. Bài rút ra checklist 7 câu hỏi để chọn công cụ, cùng một hiệu chỉnh quan trọng về câu chuyện mở mã nguồn của ZCode.

23 tháng 10, 2026
9 phút
0 lượt xem
So sánh 6 công cụ chạy coding agent trong CI: chọn thế nào để việc tự động không đổ vỡ

Một nhóm làm SEO vừa chạy thử sáu công cụ điều khiển coding agent trên cùng sáu công việc định kỳ. Tất cả chạy ở chế độ tự động, không cần người ngồi canh, bên trong CI. Kết quả gây bất ngờ: thứ làm hỏng pipeline nhiều nhất không phải câu trả lời sai của model, mà là công cụ không chạy nổi khi vắng người giám sát.

Harness ở đây là "khung chạy" bọc quanh model ngôn ngữ: vòng lặp, công cụ, cơ chế phân quyền, quản lý ngữ cảnh và điểm mở rộng. Khung chạy cho phép model đọc file, chạy lệnh và hoàn thành việc nhiều bước mà không cần ai gõ từng lệnh.

Khi các model đầu bảng đã gần ngang nhau về chất lượng, khung chạy trở thành yếu tố quyết định. Nó quyết định agent có chạy qua đêm trong CI được không. Nó quyết định agent có gọi được nguồn dữ liệu của bạn qua MCP không, và có ở yên trong giới hạn quyền an toàn không.

MCP là giao thức chuẩn mở để agent kết nối với nguồn dữ liệu ngoài như Search Console hay trình thu thập dữ liệu, thay vì mỗi công cụ tự nghĩ một cách cắm riêng.

Sáu công việc đem ra thử

Nhóm Echloe chạy agent ở chế độ tự động trong GitHub Actions, trên sáu việc lặp đi lặp lại:

  1. Phân tích chênh lệch hai bản thu thập dữ liệu (crawl diff), đánh dấu lỗi mới.
  2. Sinh schema markup cho trang sản phẩm, tức đoạn mã mô tả cấu trúc để công cụ tìm kiếm hiểu trang.
  3. Phát hiện cơ hội liên kết nội bộ.
  4. Sinh brief nội dung từ dữ liệu trang kết quả tìm kiếm.
  5. Kiểm tra cách công cụ tìm kiếm AI hiển thị trang của họ (GEO audit).
  6. Viết lại hàng loạt meta description, có người duyệt trước khi đăng.

Điểm chung của sáu việc: lặp lại, làm việc trên file, và kiểm chứng được kết quả. Đúng kiểu việc agent làm tốt, với điều kiện harness chịu chạy mà không cần ai bấm tiếp.

Từng công cụ thể hiện ra sao

Claude Code chạy trọn cả sáu việc ở chế độ headless. Cờ --print và các tầng phân quyền cho phép khóa ở chế độ chỉ đọc khi kiểm tra, chỉ mở quyền ghi cho việc sinh nội dung. MCP cắm thẳng dữ liệu Search Console vào. Cái giá là bị khóa vào model của Anthropic.

# Chạy Claude Code headless trong CI
claude -p "Phân tích chênh lệch crawl trong /data/crawl-diff.csv. \
  Đánh dấu trang có lỗi 4xx mới hoặc title đổi. \
  Ghi kết quả ra /output/crawl-report.md" \
  --allowedTools "Read,Write(/output/*)" \
  --print

Codex CLI làm tốt các việc sinh nội dung. Mô hình sandbox của nó nghiêm, tốt cho an toàn, nhưng việc phân tích crawl diff phải cấu hình thêm mới được quyền đọc file. Chế độ headless chạy được, dù cờ --quiet nuốt mất một phần thông tin chẩn đoán hữu ích.

Gemini CLI cắm gọn với nguồn dữ liệu của Google Cloud nên truy vấn Search Console rất nhẹ. Chạy headless ổn định. Cửa sổ ngữ cảnh dài giúp ích ở việc tìm liên kết nội bộ, nơi phải nạp cả sơ đồ trang lớn. Đánh đổi là khóa vào model Google.

OpenCode là bất ngờ thú vị về độ linh hoạt. Nhóm trỏ nó vào Claude qua proxy tương thích OpenAI rồi sang GPT-4o, chạy cùng một việc với cả hai model để so sánh. Hỗ trợ MCP đầy đủ. Danh sách đường dẫn cho phép tuy đơn giản nhưng hiệu quả trong CI.

# Đoạn cấu hình OpenCode cho CI
model: claude-sonnet-4-20250514
provider: anthropic-compatible
allowed_paths:
  - /workspace/data/*
  - /workspace/output/*
mcp_servers:
  - name: search-console
    url: http://localhost:3001

Aider chắc tay ở việc viết lại nội dung, vì cách tiếp cận dựa trên git khiến mọi thay đổi đều là commit có thể xem lại hoặc hoàn tác. Nhưng chế độ headless phải xoay xở bằng script: thỉnh thoảng nó tụt về hỏi tương tác giữa chừng, giết chết pipeline CI cho đến khi nhóm bọc thêm bộ đếm giờ.

ZCode là cái tên cần đọc kỹ nhất. Tác giả bài gốc chỉ chạy tương tác hai việc, chạy được, và thành thật rằng không thể nói gì thêm nếu chưa chạy không giám sát vài tuần. Đó là cách đánh giá trung thực duy nhất cho một harness tự động hóa.

Về ZCode còn một hiệu chỉnh quan trọng. Bài gốc viết theo hướng "Z.ai mở mã nguồn ZCode vào tháng 10/2026". Thực tế đã kiểm chứng thì khác. Z.ai mở mã nguồn client ZCode ngày 20/9/2026 tại github.com/zai-org/ZCode, nhưng đó là phản ứng xử lý khủng hoảng, không phải một buổi ra mắt.

Hai ngày trước đó, một bài phân tích kỹ thuật của ferstar đăng trên Hacker News phát hiện điều đáng lo. Bản desktop đóng gói sẵn của ZCode đã gom cả thư mục làm việc, gồm toàn bộ lịch sử git, rồi đẩy lên lưu trữ Aliyun OSS. Trong một phiên được ghi nhận, 313MB trên tổng 345MB tải lên là lịch sử git, tức 86,6%. Ngày 21/9 công ty đăng biện pháp khắc phục: repo mở ngày 20/9, đạt 3.400 sao trong một ngày, kiểm toán độc lập bên thứ ba, tuyên bố đã xóa bucket lưu trữ. Chất lượng harness của ZCode vì thế vẫn ở trạng thái chưa kiểm chứng, và câu chuyện mở mã nguồn của nó là bài học về niềm tin, không phải về tính năng.

Bảng so sánh nhanh

Công cụ Khóa model Chạy headless/CI Hỗ trợ MCP Mô hình phân quyền Giấy phép
Claude Code Chỉ model Anthropic Có (--print) Gốc Theo tầng (gợi ý / tự sửa / toàn quyền) Độc quyền + mở mã nguồn
Codex CLI Chỉ model OpenAI Có (--quiet) Qua plugin Dựa trên sandbox Mở (Apache 2.0)
Gemini CLI Chỉ model Google Có Gốc Tích hợp IAM của Google Cloud Mở (Apache 2.0)
OpenCode Mọi API tương thích OpenAI Có Gốc Danh sách đường dẫn cho phép Mở (MIT)
Aider Nhiều nhà cung cấp Một phần (chế độ script) Qua adapter cộng đồng Lưới an toàn dựa trên git Mở (Apache 2.0)
ZCode Nhiều nhà cung cấp (mô tả) Tuyên bố có, chưa kiểm chứng ở quy mô lớn Dự kiến Chưa rõ Mở (MIT)

Bảy câu hỏi trước khi chọn

Bài gốc đưa ra một checklist quyết định, đáng giữ nguyên:

  1. Chạy headless: nó có chạy trong CI mà không bao giờ hỏi nhập liệu không?
  2. Kiểm soát quyền: có giới hạn được đường dẫn file, truy cập mạng và lệnh shell theo từng việc không?
  3. Hỗ trợ MCP: có nối được nguồn dữ liệu của bạn qua giao thức chuẩn không?
  4. Linh hoạt model: đổi model có phải viết lại prompt và cấu hình công cụ không?
  5. Dấu vết kiểm tra: có thấy chính xác agent đã đọc, đã ghi và đã chạy gì không?
  6. Chế độ hỏng: khi hỏng, nó hỏng ồn ào (mã lỗi, log) hay hỏng im lặng?
  7. Kiểm soát chi phí: có đặt được ngân sách token hoặc giới hạn bước cho mỗi lần chạy không?

Ba mục đầu cộng với dấu vết kiểm tra là ngưỡng tối thiểu cho tự động hóa marketing an toàn. Phần còn lại là sở thích.

Con số đáng nhớ đi kèm đến từ METR. Thử nghiệm ngẫu nhiên có đối chứng tháng 7/2025 của họ (Becker và cộng sự, arXiv 2507.09089) cho thấy lập trình viên giàu kinh nghiệm dùng công cụ AI lại chậm hơn 19%. Điều trớ trêu: những người này tưởng mình nhanh hơn khoảng 20%.

Chọn sâu của hãng hay linh hoạt của mở

Nhóm công cụ của hãng (Claude Code, Codex CLI, Gemini CLI) có độ tinh chỉnh sâu nhất cho đúng model của họ. Chúng hiểu định dạng gọi công cụ của model một cách tự nhiên. Chúng xử lý được trường hợp biên và thường có tính năng mới trước.

Nhóm mở, không khóa nhà cung cấp (OpenCode, Aider, ZCode) cắt được khóa chặt và cho định tuyến sang model rẻ nhất hoặc hợp nhất cho từng việc. Cái giá là cấu hình nhiều hơn và thỉnh thoảng va vào chỗ tương thích chưa mượt.

Với đội chạy nhiều việc SEO mỗi đêm, nhóm tác giả chia việc cho hai công cụ. Claude Code đảm nhận các việc kiểm tra quan trọng, nơi mô hình phân quyền của Anthropic cho họ sự yên tâm. OpenCode đảm nhận các việc nội dung hàng loạt, nơi họ muốn thử A/B model mà không đổi pipeline.

Việc kiểm tra lại code do agent viết bằng công cụ phân tích tĩnh cũng thuộc cùng một triết lý. Bài chạy Larastan từng level trên code AI viết trên blog này đã cho thấy: đừng tin agent, hãy kiểm chứng đầu ra của nó.

Quy tắc rút gọn: chọn theo độ ổn định khi chạy tự động và kiểm soát quyền trước, chọn model sau. Một công cụ chạy xuyên đêm không đổ vỡ đáng giá hơn một model thông minh hơn vài phần trăm nhưng cần người ngồi canh.

Nguồn tham khảo

  • dev.to/devtoaaron, "Coding Agent Harnesses Compared for SEO and GEO Work" (bản đầy đủ trên echloe.io), 2026-10-22.
  • Becker và cộng sự, "Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity", arXiv 2507.09089 (thử nghiệm METR, tháng 7/2025).
  • github.com/zai-org/ZCode — repo mở mã nguồn ZCode (20/9/2026); bài phân tích của ferstar trên Hacker News (18/9/2026) về việc ứng dụng đóng gói tải lịch sử git lên Aliyun OSS.

Nguồn tham khảo

  • Coding Agent Harnesses Compared for SEO and GEO Work (DEV Community)
  • github.com/zai-org/ZCode
  • Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity (arXiv 2507.09089)

Thẻ bài viết

#AI agent
#AI trong phát triển phần mềm
#MCP
#Mã nguồn mở

Bạn thấy bài viết này hữu ích?

Hãy để lại like và chia sẻ với cộng đồng!

Bài Viết Liên Quan

Bình luận

Để lại bình luận

0/2000 ký tự