Bỏ qua để đến nội dung

Sandbox và kỹ năng ​

Sandbox là máy tính cô lập mà Genie được cấp riêng cho từng cuộc trò chuyện. Trong sandbox, Genie chạy mã để phân tích tệp Excel hay CSV mà người dùng đính kèm, tính toán, vẽ biểu đồ và tạo tệp Word, Excel hoặc PDF. Kỹ năng là các gói hướng dẫn và script dạy Genie và các agent cách làm một việc cụ thể, chẳng hạn lập báo cáo theo mẫu của công ty. Quản trị viên hệ thống quản lý cấu hình sandbox của từng workspace và quyết định có cho chạy mã hay không. Quản trị viên và Chủ sở hữu workspace quản lý kỹ năng và có thể tắt chạy mã cho workspace của mình, còn mọi thành viên đều có thể lưu khóa của riêng mình trong Biến bí mật sandbox.

Sandbox mang lại gì cho người dùng ​

Không có công tắc riêng cho từng cuộc trò chuyện. Genie chạy mã khi đủ các điều kiện sau:

  • quản trị viên hệ thống đã thiết lập cho workspace một cấu hình sandbox dùng được, hoặc hệ thống của bạn có sẵn sandbox mặc định của hệ thống;
  • workspace đang được chạy mã: quản trị viên hệ thống cho phép, và Chạy mã trong Tính năng của workspace không bị tắt (xem Tắt chạy mã);
  • người hỏi đăng nhập Genie bằng tài khoản của chính mình. Genie không bao giờ chạy mã cho người trò chuyện qua Microsoft Teams, Zalo hay tiện ích website, cũng như cho các lệnh gọi bằng khóa API.

Genie (trợ lý mặc định) tự chọn một cấu hình sandbox của workspace (chỉ dùng sandbox mặc định của hệ thống khi workspace không có cấu hình nào dùng được). Mỗi cuộc trò chuyện giữ nguyên sandbox mà nó dùng từ đầu. Agent dùng sandbox đã chọn trong trình chỉnh sửa agent, ở mục Kỹ năng → Sandbox. Khi không chọn sandbox nào (Đã tắt), agent không chạy mã, trừ khi hệ thống của bạn có sẵn sandbox mặc định của hệ thống: khi đó lựa chọn này hiển thị Không chọn (dùng mặc định hệ thống), và agent chạy mã trong sandbox mặc định.

Tệp người dùng đính kèm được sao chép vào sandbox của cuộc trò chuyện. Người dùng thấy từng bước Genie làm để trả lời, cùng các tệp Genie đã tạo để xem trước và tải xuống; nếu cấu hình yêu cầu phê duyệt, họ còn thấy thẻ xin phê duyệt trước các lệnh rủi ro. Bảng sandbox cạnh cuộc trò chuyện hiển thị tệp, terminal và desktop (nếu có). Xem Chạy mã và sandbox và Tệp đính kèm và tệp đã tạo.

Cấu hình sandbox ​

Cấu hình sandbox quy định sandbox chạy ở đâu và được phép làm gì. Thường thì nhà cung cấp Genie của bạn tạo và kết nối cấu hình đầu tiên, vì việc này cần thông tin về dịch vụ sandbox do họ vận hành. Sau đó, quản trị viên hệ thống rà soát và điều chỉnh những gì cấu hình cho phép người dùng làm (xem Quản trị hệ thống). Quản trị viên và Chủ sở hữu workspace không thấy các cài đặt này: họ chọn cấu hình cho từng agent và nhờ quản trị viên hệ thống khi cần thay đổi.

Để xem hoặc thay đổi một cấu hình:

  1. Mở Cài đặt → Sandbox trong nhóm Quản trị hệ thống.
  2. Ở ô Workspace, chọn workspace. Các cấu hình bên dưới chỉ áp dụng cho workspace đó; bạn không cần chuyển sang workspace đó trước. (Trang Cơ sở dữ liệu vector và Lưu trữ trong cùng nhóm cũng có ô chọn này.) Mỗi cấu hình là một thẻ, xếp theo nhóm loại sandbox.
  3. Bấm vào thẻ (hoặc mở menu của thẻ và chọn Sửa).
  4. Chuyển sang bước Môi trường chạy và điều chỉnh Thiết lập thực thi, Chính sách mạng và Biến môi trường (xem bảng bên dưới).
  5. Bấm Lưu. Thay đổi áp dụng cho các phiên mới; sandbox đang chạy vẫn giữ chính sách mạng cũ cho tới khi được thay thế.
