20 điểm bởi GN⁺ 5 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Hướng dẫn thực chiến hệ thống hóa năm nguyên tắc trong cộng tác với AI: cung cấp ngữ cảnh, mã hóa sở thích thành cấu hình, tự động hóa khâu kiểm chứng, mở rộng ủy quyền và tạo vòng lặp phản hồi
  • Mọi đầu ra công việc (mã, tài liệu, phân tích, quyết định) đều được tích lũy thành ngữ cảnh cho phiên sau, còn các chỉnh sửa được phản ánh vào cấu hình để giảm lỗi trong tương lai theo cơ chế lãi kép
  • Trình bày các cách cụ thể để quản lý hành vi của mô hình và quy trình làm việc như quản lý mã, bằng CLAUDE.md, file skill, guide, v.v.
  • Bao gồm chiến lược ủy quyền để mở rộng năng suất xử lý công việc như vận hành phiên song song, đối chiếu chéo giữa các mô hình và điều khiển từ xa
  • Những nguyên tắc này không chỉ áp dụng cho AI mà còn là khung làm việc phổ quát có thể áp dụng tương tự cho cộng tác trong đội ngũ con người

Xây dựng ngữ cảnh như hạ tầng

  • Nếu sắp xếp toàn bộ mã trong ~/src và công việc tri thức trong ~/vault (projects/, notes/, kb/...), mô hình sẽ dễ tìm kiếm ngữ cảnh bằng grep hoặc glob hơn
  • Có thể kết nối ngữ cảnh của tổ chức (Slack, Drive, Mail, v.v.) vào mô hình thông qua MCP (Model Context Protocol)
    • Duy trì INDEX.md theo từng dự án, và ghi chú URL, người phụ trách, mô tả nội dung cho mỗi mục
    • Danh sách URL thuần túy buộc mô hình phải mở mọi liên kết, nên nếu thêm chú thích sẽ tránh lãng phí ngữ cảnh
  • Vì mỗi phiên mới mô hình đều bắt đầu từ trạng thái trắng thông tin, cần viết CLAUDE.md theo từng dự án giống như tài liệu onboarding cho nhân sự mới
    • Bao gồm bảng thuật ngữ viết tắt, codename dự án, cách phân biệt người trùng tên, v.v.
    • Chỉ định thứ tự đọc theo INDEX.mdTODOS.md → ghi chú theo chủ đề cụ thể
  • Vận hành tách biệt hai lớp bộ nhớ
    • ~/vault: lưu thông tin sự thật (facts) như trạng thái dự án, đầu ra công việc, tri thức miền
    • ~/.claude (CLAUDE.md, skills/, guides/): lưu cấu hình (configuration) như sở thích, workflow, gu cá nhân

Mã hóa sở thích thành cấu hình

  • Tận dụng ~/.claude/CLAUDE.md

    • Đóng vai trò như bản cam kết hành vi mà Claude đọc khi bắt đầu mọi phiên
    • Bao gồm các quy tắc hành vi như nói trực diện, phản biện khi không đồng ý, thành thật khi không chắc chắn, điều tra nguyên nhân gốc rồi thử lại khi thất bại, không reformat ngoài phạm vi công việc, v.v.
    • Cũng có thể thiết lập phần teaching để giải thích các thuật ngữ cốt lõi của hệ thống hay miền mới xuất hiện trong 1–2 câu
  • Phân tách phạm vi theo từng thư mục

    • Global (~/.claude/CLAUDE.md): cấu hình áp dụng ở mọi nơi như hành vi, mục tiêu dài hạn, sở thích học tập
    • Repo root: quy tắc riêng của repo như linting, naming, quy ước PR
    • Project directory: ngữ cảnh chuyên biệt theo dự án như cấu trúc thư mục, tri thức miền
    • Khi khởi động từ thư mục con, Claude Code sẽ đi ngược lên cây thư mục và nạp từng CLAUDE.md
  • Chiến lược tách nhỏ khi CLAUDE.md trở nên dài

    • CLAUDE.md dài là một thuế ngữ cảnh vì phải nạp toàn bộ ở mọi phiên
    • Thay vì @import, hãy chỉ ghi đường dẫn tới các file guide trong CLAUDE.md theo kiểu “đọc khi liên quan” để thực hiện lazy loading
    • Ví dụ: khi viết tài liệu thì đọc ~/.claude/guides/writing.md, khi làm đánh giá thì đọc ~/.claude/guides/evals.md
  • Công việc lặp lại từ 1 lần/tuần trở lên nên chuyển thành skill

    • Skill là file workflow dạng Markdown chứa tên, trigger và quy trình
    • /polish: xem diff của artifact, nếu có metric thì chạy eval, nếu là render trên trình duyệt thì kiểm tra bằng Chrome, nếu không thì chạy code và kiểm tra output/lỗi → lặp lại rồi soạn PR nháp
    • /write: phỏng vấn để lập outline → tạo sub-agent nghiên cứu → viết bản nháp → nhận phản hồi từ người phê bình đối kháng → lặp lại
    • /daily: đọc lịch, Slack, PR, log ngày hôm trước rồi viết ra ưu tiên của hôm nay
    • SKILL.md nên tập trung vào workflow và routing, còn tri thức như template hay script thì tách sang file khác để chỉ nạp khi cần
  • Cách bootstrap skill

    • Sau khi làm một tác vụ theo kiểu tương tác một lần, hãy yêu cầu mô hình biến nó thành skill
    • Chạy skill cho công việc giống hoặc tương tự, rồi chỉnh đầu ra ngay trong cùng phiên đó
    • Yêu cầu mô hình cập nhật skill dựa trên các chỉnh sửa và phản hồi
    • Cũng có thể cung cấp ví dụ về đầu ra mong muốn để mô hình rút ra pattern như cấu trúc code, cấu trúc tài liệu và giọng điệu
  • Cải thiện skill thông qua transcript

    • Việc phiên bản đầu tiên overfit vào phiên gốc là điều bình thường
    • Đừng chỉnh trực tiếp SKILL.md; hãy chỉnh trong phiên để các cặp before-and-after được tích lũy vào transcript
    • Khi đầu ra đã đạt yêu cầu, yêu cầu mô hình hợp nhất phản hồi vào skill → sau vài vòng, skill sẽ hội tụ
  • Không phải mọi công việc đều cần ngữ cảnh này

    • Với brainstorming, khám phá và làm bản nháp, dùng simple mode (CLAUDE_CODE_SIMPLE=1 claude)
    • CLAUDE.md vẫn được nạp nhưng agent harness (hook, skill, tool loop) bị vô hiệu hóa → giúp suy nghĩ gần với mô hình hơn

