Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung)
Điểm AI 21/100

Ngành

Hỏi đáp HN: Bạn quản lý tài liệu kỹ năng và kiến thức cá nhân như thế nào?

(giờ Việt Nam)

Tóm tắt AI

Cộng đồng Hacker News cùng thảo luận về các phương pháp, công cụ và quy trình hiệu quả để lưu trữ, hệ thống hóa tài liệu học tập và kỹ năng cá nhân trong thời đại thông tin bùng nổ.

Chính văn · Bản dịch AI

Khi tôi làm việc với một vấn đề mới và agent gặp khó khăn, tôi sẽ yêu cầu agent chắt lọc kiến thức và kinh nghiệm thu được trong phiên làm việc đó thành một tệp kỹ năng (skill file). Sau đó, tôi xem xét và xuất bản nó tùy thuộc vào hệ thống trợ lý. Tôi thấy đây là cách hiệu quả để các agent học các kỹ năng mới, không chỉ từ những khám phá của chính nó mà còn từ sự hướng dẫn của tôi và những sai lầm mà nó mắc phải.

Nếu bạn làm việc trong một lĩnh vực chuyên biệt hoặc các vấn đề đặc thù, mẫu này có thể sẽ hữu ích.

- Tôi không đi tìm các kỹ năng, tôi tạo ra chúng.

- Hãy sắp xếp chúng trong các kho lưu trữ phần mềm (software repos) mà bạn cài đặt bằng symlink cho tất cả các bộ công cụ lập trình (coding harnesses) mà bạn có. Việc tiết lộ thông tin dần dần (progressive disclosure) dựa trên frontmatter sẽ xử lý phần còn lại.

- Tôi đảm bảo chúng hoạt động tốt với các AI evals. Hãy coi chúng như các bài kiểm tra tích hợp (integration tests) để chứng minh hành vi. Chúng rất hữu ích để tối ưu hóa quy trình làm việc của bạn. Tôi cố gắng để các kỹ năng của mình chủ yếu là sự chuyển đổi giữa ngôn ngữ tự nhiên và các công cụ nhỏ, nhanh, hiệu quả mà chúng gọi đến.

- Tôi thay đổi chúng khi có vấn đề mới phát sinh. Không phải thay đổi chỉ vì muốn thay đổi.

Các kỹ năng không thể bị thay thế bởi khả năng của mô hình nếu các kỹ năng đó đại diện cho một quy trình làm việc tùy chỉnh dành riêng cho nhóm hoặc cá nhân tôi.

Tôi đã từng viết về một mô hình tư duy tốt trong quá khứ:

https://alexhans.github.io/posts/series/evals/building-agent...

Mọi người luôn nói điều này về các evals, nhưng tôi thấy khó mà triển khai thực tế một thứ như vậy mà không tốn thời gian gấp 100 lần so với việc tự xây dựng kỹ năng đó.

Ví dụ, được thôi, tôi có một kỹ năng gỡ lỗi (debugging skill), nhưng làm thế nào để tôi tạo evals cho nó ngoài những thứ tầm thường nhất?

Bạn không làm thế. Nếu bạn đang sử dụng các kỹ năng để ép AI phải đáp ứng một số tiêu chí bắt buộc (must criteria), thì nó sẽ không hiệu quả. Các tiêu chí bắt buộc cần những kiểm tra mang tính xác định (deterministic checks) -> có thể là các hook hoặc bất cứ thứ gì tương tự.

Đây cũng là nỗi thất vọng lớn nhất của tôi với AI. Ví dụ, đối với các đặc tả kỹ thuật (specifications), bất kể tôi đã thử qua cỗ máy quảng cáo nào, nó chưa bao giờ đáp ứng được các tiêu chí của tôi, đó là: dễ xác minh, súc tích, đặc tả nhỏ gọn. Do đó, tôi đã xây dựng https://github.com/RicardoMonteiroSimoes/Yamlet ban đầu cho claude code, nhưng sau đó quyết định mở rộng nó cho pi.dev. Hiện tại tôi có một docker image chuyên dụng cho pi.dev, chỉ chứa plugin Yamlet, và bất cứ khi nào làm việc với đặc tả, tôi sẽ khởi chạy nó.

Kết quả cuối cùng là một tệp.yaml hoạt động dễ dàng trong git + git diff, để tôi có thể tiếp tục với các đặc tả kỹ thuật.

Một kỹ năng chỉ nên ghi lại hành vi mà LLM đã không thể hoặc không biết cách tự thực hiện.

Vì vậy, bạn lấy trường hợp thất bại của mình (ví dụ: làm việc với gdb hoặc bất cứ thứ gì), viết một kỹ năng và sau đó kiểm tra cho trường hợp thất bại đó.

Cũng có những kỹ năng giúp LLM thực hiện những việc mà nó có thể làm mà không cần kỹ năng, nhưng nhanh hơn (bằng cách cắt bỏ các bước khám phá không cần thiết). Tôi đoán đối với những kỹ năng như vậy, trường hợp thất bại là "bị chậm"?

Tôi hình dung nhiều trường hợp thất bại có thể tiêu tốn rất nhiều token/tài nguyên/thời gian vì các LLM khi thất bại có thể rất dai dẳng. Có lẽ một giới hạn trên (số lượt, thời gian chờ) cũng sẽ hữu ích.

Tuần trước, tôi phải tái sử dụng các kỹ năng tự chế trên các dự án khác nhau. Tôi rất thích giải pháp mà AI đề xuất và nó hoạt động khá tốt: đóng gói dưới dạng plugin và thêm git repo của bạn làm marketplace.

