Xây Dựng Microsoft Copilot Studio Skills Chuyên Nghiệp Với References Và Scripts (Phần 2)

  1. Home
  2. »
  3. Business Applications
  4. »
  5. Dynamic 365
  6. »
  7. Xây Dựng Microsoft Copilot Studio Skills Chuyên Nghiệp Với References Và Scripts (Phần 2)

Danh mục bài viết:

Ở phần trước, chúng ta đã tìm hiểu:

  • Skills thực chất là gì.
  • Cơ chế Front-loadingLoad On Demand.
  • Vì sao Name và Description đóng vai trò quan trọng.
  • Degrees of Freedom trong thiết kế Skills.
  • Cách tổ chức thư mục cho một Skill.

Trong phần này, chúng ta sẽ tiếp tục với những Best Practices quan trọng khi xây dựng Skills, đồng thời phân tích ví dụ thực tế về việc sử dụng References và Python Scripts để tối ưu hiệu năng của Agent.


Best Practices Khi Đặt Tên Skills

Tên Skill không chỉ để người phát triển dễ nhận biết mà còn ảnh hưởng đến khả năng Orchestrator lựa chọn đúng Skill.

Vậy nên đặt tên theo hành động (verb) thay vì đặt tên theo đối tượng.

Ví dụ:

Nên sử dụngKhông nên sử dụng
Processing PDFsPDF Tool
Analyzing CSVCSV Utility
Commenting ContentComments
Generating ReportsReport

Việc sử dụng động từ giúp Agent hiểu rõ mục đích của Skill ngay từ Name và tăng khả năng lựa chọn đúng Skill trong quá trình điều phối.


Viết Description Hiệu Quả

Description là một trong hai thông tin được Front-loaded ngay khi Agent khởi động.

Do đó, Description cần được viết ngắn gọn và rõ ràng.

Andrew chia sẻ một số nguyên tắc:

  • Đưa từ khóa quan trọng lên đầu.
  • Không viết lan man.
  • Không cố gắng sử dụng hết 1024 ký tự.
  • Viết ở ngôi thứ ba thay vì dạng mệnh lệnh.

Ví dụ:

Nên

Analyzes Word documents and adds native comments without modifying the original document.
 

Không nên

Analyze Word documents and add comments.
 

Description ở ngôi thứ ba mô tả Skill có khả năng làm gì, thay vì ra lệnh cho Agent phải làm gì.

Điều này giúp Orchestrator hiểu Skill tốt hơn khi quyết định có nên gọi Skill hay không.


Viết Instructions Cho Skill

Bên trong skill.md, Instructions là nơi hướng dẫn Agent thực hiện nhiệm vụ.

Ví dụ:

Analyze the document.

Add native comments using Microsoft Word or PowerPoint.

Never ask whether comments should be added.

Just add the comments.
 

Có một chi tiết khá thú vị mà mình muốn nhấn mạnh.

Thay vì viết:

Do not ask...
 

hãy sử dụng:

Never ask...
 

Cách diễn đạt này giúp Agent thực hiện hành động dứt khoát hơn, tránh việc quay lại hỏi người dùng những câu hỏi không cần thiết.

Ví dụ:

Người dùng tải lên một tài liệu và yêu cầu:

“Hãy thêm các nhận xét.”

Agent không nên trả lời:

“Bạn có muốn tôi thêm nhận xét không?”

Mà nên thực hiện ngay yêu cầu.


Solve, Don’t Punt

Đây là một trong những nguyên tắc quan trọng nhất của series này.

Trong quá trình phát triển Skill, Agent có thể gặp lỗi.

Ví dụ:

 
Viết Python

↓

Chạy

↓

Lỗi

↓

Viết lại

↓

Chạy

↓

Lỗi

↓

Lặp lại...
 

Nếu không xử lý, Agent sẽ liên tục thử lại, làm tăng thời gian xử lý và tiêu tốn nhiều AI Credits.

Trường hợp này gọi là Punting Errors.

Nguyên tắc được đề xuất:

Solve, Don’t Punt.

Nghĩa là sau khi Agent hoàn thành được nhiệm vụ, hãy tìm hiểu điều gì đã giúp Agent thành công và đưa kiến thức đó trở lại Skill.

Quy trình sẽ như sau:

 
Agent hoàn thành

↓

Hỏi Agent:
"What script worked?"

↓

Lấy Python Script

↓

Loại bỏ Hard-code

↓

Đưa vào Skill

↓

Các lần sau Agent tái sử dụng Script
 

Đây là cách giúp Skill ngày càng thông minh hơn sau mỗi lần đánh giá (Evaluation).


Demo: Comment Word Và PowerPoint

Để minh họa, ta sẽ xây dựng một Skill có tên:

Commenting Content