Kiểm chứng để tạo tự chủ

  • Đưa kiểm chứng sang bên trái (shift left)

    • Hãy tổ chức kiểm chứng theo cấu trúc bậc thang: phía dưới rẻ và mang tính quyết định, phía trên tốn kém hơn và cần phán đoán
    • Ở tầng thấp nhất: post-edit hook chạy ruff format, ruff check --fix trên file mô hình đã sửa → mang tính quyết định và không tốn token
    • Các tầng cao hơn: test, eval, LLM review, v.v.
  • Thiết kế để mô hình tự kiểm chứng công việc của mình

    • Nếu hệ thống sinh ra metric, mô hình có thể tự chạy eval để tối ưu
    • Nếu đầu ra là render trên trình duyệt, hãy kiểm tra bằng Claude in Chrome
    • Khi build Docker image, đọc lỗi rồi sửa Dockerfile và build lại
    • Khi xây dashboard, kiểm tra trong Chrome xem tooltip có render đúng không, label có chồng lên nhau không, và số liệu có khớp với narrative không
  • Với công việc dài hơi, hãy để mô hình giám sát mô hình

    • Phiên dài dễ tích lũy lỗi và có thể sinh ra drift
    • Cách giải quyết: chạy phiên thứ hai với ngữ cảnh mới để so sánh spec gốc với các lượt gần đây của phiên chính
    • Thiết lập hai panel tmux: một panel phát triển chính, một panel pair programmer
    • Thêm chỉ dẫn ban đầu và prompt tiếp theo vào file dùng chung để pair programmer kiểm tra định kỳ
    • Execution drift: mô hình có đang làm đúng việc không — như bỏ qua lỗi, báo metric sai, lệch khỏi spec, v.v. là kiểm tra chiến thuật → cần kiểm tra thường xuyên
    • Direction drift: mô hình có đang làm đúng thứ cần làm không — như hiểu sai ý định ban đầu và xây sai thứ là vấn đề chiến lược → kiểm tra thỉnh thoảng

