Trong bối cảnh công nghệ AI đang phát triển mạnh mẽ, khả năng tự động hóa và tạo nội dung đã trở thành trọng tâm. Tuy nhiên, một thách thức lớn thường gặp là sự thiếu vắng tính cá nhân và độc đáo. Nhiều công cụ tạo slide bằng AI hiện nay thường đổ nội dung vào một số ít mẫu cố định, dẫn đến những bản trình bày trông “giống nhau một cách đáng kinh ngạc” về phông chữ và bố cục. Bài viết này sẽ chia sẻ hành trình và những bài học quý giá từ việc xây dựng một kỹ năng AI có khả năng thiết kế các bộ slide hoàn toàn mới mẻ cho từng chủ đề, phá vỡ khuôn mẫu chung và mang lại sự độc đáo đích thực. Đây không chỉ là câu chuyện về một tính năng, mà là về những vấn đề thú vị và những khám phá bất ngờ trên con đường phát triển.
Mục lục
Hiểu Rõ Về Cấu Trúc “Kỹ Năng” Trong Hệ Sinh Thái Đại Lý AI
Một trong những phát hiện đầu tiên và thú vị nhất khi làm việc với các đại lý AI là sự đơn giản trong định nghĩa “kỹ năng”. Thực chất, một kỹ năng chỉ là một thư mục chứa tệp `SKILL.md`. Tệp này không chỉ chứa tên và mô tả kỹ năng, mà phần mô tả chính là “bộ não” để đại lý AI quyết định có nên sử dụng kỹ năng đó hay không. Đây là điểm mấu chốt của công việc thiết kế:
- Nếu mô tả quá mơ hồ, kỹ năng sẽ không được kích hoạt đúng lúc.
- Nếu mô tả quá “nhiệt tình”, nó sẽ tự động kích hoạt ngay cả khi không được yêu cầu.
Việc tạo ra một mô tả chính xác và ngữ cảnh hóa cao đòi hỏi sự hiểu biết sâu sắc về “prompt engineering” (kỹ thuật nhắc lệnh) – nghệ thuật giao tiếp hiệu quả với AI.
Một điều bất ngờ khác là tính di động của định dạng này. Các nền tảng lớn như Claude Code, Codex, OpenCode và một số công cụ của Google đều chấp nhận cùng một cấu trúc thư mục `name/SKILL.md`. Sự khác biệt duy nhất nằm ở vị trí thư mục này cần được đặt. Điều này có nghĩa là “hỗ trợ năm đại lý” thực chất chỉ yêu cầu “viết một bảng cài đặt” duy nhất, giúp tối ưu hóa đáng kể công sức phát triển và triển khai.
Ví dụ về Cấu trúc Kỹ năng và Nội dung `SKILL.md`
Đây là một ví dụ minh họa về cách một tệp `SKILL.md` có thể được cấu trúc để đại lý AI hiểu và kích hoạt kỹ năng một cách chính xác:
---
name: Thiết Kế Slide Độc Đáo
description: Tạo bản trình bày slide tùy chỉnh, hấp dẫn về mặt hình ảnh từ văn bản hoặc chủ đề được cung cấp. Cung cấp bản xem trước hai slide để bạn duyệt trước khi tạo toàn bộ. Hữu ích khi bạn cần slide không theo khuôn mẫu sẵn có.
keywords: slide, trình bày, thuyết trình, thiết kế, độc đáo, tùy chỉnh, AI, đại lý, reveal.js, hình ảnh
---
# Hướng Dẫn Sử Dụng Kỹ Năng "Thiết Kế Slide Độc Đáo"
Kỹ năng này được thiết kế để giúp các đại lý AI tạo ra những bản trình bày slide đẹp mắt, độc đáo và không theo bất kỳ khuôn mẫu cố định nào, dựa trên yêu cầu của bạn.
## Các Bước Sử Dụng:
1. **Cung cấp Yêu cầu:** Bắt đầu bằng cách cung cấp một chủ đề tổng thể, nội dung văn bản cụ thể, hoặc các yếu tố hình ảnh mong muốn cho các slide của bạn.
* Ví dụ: "Tạo slide về xu hướng AI trong năm 2024", hoặc "Thiết kế một bản trình bày tối giản với tông màu xanh lam cho dự án X".
2. **Xem trước Thiết kế:** Hệ thống sẽ tạo một chủ đề thiết kế tổng thể và hai slide đầu tiên để bạn xem xét.
3. **Phản hồi & Lặp lại:** Bạn có thể chấp nhận thiết kế hoặc yêu cầu thay đổi chi tiết (ví dụ: "thử một phong cách tối hơn", "thay đổi font chữ thành sans-serif", "thêm hình ảnh minh họa trừu tượng").
4. **Hoàn thiện:** Sau khi bạn hài lòng với bản xem trước, kỹ năng sẽ tiến hành tạo toàn bộ bản trình bày.
## Đầu ra:
Đầu ra là một tệp HTML độc lập (.html), được xây dựng trên thư viện `reveal.js`. Tệp này có thể mở trực tiếp trong bất kỳ trình duyệt web nào, không yêu cầu cài đặt thêm thư viện hay tài sản bên ngoài. Nó hỗ trợ chế độ xem người thuyết trình (speaker view) và xuất ra định dạng PDF dễ dàng.
Tối Ưu Hóa Trải Nghiệm Người Dùng (UX) Với Tính Năng Xem Trước Liên Tục
Phiên bản đầu tiên của kỹ năng này đã mắc phải một sai lầm phổ biến: nó tạo ra toàn bộ bộ slide trong một lần duy nhất. Hậu quả là nếu người dùng không hài lòng với hướng thiết kế, họ sẽ lãng phí toàn bộ quá trình xây dựng, tiêu tốn một lượng lớn “token” (chi phí tính toán của AI) và phải đọc qua hàng chục slide để tìm ra hai lựa chọn thiết kế mà họ không ưng ý. Điều này tạo ra cảm giác như đang chơi một trò chơi may rủi hơn là sử dụng một công cụ hiệu quả.
Giải pháp cho vấn đề này là áp dụng phương pháp thiết kế lặp đi lặp lại. Giờ đây, kỹ năng này sẽ tạo ra một chủ đề tổng thể và chính xác hai slide đầu tiên, sau đó hiển thị chúng và tạm dừng. Người dùng có thể xem xét, đưa ra phản hồi như “đồng ý” hoặc “thử một phong cách tối hơn”. Chỉ khi nhận được sự chấp thuận, công cụ mới tiếp tục xây dựng phần còn lại của bản trình bày. Việc từ chối một hướng thiết kế giờ đây hầu như không tốn kém gì. Thay đổi nhỏ này đã biến toàn bộ trải nghiệm từ một “máy đánh bạc” thành một công cụ thực sự hữu ích và thân thiện với người dùng, đồng thời tối ưu hóa việc sử dụng tài nguyên AI.
Sức Mạnh Của HTML Độc Lập: Kiến Trúc Với Reveal.js
Một trong những quyết định thiết kế cốt lõi của dự án là định dạng đầu ra. Thay vì tạo ra các tệp tin phức tạp hoặc yêu cầu một quy trình “build” rườm rà, kỹ năng này xuất ra một tệp HTML duy nhất, hoàn chỉnh và độc lập, được xây dựng dựa trên thư viện `reveal.js`.
Tại sao chọn Reveal.js?
`Reveal.js` là một framework mã nguồn mở mạnh mẽ để tạo các bản trình bày dựa trên web. Nó biến bất kỳ nội dung HTML nào thành các slide trình chiếu đầy đủ tính năng, hỗ trợ nhiều hiệu ứng chuyển động, bố cục linh hoạt và khả năng tương tác.
Lợi ích của một tệp HTML độc lập
Việc sử dụng một tệp HTML độc lập mang lại nhiều ưu điểm vượt trội:
- Không cần quy trình build: Không có bước biên dịch hay cấu hình phức tạp.
- Không thư mục tài sản: Tất cả CSS, JavaScript và nội dung đều được nhúng trực tiếp vào tệp HTML.
- Dễ dàng chia sẻ: Bạn có thể gửi tệp qua email cho bất kỳ ai và họ chỉ cần mở nó trong trình duyệt web của mình. Không cần cài đặt phần mềm, plugin hay cấu hình bổ sung.
- Hoạt động ngoại tuyến: Vì mọi thứ đều nằm trong một tệp, bản trình bày hoạt động hoàn hảo ngay cả khi không có kết nối internet.
- Tính năng phong phú: Bao gồm xuất PDF, chế độ xem người thuyết trình (speaker view) và khả năng tùy chỉnh cao.
Tôi đặc biệt yêu thích những sản phẩm mà bạn có thể gửi cho ai đó và chúng hoạt động ngay lập tức, không yêu cầu bất kỳ thiết lập nào từ phía họ.
Thách thức trong việc duy trì tính độc đáo
Điểm khó khăn của phương pháp “một tệp” là cần có sự kỷ luật. Chủ đề thiết kế phải được định nghĩa thông qua các biến CSS nội tuyến, các slide là HTML được viết thủ công, và không có chủ đề `reveal.js` mặc định nào được tải. Điều này là để tránh chính cái “look” chung chung mà tôi đang cố gắng né tránh. Mỗi yếu tố phải được kiểm soát chặt chẽ để đảm bảo tính độc đáo mà kỹ năng này hướng tới.
Giải Mã Những Thách Thức Kỹ Thuật: Từ Lỗi Vặt Đến Phát Hiện Quan Trọng
Trong quá trình phát triển, việc tích hợp các thư viện bên thứ ba luôn tiềm ẩn những thách thức không ngờ. Một trong số đó là lỗi đã khiến tôi mất cả một ngày để tìm hiểu và sửa chữa, liên quan đến tính năng làm nổi bật từng dòng mã trong `reveal.js`.
`Reveal.js` có khả năng làm nổi bật các dòng mã cụ thể khi người dùng nhấp chuột, làm sáng một vài dòng một lúc. Đằng sau hậu trường, để thực hiện điều này, nó sẽ sao chép toàn bộ khối mã một lần cho mỗi bước nổi bật và chồng các bản sao này lên nhau.
Chi tiết kỹ thuật nhỏ này lại cực kỳ quan trọng và tôi đã học được nó một cách khó khăn. Khi tôi định kiểu lại khối mã để phù hợp với chủ đề của slide, các bước nổi bật bắt đầu xuất hiện lỗi:
- “Ghosting” (hiện tượng bóng mờ): Các dòng mã cũ vẫn còn mờ ảo.
- “Stair-stepping” (hiện tượng bậc thang): Các khối mã bị lệch vị trí, tạo hiệu ứng như cầu thang.
- Mất tiêu đề: Trong một trường hợp, tiêu đề biến mất ngay khi chuyển sang slide kế tiếp.
Bốn lỗi hiển thị riêng biệt, tất cả đều xuất phát từ một nguyên nhân gốc rễ duy nhất: tôi đã định kiểu một phần tử mà `reveal.js` một cách âm thầm biến thành một chồng các bản sao được định vị tuyệt đối (`position: absolute`). Bài học ở đây là tầm quan trọng của việc hiểu rõ cơ chế hoạt động bên trong của các thư viện bạn sử dụng, đặc biệt khi thực hiện các tùy chỉnh sâu. Việc không hiểu cách một thư viện thao tác với DOM (Document Object Model) có thể dẫn đến những lỗi khó lường và tốn thời gian gỡ lỗi.
Kim Chỉ Nam Cho Người Mới Bắt Đầu Phát Triển Kỹ Năng Đại Lý AI
Dựa trên những kinh nghiệm thực tế, dưới đây là ba lời khuyên quan trọng dành cho bất kỳ ai đang có ý định phát triển một kỹ năng cho đại lý AI:
1. Đầu tư vào mô tả kỹ năng
Hãy dành thời gian thật sự để viết phần mô tả (description) trong tệp `SKILL.md`. Đây là toàn bộ yếu tố kích hoạt kỹ năng, và hầu hết các kỹ năng hoạt động sai mục đích đều do mô tả không rõ ràng hoặc không chính xác. Hãy coi mô tả như một “hợp đồng” với đại lý AI, nó phải rõ ràng, súc tích và bao gồm các từ khóa liên quan để đại lý có thể đưa ra quyết định thông minh nhất. Mô tả càng tốt, đại lý AI càng có khả năng kích hoạt kỹ năng của bạn vào đúng thời điểm và cho đúng nhiệm vụ.
2. Ghi chép và nhúng các quy tắc học được
Những quy tắc bạn học được một cách khó khăn, hãy ghi lại chúng ngay trong chính kỹ năng đó. Điều này giúp đại lý AI không lặp lại cùng một sai lầm trong các lần chạy tiếp theo. Một kỹ năng tự mang theo những ràng buộc và bài học “xương máu” của mình sẽ vượt trội hơn nhiều so với một kỹ năng chỉ hy vọng rằng mô hình AI sẽ tự nhớ. Đây là một hình thức của “meta-learning” hoặc “tự điều chỉnh” cho các tác nhân AI, giúp chúng trở nên thông minh và đáng tin cậy hơn theo thời gian.
3. Thử nghiệm trên các kịch bản không lý tưởng
Kỹ năng của bạn có thể hoạt động hoàn hảo với những ví dụ mà bạn đã thiết kế. Nhưng điều gì sẽ cho bạn biết nó thực sự hiệu quả? Đó là khả năng chịu đựng những dữ liệu đầu vào “lộn xộn” hoặc không mong muốn mà một người lạ có thể đưa vào. Hãy chủ động thử nghiệm với các trường hợp ngoại lệ, dữ liệu thiếu sót, hoặc các yêu cầu không rõ ràng. Điều này giúp đảm bảo tính bền vững và mạnh mẽ của kỹ năng trong môi trường thực tế, nơi mà các đầu vào không phải lúc nào cũng hoàn hảo.
Dự án kỹ năng này hiện đang có sẵn trên GitHub để bạn có thể tìm hiểu và đóng góp: https://github.com/arifszn/slide-wright. Rất mong nhận được phản hồi về những điểm mà nó có thể chưa hoàn thiện!
Tương lai của AI nằm ở việc phát triển các kỹ năng cá nhân hóa, mạnh mẽ và lấy người dùng làm trung tâm.



