oh-my-agent — bộ harness tác nhân IDE đa AI cho công việc thực tế
(github.com/first-fluke)Khi bảo tác nhân “hãy làm một ứng dụng TODO”, nó đúng là sẽ tạo ra thứ gì đó. Vấn đề là nó thường xuyên làm sai hướng, vượt ra ngoài phạm vi và lặp lại cùng một lỗi.
Để giải quyết vấn đề này, ban đầu có AGENTS.md, gần đây lại xuất hiện nhiều cách tiếp cận có cấu trúc như Skills. Tuy nhiên, nếu nhìn vào các skill được chia sẻ trong thực tế, có thể thấy một vài vấn đề chung.
- Thiếu thông tin phiên bản thư viện, thứ quan trọng nhất
- Mô tả vai trò chỉ dừng ở những tuyên bố như
"You are a Senior engineer" - Nội dung chỉ cần vài từ khóa lại bị viết dài dòng, lãng phí token
Kết quả là những skill kiểu này không được mô hình tuân theo tốt, chỉ làm tốn context và về lâu dài rất dễ trở thành dead code mà chẳng ai muốn mở ra xem.
[Cách tiếp cận]
Thông qua oh-my-agent, tôi muốn giải quyết vấn đề này không phải bằng prompt mà bằng quy trình. Thay vì chỉ nói “làm lại đi” khi tác nhân làm sai, hệ thống sẽ ghi lại vì sao nó làm sai và phản ánh điều đó vào lần chạy tiếp theo.
Cơ chế tiêu biểu là chấm điểm Clarification Debt(CD). Khi tác nhân hiểu sai yêu cầu hoặc vượt phạm vi, điểm sẽ tích lũy.
- clarify: +10 — câu hỏi xác nhận đơn giản
- correct: +25 — chỉnh hướng do hiểu sai ý định
- redo: +40 — rollback vì lệch phạm vi rồi khởi động lại
- Bắt đầu làm việc mà không kiểm tra Charter: +15
- Sửa file ngoài phạm vi cho phép: +20
- Lặp lại cùng một lỗi: x1.5 multiplier
Nếu vượt 50 điểm thì bắt buộc phải viết Root Cause Analysis(RCA), còn vượt 80 điểm thì phiên làm việc sẽ bị dừng. Những bài học rút ra từ đây sẽ được tích lũy trong lessons-learned.md và được áp dụng ngay từ các phiên sau. Ngay cả khi prompt được viết đơn giản, quy trình vẫn có thể tự hiệu chỉnh.
Ngoài ra còn có một số giao thức chung để tác nhân không tự ý hành động.
- Clarification Protocol
Mức độ mơ hồ của yêu cầu được chia thành LOW / MEDIUM / HIGH. LOW thì tiếp tục, MEDIUM thì đưa ra các lựa chọn, HIGH thì dừng công việc để làm rõ. - Difficulty Guide
Chia tác vụ thành Simple / Medium / Complex và điều chỉnh độ sâu giao thức cần thiết. - Context Budget
Thiết lập ngân sách token theo từng mô hình để giảm lãng phí context không cần thiết.
Cách tiếp cận này cũng tương đồng với Harness Engineering mà OpenAI từng nói đến. Vấn đề dùng tác nhân cho tốt không phải là chuyện một dòng prompt, mà là kiểm soát tác nhân bằng cấu trúc nào.
[Cấu trúc dự án]
oh-my-agent quản lý những điều này ngay trong cấu trúc dự án.
.agents/= SSOT
Tập hợp skill, workflow và cấu hình dưới.agents/để dùng làm nguồn chân lý duy nhất. Không phụ thuộc vào một IDE cụ thể nào.- Nhóm tác nhân theo vai trò
Ngoài các vai trò cơ bản như PM, QA, Frontend, Backend, Mobile, Debug, lần này còn bổ sung thêm DB Agent và TF Infra Agent.- DB Agent: mô hình hóa SQL / NoSQL / Vector DB, kèm khuyến nghị bảo mật ISO 27001
- TF Infra Agent: Terraform đa đám mây, chính sách OPA / Sentinel, kèm hướng dẫn kiểm soát theo dòng ISO 42000
- Điều phối lấy workflow làm trung tâm
Luồng cơ bản gồm lập kế hoạch, review, debug và chạy song song. Workflow/brainstormmới được thêm vào sẽ khám phá từ khâu thiết kế mà chưa cần viết code.
Quy trình diễn ra theo thứ tự: phân tích codebase → câu hỏi làm rõ → đề xuất cách tiếp cận → người dùng phê duyệt → lưu tài liệu thiết kế, sau đó tiếp tục sang/plan → triển khai.
[Hai chế độ điều phối]
/coordinate là cách chạy nhanh rồi sửa nếu có vấn đề. PM phân rã tác vụ, chạy các tác nhân, sau đó QA review một lần. Nếu xuất hiện issue mức CRITICAL/HIGH thì chạy lại phần việc tương ứng. Tổng thể đây là một vòng lặp 7 bước nhẹ và nhanh.
Trong khi đó, /ultrawork đặt nặng khâu kiểm chứng chất lượng. Nó được chia thành 5 giai đoạn PLAN → IMPL → VERIFY → REFINE → SHIP, và mỗi giai đoạn đều có gate nên nếu không vượt qua thì không thể sang bước tiếp theo. Trong 17 bước thì có 11 bước là review, và ở giai đoạn REFINE còn thực hiện tách file, loại bỏ trùng lặp, phân tích tác dụng phụ và dọn dẹp dead code.
Nghe có thể hơi quá tay, nhưng có lẽ bạn cũng sẽ đồng ý rằng khi mức độ trừu tượng của lập trình tăng dần từ mã máy → ngôn ngữ lập trình → ngôn ngữ tự nhiên, thì điều quan trọng nhất rốt cuộc vẫn là kiểm chứng.
[Bối cảnh mở rộng dự án]
Một tháng trước, dự án từng được giới thiệu là oh-my-ag, một orchestrator dành riêng cho Antigravity. Nhưng trong khoảng thời gian đó, nhiều AI IDE đã bắt đầu dùng .agents/skills/ làm đường dẫn skill của dự án, nên không còn lý do gì để giữ nó chỉ cho một IDE cụ thể. Vì vậy nó được mở rộng thành một dạng harness tổng quát và trở thành oh-my-agent.
[Bắt đầu]
curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/… | bash
Hỗ trợ đầy đủ các AI IDE lớn như Antigravity, Claude Code, Codex CLI, Cursor.
Nếu bạn đã dùng AI IDE, rất đáng để thử một lần. Suy cho cùng, mục tiêu của nhà phát triển là đồng thời đạt được QCD (Quality, Cost, Delivery). Dự án này được tạo ra với suy nghĩ rằng phát triển tác nhân cũng không phải ngoại lệ.
🔗 GitHub: first-fluke/oh-my-agent
4 bình luận
Tôi là người dùng đã sử dụng từ trước nên đây đúng là một tin vui. Tôi đã dùng
coordinatekhá hài lòng.Đang nghĩ nếu có thể kiểm chứng thêm thì tốt, mà chế độ Ultra lại còn kỹ lưỡng hơn nữa nên ngày mai phải thử ngay mới được.
Cảm ơn bạn! Nếu nó không chịu nghe lời thì hãy cho tôi biết nhé.
Trong lúc thêm script trong package.json thì nó xóa sạch mọi file, chỉ chừa lại thư mục workspace. Đang khôi phục lại nhưng đúng là khó tin thật.
Bạn đã chạy trong nội bộ Claude hoặc agent phải không? Vì không có đoạn mã nào xóa
package.jsonhay toàn bộ tệp. Nếu bạn có thể cho biết toàn bộ luồng thì sẽ rất cảm ơn!/tmp/oh-my-agent-*oma cleanupđược gọi tường minh.cursor/skills.cursor/skillskiểu cũ