Ảnh chụp màn hình sẽ được bổ sungCài đặt → Sandbox: các cấu hình sandbox của một workspacewebsite-docs/public/screenshots/vi/sandbox-settings.png
Cài đặt → Sandbox: các cấu hình sandbox của một workspace

Để thêm cấu hình, bấm Thêm sandbox, chọn Loại sandbox, nhập Tên cấu hình và thông tin kết nối mà nhà cung cấp Genie gửi cho bạn, rồi bấm Kết nối và tiếp tục. Ở bước Mẫu, giữ Mẫu chuẩn Genie (có nhãn Đề xuất). Hoàn tất bước Môi trường chạy rồi lưu. Kiểm tra kết nối xác nhận dịch vụ có phản hồi; Xác minh đầy đủ còn tạo một sandbox dùng thử, chạy một script, kiểm tra kết nối ra ngoài rồi xóa sandbox đó. Một số loại sandbox chỉ xuất hiện sau khi nhà cung cấp Genie bật chúng.

Thiết lậpTác dụng với người dùng
Thời gian chờ thực thi (giây)Thời gian tối đa một script kỹ năng được chạy trước khi bị dừng. Để trống thì tính là 60 giây
TTL sandbox (giây)Sau bao lâu thì sandbox bị tạm dừng. Sandbox tạm dừng vẫn giữ tệp và hoạt động trở lại khi có tin nhắn tiếp theo
Xóa sandbox đã tạm dừng sau (giờ)Sandbox tạm dừng quá thời gian này sẽ bị xóa. Tin nhắn tiếp theo sẽ khởi động sandbox mới: tệp đính kèm được sao chép lại vào đó, còn các tệp đã tạo trước đó vẫn tải được trong cuộc trò chuyện
Ngắt kết nối terminal / desktop khi không hoạt động (giây)Đóng terminal hoặc desktop đang mở nếu không có thao tác nào trong khoảng thời gian này, để sandbox có thể tạm dừng. Để trống thì tính là 900 giây
Workspace bền vữngGiữ tệp của mỗi cuộc trò chuyện khi sandbox được giải phóng. Xem Workspace bền vững
Lưu lượng ra mặc địnhMặc định từ chối (khuyên dùng) chặn mọi thứ trừ Đích được cho phép (và, với CubeSandbox, các Quy tắc truy cập HTTP (L7)). Cấu hình mới dùng sẵn lựa chọn này và chỉ cho mã tải về từ kho gói Python (pypi.org, files.pythonhosted.org). Cho phép mạng công cộng cho mã truy cập toàn bộ internet
Đích được cho phép, Đích bị từ chốiĐích được cho phép là tên miền (như *.contoso.test), địa chỉ IP hoặc dải IP mà mã vẫn được truy cập khi mặc định là từ chối. Đích bị từ chối là địa chỉ IP hoặc dải IP mà mã không bao giờ được truy cập. Tên miền trong danh sách cho phép chỉ có tác dụng khi dùng cùng Mặc định từ chối (khuyên dùng)
Số nhân CPU, Giới hạn bộ nhớ (MB), Giới hạn tiến trình, Thu hồi khi không hoạt động (giây)Tài nguyên cấp cho mỗi sandbox, chỉ hiện với loại sandbox chạy trên một máy chủ duy nhất. Với loại này, Chế độ mạng thay thế các thiết lập lưu lượng ra: bridge (cho phép lưu lượng ra) hoặc none (không có lưu lượng ra)
Biến môi trườngCác giá trị được đưa vào mọi sandbox tạo từ cấu hình này. Mọi script trong sandbox đều đọc được chúng, nên đừng đặt khóa bí mật cá nhân ở đây mà hãy dùng Biến bí mật sandbox
Cách image kỹ năng mới có hiệu lựcSau khi cài hoặc gỡ một kỹ năng: Dựng lại các phiên đang mở ở lượt trò chuyện tiếp theo, hoặc Giữ sandbox hiện tại cho các phiên đang mở; chỉ phiên mới dùng image mới

