Bỏ qua tới nội dung chính
Quay lại tin tức

Triển khai lệnh gọi công cụ có quyền truy cập trong Python Agent

Machine Learning Mastery· Iván Palomares Carrascosa· 8/5/2026general

Các tác nhân AI đã phát triển vượt ra ngoài các chatbot thụ động.

Triển khai lệnh gọi công cụ có quyền truy cập trong Python Agent Bởi Iván Palomares Carrascosa vào ngày 8 tháng 5 năm 2026 trên Trí tuệ nhân tạo 0 Chia sẻ bài viết Chia sẻ Trong bài viết này, bạn sẽ tìm hiểu cách triển khai cổng cấp phép con người trong vòng lặp cho các tác nhân AI tự trị bằng cách sử dụng mẫu trang trí Python. Các chủ đề chúng tôi sẽ đề cập bao gồm: Tại sao các cuộc gọi công cụ quan trọng trong các tác nhân AI lại yêu cầu sự giám sát của con người và cách tiếp cận dựa trên trang trí giải quyết vấn đề này một cách rõ ràng. Cách xây dựng trình trang trí @requires_approval để chặn việc thực thi công cụ và yêu cầu xác nhận rõ ràng của con người trước khi tiếp tục. Cách mẫu này mở rộng theo môi trường sản xuất, chẳng hạn như thay thế lời nhắc CLI bằng webhooks hoặc bảng thông tin quản trị viên không đồng bộ. Triển khai lệnh gọi công cụ có quyền truy cập trong Python Agent Giới thiệu Các tác nhân AI đã phát triển vượt ra ngoài các chatbot thụ động. Ngày nay chúng được xây dựng dưới dạng các thực thể phần mềm hoạt động có thể thực hiện các hành động một cách tự động, chẳng hạn như thực thi mã bên ngoài. Không có gì đáng ngạc nhiên khi có sự gia tăng rủi ro tổng thể liên quan đến khả năng gọi công cụ tự động này. Các hành động có rủi ro thấp như truy vấn API thời tiết thường chạy ở chế độ nền và được coi là an toàn. Trong khi đó, các hành động mang tính rủi ro cao như bắt đầu giao dịch tài chính, thao túng cơ sở dữ liệu hoặc gửi email đòi hỏi cơ chế giám sát chặt chẽ hơn nhiều. Một chiến lược như vậy để giải quyết vấn đề này là đưa vào một lớp người ở giữa. Bài viết này minh họa cách triển khai công cụ kiểm soát quyền trong tác nhân Python, hoàn toàn dựa vào chức năng ngôn ngữ tích hợp. Kết quả: một cơ chế chặn mạnh mẽ, miễn phí dựa trên mẫu trang trí đơn giản. Giải pháp ví dụ của chúng tôi sẽ không mã hóa các hoạt động kiểm tra an toàn trực tiếp vào vòng lý luận chính của tổng đài viên hoặc trong logic kinh doanh. Thay vào đó, chúng tôi sẽ sử dụng trình trang trí Python có tên @requires_approval. Trình trang trí này hoạt động như một cổng: nếu tác nhân cố gắng sử dụng một công cụ được bao bọc, thì cổng sẽ làm gián đoạn luồng thực thi, hiển thị các đối số cho người ra quyết định là con người và chờ phê duyệt rõ ràng. Việc triển khai được đề xuất hoàn toàn dựa trên thư viện functools của Python, không yêu cầu dịch vụ trả phí hoặc API bên ngoài khi chạy cục bộ. Hàm trang trí Python Phần đầu tiên của mã xác định hàm trang trí Python chính của chúng ta. Nó bao bọc một hàm và thêm lớp “phê duyệt của con người” trước khi thực thi hàm được truyền dưới dạng đối số, func. Khi bất kỳ chức năng nào khác (mà chúng tôi sẽ xác định sau) được trang trí bằng @requires_approval, trình trang trí sẽ in thông báo cảnh báo bảo mật, hiển thị các đối số được đề xuất và yêu cầu sự chấp thuận hoặc từ chối của người dùng thông qua một kiểu nhập văn bản đơn giản - 'y' để phê duyệt, 'n' để từ chối. nhập khẩu funtools #1. Thiết bị chặn (Lớp giữa) def require_approval(func): """Trang trí để tạm dừng thực thi và yêu cầu xác thực của con người.""" @functools.wraps(func) trình bao bọc def(*args, **kwargs): print(f"\n[CẢNH BÁO BẢO MẬT] Tác nhân đang thực hiện hành động có mức độ rủi ro cao: '{func.__name__}'") print(f"-> Lập luận được đề xuất: args={args}, kwargs={kwargs}") # Mô phỏng con người trong vòng lặp thông qua đầu vào CLI phê duyệt = input("-> Phê duyệt việc thực hiện này? (y/n): ").strip().low() nếu được phê duyệt == 'y': print("[SYSTEM] Hành động đã được phê duyệt. Đang thực thi...\n") return func(*args, **kwargs) khác: print("[SYSTEM] Hành động bị chặn bởi người giám sát.\n") # Trả về một chuỗi để cho tác nhân biết công cụ bị lỗi trả về "LỖI: Việc thực thi công cụ bị quản trị viên chặn." giấy gói trả lại 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 nhập khẩu funtools #1. Thiết bị chặn (Lớp giữa) def require_approval(func): """Trang trí để tạm dừng thực thi và yêu cầu xác thực của con người.""" @functools.wraps(func) trình bao bọc def(*args, **kwargs): print(f"\n[CẢNH BÁO BẢO MẬT] Tác nhân đang thực hiện hành động có mức độ rủi ro cao: '{func.__name__}'") print(f"-> Lập luận được đề xuất: args={args}, kwargs={kwargs}") # Mô phỏng con người trong vòng lặp thông qua đầu vào CLI phê duyệt = input("-> Phê duyệt việc thực hiện này? (y/n): ").strip().low() nếu được phê duyệt == 'y': print("[SYSTEM] Hành động đã được phê duyệt. Đang thực thi...\n") return func(*args, **kwargs) khác: print("[SYSTEM] Hành động bị chặn bởi người giám sát.\n") # Trả về một chuỗi để cho tác nhân biết công cụ bị lỗi trả về "LỖI: Việc thực thi công cụ bị quản trị viên chặn." giấy gói trả lại Công cụ của đại lý Tiếp theo, chúng tôi xác định hai chức năng cấu thành các công cụ có sẵn của tác nhân. Để đơn giản, chúng mô phỏng việc sử dụng công cụ của một tác nhân thay vì dựa vào các công cụ thực tế bên ngoài. Công cụ đầu tiên, nhằm mục đích truy xuất ngày và giờ hiện tại, được coi là một công cụ có rủi ro thấp và có thể được thực thi một cách tự động. Thao tác thứ hai - mô phỏng việc xóa vĩnh viễn một bảng trong cơ sở dữ liệu - được gắn nhãn là hoạt động có rủi ro cao. Chúng tôi trang trí nó để trước khi thực thi, trình trang trí được xác định trước đó sẽ chặn cuộc gọi và yêu cầu sự chấp thuận của con người. # 2. Xác định công cụ của Agent chắc chắn get_current_time(múi giờ): """Công cụ có rủi ro thấp: Có thể được thực thi tự động.""" return f"Thời gian mô phỏng ở {timezone} là 10:00 sáng." @requires_approval def drop_database_table(tên_bảng): """Công cụ có rủi ro cao: Được bảo vệ bởi trình trang trí HITL.""" return f"THÀNH CÔNG: Bảng '{table_name}' đã bị xóa vĩnh viễn." 1 2 3 4 5 6 7 8 9 # 2. Xác định công cụ của Agent chắc chắn get_current_time(múi giờ): """Công cụ có rủi ro thấp: Có thể được thực thi tự động.""" return f"Thời gian mô phỏng ở {timezone} là 10:00 sáng." @requires_approval def drop_database_table(tên_bảng): """Công cụ có rủi ro cao: Được bảo vệ bởi trình trang trí HITL.""" return f"THÀNH CÔNG: Bảng '{table_name}' đã bị xóa vĩnh viễn." Chạy mô phỏng Tiếp theo, mô phỏng_agent() chứa một chuỗi hành động mô phỏng mà một tác nhân thường thực hiện bằng cách gọi hai công cụ được xác định ở trên. Thông điệp tường trình sẽ được in trong suốt

Nguồn tin: Machine Learning Mastery — Tác giả: Iván Palomares Carrascosa. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.