Mở rộng bằng ủy quyền

  • Ủy quyền các đơn vị công việc ngày càng lớn hơn

    • Cách làm pair programming với tác vụ ngắn và phản hồi nhanh phù hợp cho lặp nhanh, phân tích khám phá và prototyping
    • Với mô hình mạnh hơn, cần mô tả trước ý định, ràng buộc và tiêu chí thành công, rồi ủy quyền để mô hình thực thi end-to-end
    • Không thể ủy quyền thứ không thể kiểm chứng, nên cần định nghĩa trước tiêu chí thành công và metric
    • Ví dụ: “build container cô lập cho từng eval suite và chạy smoke test → chạy toàn bộ → log metric và transcript → kiểm tra độ chính xác bằng sub-agent → lặp n lần để tính khoảng tin cậy → tạo báo cáo rồi gửi kết quả lên Slack”
  • Vận hành phiên song song và xác định nút thắt

    • Khi ủy quyền việc lớn, có thể chạy song song 3–6 phiên cùng lúc
    • Nút thắt chuyển từ “thực thi công việc” sang “viết spec rõ ràng và review đầu ra nhanh” — phần trung gian dần biến mất
    • Nếu các phiên song song cùng chia sẻ một repo, hãy dùng git worktrees để mỗi phiên có checkout độc lập
  • Tăng khả năng quan sát phiên

    • Stop hook: phát âm thanh khi phiên hoàn tất (trên macOS dùng afplay để phát Glass.aiff)
    • Tiêu đề cửa sổ tmux: dùng emoji trạng thái (⏳ đang làm, 🟢 hoàn thành) và nhãn ngắn do Haiku tạo để nhận diện từng panel
    • Thanh trạng thái Claude Code: hiển thị mức dùng ngữ cảnh và chế độ hiện tại
  • Có thể check-in ngay cả khi đang AFK

    • Với tính năng /remote-control của Claude Code, khi đang di chuyển bạn có thể mở tab code trong ứng dụng Claude để kiểm tra trạng thái chạy và cung cấp thêm ngữ cảnh hoặc chỉ dẫn mới cho phiên bị kẹt
    • Giúp tránh để phiên ở trạng thái nhàn rỗi suốt nhiều giờ, nhưng chỉ nên dùng khi thực sự cần thiết

Khép kín vòng lặp phản hồi

  • Làm việc công khai để duy trì ngữ cảnh phong phú

    • Khi làm việc trong tài liệu, repo và kênh chia sẻ, mọi thành viên trong nhóm bao gồm cả mô hình đều có thể tận dụng ngữ cảnh
    • Một bài kiểm tra đơn giản: “Nhân sự mới chỉ với ngữ cảnh dùng chung có thể tái tạo công việc của tuần trước không?” — nếu không, có nghĩa là ngữ cảnh quan trọng vẫn chỉ nằm trong đầu ai đó
    • Hãy chỉ dẫn trong CLAUDE.md để khi hoàn thành công việc thực chất, hệ thống tự động đăng một cập nhật ngắn kèm liên kết artifact lên kênh worklog
  • Khai thác transcript để cập nhật cấu hình

    • Cho mô hình đọc transcript các phiên trước có thể giúp phát hiện khoảng trống
    • Khi quét khoảng 2.500 lượt người dùng trong quá khứ, một tỷ lệ đáng kể có chứa các biểu đạt như "can you also…", "did you check…", "still wrong"
    • Điều này cho thấy đó là những việc mô hình lẽ ra phải chủ động làm, hoặc bước kiểm chứng đã bị thiếu/hỏng
    • Việc chỉnh sửa nên diễn ra trong phiên để transcript trở thành dữ liệu đầu vào cho lần cập nhật CLAUDE.md hoặc skill tiếp theo
  • Refactor và dọn dẹp định kỳ

    • Khi cấu hình tăng lên, chúng có thể chồng chéo hoặc xung đột với nhau
    • Nếu mô hình bỏ qua quy tắc, có thể là do mâu thuẫn với quy tắc khác; vì vậy hãy refactor để mỗi quy tắc hoặc sở thích chỉ tồn tại đúng một nơi (chỉ dẫn quan trọng có thể lặp lại trong CLAUDE.md chính)
    • Hợp nhất và dọn gọn các settings.json rải rác theo thư mục về ~/.claude

Kết luận

  • Cấu hình cụ thể có thể thay đổi khi mô hình tiến bộ, nhưng các nguyên tắc như cung cấp ngữ cảnh tốt, mã hóa sở thích, kiểm chứng chi phí thấp, ủy quyền nhiều hơn và khép kín vòng lặp phản hồi vẫn giữ nguyên giá trị
  • Rốt cuộc, quá trình này chính là huấn luyện một cộng tác viên từng lần một qua mỗi phản hồi, và cũng có thể áp dụng tương tự khi cộng tác với đội ngũ con người
  • Không chỉ giới hạn ở công cụ cá nhân, cùng những nguyên tắc này còn có thể áp dụng cho thiết kế agent harness, thiết lập chuẩn mực nhóm và xây dựng hạ tầng tổ chức

1 bình luận

 

Lý lịch của người này khá thú vị: Học từ chuyên ngành tâm lý học sang khoa học dữ liệu qua khóa học Coursera
Gia nhập Lazada từ giai đoạn đầu, khi đó được xem là Amazon của Đông Nam Á, rồi thăng tiến lên đến vị trí VP.
Sau đó Lazada được Alibaba mua lại.
Tiếp đó chuyển sang Amazon, làm nhà khoa học trưởng về hệ thống gợi ý/LLM.
Hiện tại là technical staff của Anthropic.