Menu của thẻ còn có Phiên bản đang chạy, liệt kê các cuộc trò chuyện vẫn đang giữ sandbox của cấu hình này và các agent đang dùng nó. Khi vẫn còn cuộc trò chuyện giữ sandbox, bạn không thể xóa cấu hình hay đổi thông tin kết nối của nó; Genie sẽ cho biết những cuộc trò chuyện nào cần kết thúc trước. Agent đang dùng cấu hình đã bị xóa sẽ không chạy được mã nữa.

Sandbox mặc định của hệ thống ​

Hệ thống Genie của bạn có thể có sẵn một sandbox mà mọi workspace đều dùng được ngay, không cần thiết lập. Sandbox này được thiết lập cho mọi workspace khi cài đặt Genie, và hiển thị trên trang Cài đặt → Sandbox, dù bạn chọn workspace nào, dưới dạng thẻ Mặc định hệ thống có nhãn Chỉ đọc.

  • Chỉ đọc. Thẻ không có thao tác sửa, xóa, kỹ năng hay mẫu, và không bao giờ hiển thị thông tin kết nối, khóa hay biến môi trường. Từ workspace, không ai thay đổi hay xóa được thẻ này. Bạn vẫn xem được các sandbox của nó, vì chúng thuộc về các cuộc trò chuyện trong chính workspace của bạn.
  • Không có kỹ năng. Không cài được kỹ năng lên sandbox này. Muốn dùng kỹ năng, hãy thêm một cấu hình sandbox của riêng workspace (xem ở trên) và cài kỹ năng vào đó.
  • Ai dùng sandbox này. Trừ khi tính năng này đã bị tắt lúc cài đặt Genie, agent không chọn sandbox nào sẽ chạy mã trong sandbox mặc định của hệ thống; trình chỉnh sửa agent cũng có Mặc định hệ thống trong danh sách lựa chọn. Agent đã chọn một cấu hình của workspace thì vẫn dùng cấu hình đó. Genie ưu tiên các cấu hình của chính workspace, và chỉ dùng sandbox mặc định của hệ thống khi workspace không có cấu hình nào dùng được.
  • Những gì được phép. Mặc định, mã chỉ được tải về từ kho gói Python (pypi.org, files.pythonhosted.org) và không truy cập được nơi nào khác. Quản trị viên hệ thống có thể đổi thiết lập này cho mọi workspace hoặc cho riêng một workspace, ở Cài đặt → Mạng và chống virus → Mạng của sandbox mặc định. Lệnh luôn được chạy ngay mà không hỏi phê duyệt; thiết lập này không đổi được. Lệnh có thể xóa sạch sandbox vẫn bị từ chối, lệnh mạng cũng bị từ chối sau khi câu trả lời đã đọc tài liệu được bảo vệ, và mọi lệnh đều được ghi vào nhật ký kiểm toán.
  • Tài nguyên dùng chung. Mọi workspace trong hệ thống dùng chung tài nguyên của sandbox này. Khi thiếu tài nguyên, sandbox đang tạm dừng hoặc đang rảnh có thể bị xóa sớm hơn; tin nhắn tiếp theo của cuộc trò chuyện sẽ khởi động sandbox mới và sao chép lại tệp đính kèm vào đó.

Để ngừng dùng sandbox này, hãy chọn một cấu hình của workspace cho từng agent (Kỹ năng → Sandbox), nhờ quản trị viên hệ thống thêm một cấu hình của riêng workspace để Genie dùng cấu hình đó, hoặc tắt chạy mã cho workspace (xem bên dưới); việc tắt này cũng áp dụng cho sandbox mặc định của hệ thống.

Tắt chạy mã ​

Hai công tắc quyết định workspace có được chạy mã hay không; công tắc chặt hơn sẽ được áp dụng:

Ở đâuCài đặtTác dụng
Cả công tyChạy mã trong phần Chạy mã trong mọi workspace, ở đầu trang Cài đặt → Sandbox thuộc nhóm Quản trị hệ thống (mặc định bật)Khi tắt, không cuộc trò chuyện hay agent nào ở bất kỳ workspace nào chạy mã, và quản trị viên workspace không bật lại được. Trong khung Workspace có cài đặt riêng, quản trị viên hệ thống có thể đặt giá trị riêng cho một workspace
WorkspaceChạy mã ở Cài đặt → Tính năng trong nhóm Workspace (Quản trị viên và Chủ sở hữu)Khi tắt, không ai trong workspace này chạy được mã. Khi quản trị viên hệ thống đã tắt, công tắc này bị làm mờ kèm dòng Đã bị quản trị viên hệ thống tắt.