Việc cài đặt rất dễ dàng và tôi không phải loay hoay với các symlink vì tôi có thể đang làm việc với cùng một codebase trên các nền tảng khác nhau, điều này sẽ làm mọi thứ trở nên... phức tạp.

Hãy để AI tạo các tệp.json cho marketplace.

Tôi chưa làm đến phần này, nhưng tôi chắc chắn chúng sẽ hoạt động dễ dàng như việc cài đặt vậy.

Tôi đã tạo một hệ thống nhỏ cho việc này, đặt trực tiếp trong thư mục ~.<youragent>/skills.

Tôi có một tệp cấu hình chứa các marketplace và các kỹ năng khác để tìm nạp, nó có thể trông như thế này. Tôi cũng có các marketplace của riêng mình, bao gồm cả những cái từ công ty tôi. Tôi sử dụng công cụ của vercel để quản lý kỹ năng bằng npx, nhưng để xử lý cụ thể việc tìm nạp kỹ năng nào, tệp cấu hình được thiết lập như sau:

Từ đó, tôi chỉ cần chạy "skills.py" (một trình trợ giúp đơn lẻ) để dọn dẹp/tìm nạp các phiên bản cập nhật của các kỹ năng.

Tôi không sử dụng bất kỳ kỹ năng nào, mọi người thấy những loại kỹ năng nào là hữu ích nhất?

Đối với các tác vụ chung, mô hình có vẻ hoàn toàn có khả năng tự tìm ra mọi thứ, đối với các tác vụ cụ thể của dự án hoặc môi trường, tôi chỉ cần đưa thông tin đó vào tệp readme hoặc agents.md.

Tôi tạo các kỹ năng cho kiểu "đây là cách tôi thích làm mọi việc trong công ty/dự án này". Truy vấn cơ sở dữ liệu kiểm thử, tên nhánh git, phong cách thông báo commit, những thứ trên cloud nào có thể được kiểm tra như log, v.v. Tôi không thấy mục đích của việc cố gắng dạy các mô hình những thứ đã có trong tài liệu của git, python, hay bất cứ thứ gì khác. Chúng đã biết rồi.

Tôi cố gắng giữ cho agents/Claude.md càng nhỏ gọn càng tốt. Với các "sự thật" cấp cao không thay đổi. Stack sử dụng, các bất biến (invariants), cấu trúc tệp và một số tập lệnh.

Các kỹ năng phù hợp hơn cho những việc bạn làm thường xuyên. Tôi chạy kiểm thử đột biến (mutation tests), kiểm tra kiểu (type check), linting, v.v. Tôi có thể chỉ cần prompt và copy/paste cùng một prompt mỗi khi cần, hoặc tôi chỉ cần chạy /tests.

Tôi cũng có các kỹ năng cho các tác vụ chuyên biệt mà tôi cần thỉnh thoảng mới dùng, như kỹ năng ux, kỹ năng văn bản được tối ưu hóa cho xyz, v.v.

Các kỹ năng được đánh giá bằng mô tả ngắn để quyết định xem có nên đưa chúng vào ngữ cảnh hay không.

Bản thân các kỹ năng có thể khá dài nên...

Phụ thuộc vào lượng thông tin và chi tiết bạn có. Tệp agents.md luôn được đưa vào ngữ cảnh. Thông tin kiểm thử hoặc quy trình chi tiết có thể là quá mức khi agent đang làm việc trên giao diện người dùng (UI). Các kỹ năng sẽ được kéo ra khi cần thiết.

Tôi xử lý vấn đề ngữ cảnh bằng cách chia nhỏ các chi tiết thành hàng chục tệp md nhỏ. Agents.md đóng vai trò như một bộ định tuyến hướng LLM đến đúng tệp/thư mục tài liệu tùy theo tác vụ đang thực hiện.

Tài liệu này là một git repo riêng, và tệp agents.md có hướng dẫn rõ ràng để cập nhật tài liệu khi nó học được điều gì đó chung có thể hữu ích trong các phiên làm việc tương lai. Sau đó, tôi thỉnh thoảng xem xét và tinh chỉnh các tài liệu đó.

Đó chính xác là những gì các kỹ năng thực hiện.

Mô tả trong front-matter (ở đầu tệp markdown của kỹ năng) là thứ duy nhất nằm trong ngữ cảnh và được agent sử dụng để xác định khi nào cần đọc phần còn lại của tệp kỹ năng.

Tệp agents.md của bạn là nơi tốt cho các sự thật cấp cao, nhưng nếu bạn có thứ gì đó đòi hỏi nhiều thông tin để giải thích (ví dụ: quy trình xây dựng phức tạp, các mẫu kiểm thử, những thứ tương tự), việc tải toàn bộ agents.md cho mỗi yêu cầu có thể là một ý tưởng tồi. Việc chuyển thông tin đó sang một kỹ năng đảm bảo nó chỉ được đưa vào ngữ cảnh nếu bạn thực sự đang sử dụng nó.

Còn việc liên kết đến một tệp tài liệu riêng biệt từ Readme thì sao, giống như cách bạn chia các chủ đề riêng biệt thành các tệp khác nhau cho con người? Chi phí ngữ cảnh thấp và theo như tôi thấy, đó gần như là cách tính năng "bộ nhớ" của Claude hoạt động.

quản lý kiến thứcnăng suấtkỹ năngcông cụphát triển bản thân

Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.

Hỏi đáp HN: Bạn quản lý tài liệu kỹ năng và kiến thức cá nhân như thế nào? | AIHOT.vn