Tạo đội AI agent review như người Hàn thật sự (fork Harness + 1 triệu persona của NVIDIA)
(github.com/hongsw)TL;DR
Với một harness cần tập trung vào review — review code, review tài liệu, nghiên cứu UX, mô phỏng phỏng vấn — thì giá trị chỉ xuất hiện khi 5 reviewer mang 5 góc nhìn khác nhau. Một đội AI agent thông thường có cả 5 người gần như cùng tông giọng và cùng quan điểm, nên thực chất chỉ là ý kiến của 1 người được lặp lại 5 lần.
Fork này kéo NVIDIA Nemotron-Personas-Korea (1 triệu dòng, CC BY 4.0) vào bằng cơ chế truy xuất động lúc runtime, rồi gán cho agent những persona của người đi làm Hàn Quốc ngoài đời thực (bao gồm cả vị trí công việc, thế hệ, khu vực, hoàn cảnh gia đình), từ đó tạo ra các bản review với góc nhìn thực sự khác biệt.
Vì sao harness review cần độ sâu persona
Cùng nhìn vào một đoạn code/tài liệu/thiết kế, mỗi người sẽ có góc nhìn khác nhau:
-
Trưởng nhóm backend 45 tuổi, xuất thân SI
→ "Xét về quản trị rủi ro thì mình nên đi theo hướng triển khai theo từng giai đoạn. Kiểm chứng đủ rồi hẵng đi thì cuối cùng lại rút ngắn tiến độ." -
Growth marketer thế hệ MZ, 24 tuổi
→ "Việc nhanh chóng dựng giả thuyết nguyên nhân khi số liệu nhảy vọt là rất tốt, nhưng mức ý nghĩa thống kê hơi yếu. Mình chạy thêm A/B nhé?" -
PM là mẹ đi làm, 38 tuổi
→ "Nếu kết luận là quý này không kịp thì trước mắt nhờ mọi người điều chỉnh lại ưu tiên giúp em nhé." -
Designer 27 tuổi, xuất thân fintech
→ "Trong dữ liệu định tính từ phỏng vấn người dùng, nhận xét kiểu 'khoảnh khắc nhận coupon hơi nhạt' lặp lại khá nhiều ạ."
→ Cùng nhìn một đoạn code, 4 người sẽ chốt ra những rủi ro/giá trị/ưu tiên khác nhau. Đó chính là bản chất của một đội review.
Đã thêm gì vào (3 skill mới, không xâm lấn)
Giữ nguyên revfactory/harness, chỉ dùng từ khóa trong description để tự động phân nhánh trigger:
korean-persona-search— bộ lọc đa trục bằng Parquet predicate pushdown (nghề nghiệp·khu vực·độ tuổi·học vấn·thế hệ) + lấy mẫu đa dạngkorean-voice-adapter— ma trận văn phong lịch sự kiểu Hàn + văn hóa công sở Hàn Quốc (tuyến báo cáo·phép lịch sự trong họp·cách nói vòng) + từ điển thuật ngữ của 13 ngànhkorean-persona-harness— meta orchestrator (pipeline 5 sub-agent: nhà phân tích kịch bản → curator persona → adapter văn phong → builder agent → QA đa dạng)
Tương thích cả Claude Code lẫn Codex CLI — cùng định dạng SKILL.md, chia sẻ cache dataset.
Kiểm chứng — cùng LLM, cùng tác vụ, cùng dung lượng (102 dòng vs 103 dòng)
Mô phỏng biên bản họp standup hằng tuần của một nhóm 5 người. Độ chính xác miền nghiệp vụ là tương đương. Khác biệt xuất hiện ở độ đa dạng góc nhìn.
Kết quả harness thông thường:
- Khả năng nhận diện giọng nói: thấp (5 người gần như cùng một tông)
- Phép lịch sự công sở kiểu Hàn: rất ít
- Phản hồi lẫn nhau·động viên·cảm ơn: 0 lần
- Tông nhờ vả/xác nhận: 5 lần
- Bộc lộ hoàn cảnh cá nhân: 0 trường hợp
Kết quả korean-persona-harness:
- Khả năng nhận diện giọng nói: rất cao (che tên vẫn nhận ra)
- Phép lịch sự công sở kiểu Hàn: phong phú (tránh khẳng định chắc nịch·mentoring·tông xác nhận)
- Phản hồi lẫn nhau·động viên·cảm ơn: 4 lần
- Tông nhờ vả/xác nhận: 11 lần
- Bộc lộ hoàn cảnh cá nhân: 2 trường hợp (lịch gia đình·kêu gọi dựa trên thẩm quyền)
Chi tiết mang tính con người chỉ xuất hiện ở Run B:
Backend (bố của hai con): "Tuần sau tôi có chút lịch của các con, nên không biết nếu mình sắp xếp trước một lượt rotation thì có ổn không."
- Phép lịch sự công sở kiểu Hàn: rất ít
- Phép lịch sự công sở kiểu Hàn: rất ít
- Phản hồi lẫn nhau·động viên·cảm ơn: 0 lần
- Tông nhờ vả/xác nhận: 5 lần
- Bộc lộ hoàn cảnh cá nhân: 0 trường hợp
Kết quả korean-persona-harness:
- Khả năng nhận diện giọng nói: rất cao (che tên vẫn nhận ra)
- Phép lịch sự công sở kiểu Hàn: phong phú (tránh khẳng định chắc nịch·mentoring·tông xác nhận)
- Phản hồi lẫn nhau·động viên·cảm ơn: 4 lần
- Tông nhờ vả/xác nhận: 11 lần
- Bộc lộ hoàn cảnh cá nhân: 2 trường hợp (lịch gia đình·kêu gọi dựa trên thẩm quyền)
Chi tiết mang tính con người chỉ xuất hiện ở Run B:
Backend (bố của hai con): "Tuần sau tôi có chút lịch của các con, nên không biết nếu mình sắp xếp trước một lượt rotation thì có ổn không."
Trưởng nhóm (45 tuổi) → marketer (24 tuổi): "Việc nhanh chóng dựng giả thuyết nguyên nhân khi số liệu nhảy vọt, cứ tiếp tục như vậy là được."
Marketer: "À, em cảm ơn trưởng nhóm!"
Trưởng nhóm: "Tuy nhiên, có dấu hiệu cho thấy chính sách retry bên mình đang hoạt động quá quyết liệt nên đã phần nào khuếch đại sự cố. Tôi sẽ chưa kết luận cho đến bản RCA cuối cùng."
→ Persona về gia đình·thế hệ·nghề nghiệp được gắn vào phát ngôn một cách tự nhiên. Không chỉ là kiểu trừu tượng "ưu tiên ổn định", mà còn thể hiện ra vì sao người này lại có ưu tiên đó trong chính hành vi của họ.
Ma trận giá trị — dùng tốt ở đâu
- Review code (5 người, 5 góc nhìn khác nhau) → rất cao
- Mô phỏng phỏng vấn người dùng ảo → rất cao
- Review marketing copy cho người dùng Hàn Quốc → rất cao
- Nghiên cứu UX·workshop persona → cao
- Mô phỏng biên bản họp·cộng tác → cao
- RFC·tài liệu kỹ thuật → trung bình
- Thiết kế hạ tầng·kiến trúc → thấp (phù hợp với
harnessgốc hơn)
Cài đặt (1 dòng)
Claude Code:
/plugin marketplace add hongsw/harness
/plugin install harness@harness
Codex CLI:
python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo hongsw/harness \
--path skills/korean-persona-search \
--path skills/korean-voice-adapter \
--path skills/korean-persona-harness
Cache dataset (dùng chung cho cả hai runtime):
pip install huggingface_hub pyarrow
python3 $SKILL_DIR/korean-persona-search/scripts/download.py
⚠️ Lưu ý: Bộ cài revfactory/harness hiện có dùng cùng tên marketplace·plugin nên cần migration 4 bước:
/plugin uninstall harness@harness
/plugin marketplace remove harness-marketplace
/plugin marketplace add hongsw/harness
/plugin install harness@harness
Liên kết
- Repo fork: github.com/hongsw/harness
- PR #9 lên upstream (đang chờ merge): github.com/revfactory/harness/pull/9
- Kết quả kiểm chứng: _workspace/comparison_test
- Dataset: huggingface.co/.../Nemotron-Personas-Korea (CC BY 4.0)
- Harness gốc: github.com/revfactory/harness
1 bình luận
Thú vị thật haha. Bên mình cũng đang đi theo một hướng khác trong lĩnh vực tương tự — đó là ClawSouls (clawsouls.ai), một nền tảng registry lưu trữ và chia sẻ persona. Các persona đã đăng ký có thể được áp dụng lên các nền tảng agent như OpenClaw, Claude Code, Cursor và Hermes Agent thông qua gói
npm clawsouls. Nếu anh/chị có thể đăng bài giúp thì rất cảm ơn. Nền tảng này cũng từng được giới thiệu trên GeekNews. Show GN: ClawSouls – registry mở giúp thay đổi persona của AI agent chỉ bằng một dòng Nếu muốn hợp tác, mong anh/chị liên hệ nhé ^^ ( contact@clawsouls.ai )