Khi chạy mã bị tắt, Genie và mọi agent trong workspace ngừng chạy mã và script kỹ năng, nhưng vẫn đọc được hướng dẫn của kỹ năng. Các sandbox đang chạy được giải phóng khi phiên của chúng kết thúc. Bật lại công tắc để khôi phục.

Workspace bền vững ​

Nếu không bật tùy chọn này, sandbox tạm dừng quá lâu sẽ bị xóa cùng các tệp làm việc của cuộc trò chuyện (các tệp Genie đã gửi vẫn tải được trong cuộc trò chuyện). Khi bật Workspace bền vững, thư mục làm việc của mỗi cuộc trò chuyện (tệp đính kèm, kết quả và các tệp Genie đã tạo) được giữ ở một nơi lưu trữ riêng. Nhờ vậy, sandbox có thể được giải phóng vài phút sau khi cuộc trò chuyện ngừng hoạt động, và tin nhắn tiếp theo sẽ khởi động sandbox mới với đúng các tệp đó.

Thiết lậpTác dụng với người dùng
Khi sandbox rảnhHủy (mặc định) giải phóng hoàn toàn sandbox; tệp vẫn được giữ và tin nhắn tiếp theo khởi động sandbox mới. Tạm dừng giữ lại bộ nhớ và các chương trình đang chạy, rồi tiếp tục khi có tin nhắn tiếp theo
Thời gian rảnh trước đó (giây)Tính từ lần cuối có tin nhắn, lệnh, thao tác truyền tệp, hoặc lần cuối dùng terminal hay desktop. Để trống thì tính là 180 giây
Thời gian rảnh cho desktop (giây)Dùng thay cho thời gian trên khi người dùng làm việc trên desktop của sandbox. Để trống thì tính là 900 giây
  • Tin nhắn đầu tiên sau một thời gian rảnh sẽ mất thêm vài giây để khởi động.
  • Các gói cài thủ công và chương trình đang chạy sẽ không được giữ lại. Hãy đưa những công cụ mà mọi người luôn cần vào mẫu hoặc vào một kỹ năng.
  • Với cuộc trò chuyện có rất nhiều tệp nhỏ, tốc độ sẽ chậm hơn một chút so với khi lưu trên ổ đĩa riêng của sandbox.
  • Tệp đã lưu sẽ bị xóa khi cuộc trò chuyện bị xóa.
  • Chỉ một số loại sandbox có tùy chọn này. Nếu không thấy tùy chọn, hãy liên hệ nhà cung cấp Genie.

Kỹ năng ​

Mỗi kỹ năng là một gói gồm tệp mô tả SKILL.md cùng các script, mẫu và tài liệu tham khảo. Kỹ năng nằm trong danh mục của workspace và chỉ chạy được trên sandbox đã cài nó. Quản trị viên và Chủ sở hữu thêm, cài và gỡ kỹ năng; ai có quyền sửa agent thì có thể chọn những kỹ năng đã cài mà agent đó được dùng.

Để thêm kỹ năng:

  1. Ở thanh bên, mở Công cụ → Quản lý kỹ năng.
  2. Bấm Thêm kỹ năng.
  3. Trong phần Cài từ nguồn, dán đường dẫn tới kỹ năng (ví dụ một kho hoặc thư mục GitHub, hay trang của một kho kỹ năng). Hoặc tải tệp zip có chứa SKILL.md lên trong phần Tải lên gói cục bộ. Bấm Tiếp theo để thêm kỹ năng vào danh mục.
  4. Ở bước Cài đặt, đánh dấu các sandbox trong phần Cài vào sandbox, chọn Mô hình cài đặt (một mô hình trò chuyện có hỗ trợ gọi công cụ) rồi bấm Cài vào sandbox. Muốn cài sau thì bấm Xong.
  5. Theo dõi tiến độ. Trạng thái chuyển từ Đang cài đặt sang Sẵn sàng, hoặc sang Thất bại kèm lý do. Quá trình cài đặt có thể mất vài phút.