Skill này có nhiệm vụ:

  • Phân tích tài liệu Word.
  • Phân tích PowerPoint.
  • Thêm Comment trực tiếp vào tài liệu.
  • Không chỉnh sửa nội dung gốc.

Luồng xử lý:

 
User

↓

Upload DOCX

↓

Commenting Content Skill

↓

Word Reference

↓

Python Script

↓

Word có Comments
 

Đối với PowerPoint:

 
User

↓

Upload PPTX

↓

Commenting Content Skill

↓

PowerPoint Reference

↓

Python Script

↓

PowerPoint có Comments
 

Điểm đáng chú ý là Agent không thay đổi nội dung tài liệu, mà chỉ thêm các nhận xét (Comments) vào đúng vị trí cần góp ý.


References Giúp Giảm Token Consumption

Trong Skill, skill.md chỉ đóng vai trò điều phối.

Sau khi xác định loại tài liệu, Agent sẽ tải đúng Reference tương ứng.

Ví dụ:

 
Nếu là DOCX

↓

reference_docx.md
 

Hoặc:

 
Nếu là PPTX

↓

reference_powerpoint.md
 

Nhờ vậy, Agent không phải tải toàn bộ hướng dẫn của cả Word và PowerPoint vào Context Window.

Đây là một lợi ích quan trọng của cơ chế Load On Demand, giúp giảm lượng token sử dụng và tối ưu chi phí.


Tăng Hiệu Năng Bằng Python Scripts

Tôi đã tiến hành thực hiện hai lần chạy để so sánh.

Lần chạy đầu tiên

Skill chỉ có Markdown và References.

Khi cần thêm Comment vào Word, Agent phải:

  • Tự viết Python.
  • Thử chạy.
  • Phát hiện lỗi.
  • Viết lại.
  • Chạy lại.

Toàn bộ quá trình này mất khoảng 2–3 phút.


Lần chạy thứ hai

Sau khi lấy được Python Script thành công ở lần đầu, tiến hành:

  • Loại bỏ các giá trị Hard-code.
  • Đưa Script vào thư mục scripts.
  • Upload lại Skill.

Lần này, Agent chỉ cần gọi lại Script đã có.

Kết quả:

  • Không phải tự sinh Python.
  • Không lặp nhiều lần.
  • Hoàn thành chỉ trong vài giây.

Đây là minh chứng rõ ràng cho lợi ích của việc tái sử dụng Scripts trong Skill.


Những Anti-pattern Cần Tránh

Đây là một số lỗi phổ biến khi xây dựng Skills.

Description quá mơ hồ

Description không nêu rõ mục đích của Skill sẽ khiến Agent khó lựa chọn đúng Skill.


Đưa từ khóa quan trọng xuống cuối

Các thông tin quan trọng nên xuất hiện ngay đầu Description vì đây là phần được Front-load.


Để Agent tự xử lý lỗi liên tục

Nếu Agent liên tục thử lại cùng một cách làm, Skill sẽ tiêu tốn nhiều thời gian và Credits hơn mức cần thiết.


Lồng quá nhiều References

Ví dụ:

 
skill.md

↓

reference1

↓

reference2

↓

reference3
 

Việc lồng quá nhiều tầng khiến Skill khó bảo trì và làm tăng độ phức tạp không cần thiết.


Một Skill làm mọi việc

Thay vì tạo một Skill xử lý mọi tác vụ, nên chia thành nhiều Skill với phạm vi trách nhiệm rõ ràng.

Điều này giúp Orchestrator dễ dàng lựa chọn đúng Skill hơn.


Kết Luận

Skills là một trong những cơ chế mở rộng mạnh mẽ nhất của Microsoft Copilot Studio, cho phép Agent thực hiện các tác vụ chuyên biệt thông qua Markdown, References, Python Scripts và nhiều loại tài nguyên khác.

Thay vì xem Skill chỉ là một Prompt dài, nên coi Skill như một package chức năng hoàn chỉnh với cấu trúc rõ ràng và khả năng tái sử dụng cao.

Thông qua các nguyên tắc như Load On Demand, Balanced Degrees of Freedom, Solve, Don’t Punt và việc tổ chức hợp lý References cùng Scripts, chúng ta có thể xây dựng những Skills hoạt động ổn định hơn, giảm chi phí AI và dễ dàng mở rộng khi dự án phát triển.

Đối với các dự án Proof of Concept, một Skill đơn giản chỉ với skill.md có thể đáp ứng tốt nhu cầu ban đầu. Khi triển khai ở quy mô doanh nghiệp, việc bổ sung References, Scripts và tổ chức Skill theo các Best Practices sẽ giúp Agent đạt hiệu năng cao hơn và giảm đáng kể thời gian xử lý cho các tác vụ phức tạp.

Chúc các bạn thành công!

5 1 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
Bài viết công nghệ:
0
Rất thích suy nghĩ của bạn, hãy bình luận.x