Nếu cài đặt thất bại, hãy mở mục đó để xem lý do. Bạn có thể thêm hướng dẫn cho trình cài đặt (ví dụ một công cụ dòng lệnh mà kỹ năng cần) rồi bấm Cài lại kèm hướng dẫn, hoặc chỉ cần bấm Cài lại. Dừng cài đặt hủy lượt cài đang chạy.

Để dùng kỹ năng:

  • Genie dùng được mọi kỹ năng đang bật và đã sẵn sàng trên sandbox nó đang chạy.
  • Agent: trong trình chỉnh sửa agent, mở mục Kỹ năng, chọn Sandbox, rồi đặt Danh sách kỹ năng thành Tất cả, Đã chọn (sau đó đánh dấu từng kỹ năng) hoặc Đã tắt. Bạn chỉ đánh dấu được những kỹ năng đã sẵn sàng trên sandbox đó.
  • Người dùng có thể gõ @ trong khung chat và chọn một kỹ năng để yêu cầu dùng đúng kỹ năng đó. Xem Chạy mã và sandbox.

Để quản lý kỹ năng đã cài, hãy mở kỹ năng trong Quản lý kỹ năng rồi chọn sandbox đã cài kỹ năng đó:

Thao tácTác dụng
Bật (công tắc)Khi tắt, agent và Genie không còn thấy kỹ năng; các tệp của nó vẫn được giữ
Biến môi trườngCác khóa mà kỹ năng khai báo, kèm Giá trị cho toàn workspace (xem Biến bí mật sandbox)
Nâng cấpCài phiên bản mới hơn có trong danh mục. Sandbox vẫn chạy phiên bản hiện tại cho tới khi nâng cấp thành công, và giữ nguyên phiên bản đó nếu nâng cấp thất bại
Gỡ khỏi sandboxGỡ kỹ năng khỏi sandbox đó. Kỹ năng vẫn nằm trong danh mục để cài vào sandbox khác
Xóa khỏi danh mụcXóa kỹ năng sau khi đã gỡ khỏi mọi sandbox

Bạn cần cài kỹ năng riêng cho từng sandbox: kỹ năng đã cài trên cấu hình này không dùng được ở cấu hình khác.

Biến bí mật sandbox ​

Một số kỹ năng cần khóa, ví dụ API token của một hệ thống nội bộ. Genie truyền khóa cho kỹ năng khi chạy và không bao giờ hiển thị lại giá trị đã lưu.

Cho từng người. Mỗi người tự đặt giá trị của mình trong Cài đặt → Biến bí mật sandbox (trong nhóm Tài khoản):

  • Khóa mà kỹ năng cần liệt kê các khóa mà từng kỹ năng khai báo. Bạn có thể điền trước, hoặc nhập khi Genie hỏi trong cuộc trò chuyện.
  • Luôn truyền vào sandbox đã chọn chứa các giá trị được truyền cho mọi lệnh bạn chạy trong sandbox đó. Hầu hết mọi người không cần dùng mục này.

Thành viên khác không xem được giá trị của bạn, và giá trị của họ không bao giờ ghi đè giá trị của bạn.

Cho toàn workspace. Quản trị viên và Chủ sở hữu có thể điền giá trị dùng chung: mở Công cụ → Quản lý kỹ năng, mở kỹ năng trên sandbox của nó, mở rộng Biến môi trường và điền Giá trị cho toàn workspace. Thành viên chưa đặt giá trị riêng sẽ dùng giá trị này.

Khi kỹ năng chạy, Genie ưu tiên giá trị riêng mà người dùng đặt cho kỹ năng đó, tiếp đến giá trị riêng của họ cho sandbox, sau cùng là giá trị cho toàn workspace. Khi xóa giá trị riêng, giá trị của workspace sẽ được áp dụng trở lại; tắt kỹ năng không xóa giá trị của bất kỳ ai.

Bảo mật ​

  • Mỗi cuộc trò chuyện chạy trong một sandbox cô lập riêng. Mã trong cuộc trò chuyện này không thấy được tệp của cuộc trò chuyện khác.
  • Lệnh có thể phải chờ phê duyệt. Mặc định, Genie chạy lệnh ngay mà không hỏi. Ở mục Phê duyệt lệnh của cấu hình sandbox, quản trị viên hệ thống có thể chọn Hỏi trước khi cài gói, dùng mạng, xóa tệp hoặc ghi ra ngoài thư mục làm việc hoặc Hỏi trước mọi lệnh; khi đó người hỏi sẽ thấy thẻ xin phê duyệt, và yêu cầu nào không được phản hồi sẽ bị từ chối. Lệnh có thể xóa sạch sandbox luôn bị từ chối.
  • Tài liệu được bảo vệ buộc mã chạy ngoại tuyến. Khi câu trả lời đã đọc tài liệu có mức bảo vệ không cho phép dùng dịch vụ bên ngoài, mọi lệnh mạng sẽ bị từ chối cho tới khi câu trả lời đó kết thúc.
  • Chính sách mạng là rào chắn thực sự. Với hầu hết loại sandbox, cấu hình mới mặc định chặn mạng và chỉ cho tải về từ kho gói Python, nên mã không thể gửi tệp ra ngoài; chỉ thêm những đích mà kỹ năng cần. Các cấu hình tạo từ trước vẫn giữ chính sách cũ: hãy chuyển chúng sang Mặc định từ chối (khuyên dùng) theo cách tương tự.
  • Mọi lệnh đều được ghi vào nhật ký kiểm toán với tên sự kiện Đã chạy code trong sandbox của cuộc trò chuyện, gồm phần đầu của lệnh, kết quả, thời gian chạy, các tệp được tạo và quyết định phê duyệt, nhưng không bao giờ ghi nội dung đầu ra. Xem Mức sử dụng, phân tích và nhật ký kiểm toán.
  • Chỉ cài kỹ năng bạn tin cậy. Script của kỹ năng chạy với toàn quyền trong sandbox, và phần thiết lập của nó chạy ngay khi cài. Trước khi cài, hãy bấm Xem tệp để đọc các tệp của kỹ năng. Đường dẫn phải truy cập công khai được; với kỹ năng nội bộ, hãy tải tệp zip lên.
  • Biến môi trường của cấu hình không phải bí mật đối với script. Mọi script trong sandbox đều đọc được mọi giá trị trong Biến môi trường của cấu hình đó.

Lưu ý ​

  • Chỉ quản trị viên hệ thống mới thấy và thay đổi được các cấu hình sandbox, ở Cài đặt → Sandbox cho workspace họ chọn. Quản trị viên và Chủ sở hữu workspace chỉ tắt hoặc bật lại được việc chạy mã cho workspace của mình, ở Cài đặt → Tính năng. Họ mở được Công cụ → Quản lý kỹ năng; liên kết tới cài đặt sandbox trên trang đó, cũng như trong trình chỉnh sửa agent, sẽ nhắc người khác liên hệ quản trị viên hệ thống. Mọi thành viên đều mở được Biến bí mật sandbox.
  • Mỗi lần cài hoặc gỡ kỹ năng, một image sandbox mới sẽ được dựng. Nếu chọn Dựng lại các phiên đang mở ở lượt trò chuyện tiếp theo, các cuộc trò chuyện đang mở sẽ nhận sandbox mới ở tin nhắn tiếp theo, và các tệp làm việc chưa lưu sẽ bị mất.
  • Sandbox tạm dừng vẫn giữ tệp. Sandbox được giữ ở trạng thái tạm dừng bao lâu là tùy vào Xóa sandbox đã tạm dừng sau (giờ) và tài nguyên của dịch vụ sandbox.
  • Desktop trong bảng sandbox chỉ có khi dùng mẫu desktop Genie. Nếu người dùng cần desktop, hãy liên hệ nhà cung cấp Genie.
  • Nếu mã hoàn toàn không chạy, hãy kiểm tra workspace đã có cấu hình chưa (hoặc hệ thống có sẵn sandbox mặc định không), Chạy mã có đang bật cả ở cấp công ty lẫn trong Tính năng của workspace không, và agent đã chọn Sandbox chưa (trừ khi agent dùng sandbox mặc định của hệ thống). Nếu cấu hình không kết nối được, hãy liên hệ nhà cung cấp Genie của bạn.