Gỡ lỗi và di chuyển flow giữa các môi trường

Hãy tin vào bằng chứng chứ không phải cảm xúc

Bài 6 cung cấp cho bạn các đường dẫn lỗi trong flow và những thông báo lỗi trung thực. Nhưng việc xử lý lỗi chỉ có tác dụng nếu bạn có thể thấy điều gì đã xảy ra. “Nó không hoạt động” là một cảm giác; bản ghi lần chạy có bước màu đỏ và thông tin đầu vào được ghi lại là chẩn đoán. Bài học này nói về bằng chứng - và sau đó là về việc chuyển flow của bạn đến môi trường nơi nó thực sự tồn tại.

Flow có 3 tab - Tìm hiểu những gì mỗi tab nắm giữ

Mở bất kỳ agent flow nào trong Copilot Studio và bạn nhận được 3 tab bên cạnh Designer:

Overview - Thẻ nhận dạng của flow: tên, mô tả, chủ sở hữu và người đồng sở hữu, các kết nối của flow, các lần chạy gần đây và nút bật/tắt. Bạn đã kiểm tra các kết nối ở đây trong Bài học 4; nó vẫn là điểm dừng đầu tiên của bạn khi thông tin xác thực hoạt động sai.

Activity - Lịch sử chạy. Mỗi lần chạy đều có trạng thái và thời lượng; chọn một để thực hiện từng bước hành động và xem chính xác vị trí dừng cũng như dữ liệu mà mỗi bước nắm giữ. Chạy nhiều lựa chọn để gửi lại hoặc hủy những lựa chọn vẫn đang được tiến hành. Tab này gần như theo thời gian thực, điều này khiến nó trở thành nguồn thông tin đáng tin cậy trong quá trình gỡ lỗi.

Analytics - số lần chạy, tỷ lệ thất bại, xu hướng. Hữu ích hàng tuần, gây hiểu lầm từng phút: các lần chạy mất tới 30 phút để xuất hiện trong hình ảnh trực quan, xu hướng được thực hiện bởi hành động sẽ làm mới khoảng 24 giờ một lần và số liệu phân tích lần chạy chỉ bao gồm những flow giải pháp. Khi ActivityAnalytics không đồng ý, hãy tin vào Activity.

Ngoài ra còn có Version history trên menu trên cùng của Designer - mọi lần lưu đều được ghi lại, nhóm theo ngày, với các phiên bản đã xuất bản được đánh dấu. Lưu bản nháp khi bạn làm việc; lịch sử được xây dựng từ những lần lưu, và việc mở được "bản vẫn chạy" đã giải cứu được nhiều buổi chiều.

Kiểm tra nhanh: Một lần chạy không thành công ở bước 4 trong tổng số 6 bước. Tab nào hiển thị cho bạn thứ bước 4 nhận được làm đầu vào - và tại sao việc này lại quan trọng?

Trả lời: Activity - mở lần chạy, chọn bước không thành công. Dữ liệu đầu vào được ghi lại cho bạn biết liệu bước 4 đã bị hỏng hay được giao thứ gì đó bị hỏng, đó là toàn bộ chẩn đoán trong một nửa thời gian.

Vai trò của yếu tố agent trong câu chuyện

Lịch sử chạy cho bạn biết flow đã làm gì. Để biết agent đã làm gì với nó, hãy sử dụng các công cụ mà bạn biết từ bài học đầu tiên: Trong khung kiểm tra, Activity map hiển thị kế hoạch của từng lượt trò chuyện - công cụ nào mà orchestrator đã chọn, thông tin đầu vào mà nó điền vào, kết quả đầu ra mà nó nhận được. Một flow có thể thành công trong khi agent bỏ qua đầu ra của nó; chỉ có phía agent mới tiết lộ điều đó. Đối với các cuộc trò chuyện trước đây trong thực tế, trang Activity của agent sẽ lưu giữ những hoạt động lịch sử bằng các bộ lọc như Failed và Completed.

Quá trình gỡ lỗi, theo thứ tự: Bản đồ hoạt động (có kích hoạt đúng công cụ, với đầu vào phù hợp không?) → flow tab Activity (điều gì đã xảy ra bên trong?) → Kết nối tổng quan (với tư cách là ai?).

Giải pháp: Flow di chuyển như thế nào?

Cho đến nay mọi thứ đều tồn tại ở nơi bạn đã xây dựng nó. Các hoạt động triển khai thực sự tách biệt nơi bạn xây dựng với nơi đồng nghiệp sử dụng - môi trường phát triển và môi trường sản xuất - và phương tiện giữa chúng chính là giải pháp: Một gói chứa flow của bạn cộng với các thành phần mà nó phụ thuộc vào.

Các flow được xây dựng từ Copilot Studio đã nhận biết được giải pháp (đó là một phần lý do tại sao chúng hiển thị dưới dạng công cụ). Điều khiến một giải pháp có thể mang theo được chính là những gì bạn đã học được trong Bài học 3–6, gói gọn một cách có chủ ý:

Hai yếu tố giúp quá trình triển khai diễn ra suôn sẻ. Các tham chiếu kết nối (Bài 4) đảm bảo rằng khi nhập giải pháp, hệ thống sẽ hỏi "tham chiếu SharePoint này nên sử dụng kết nối nào ở môi trường sản xuất?" thay vì chuyển giao thông tin xác thực từ môi trường phát triển của bạn. Các biến môi trường lưu trữ những cấu hình thay đổi tùy theo môi trường - chẳng hạn như URL trang web hay tên danh sách - nhờ đó flow sẽ đọc giá trị từ biến, còn bạn chỉ cần thiết lập giá trị cho môi trường sản xuất ngay khi nhập mà không cần chỉnh sửa trực tiếp bên trong flow. Việc sử dụng các URL được hardcode chính là nguyên nhân khiến các flow ở môi trường phát triển vô tình ghi dữ liệu vào danh sách ở môi trường phát triển ngay cả khi đang chạy ở môi trường sản xuất.

So sánh giữa giải pháp được quản lý và không được quản lý, tóm tắt trong một dòng cho mỗi loại: Gói xuất dạng không được quản lý vẫn có thể chỉnh sửa tại đích đến - phù hợp để di chuyển giữa các môi trường xây dựng; gói xuất dạng được quản lý sẽ bị khóa - phù hợp cho môi trường sản xuất, nơi mọi thay đổi cần được thực hiện thông qua flow triển khai chuẩn thay vì các bản sửa lỗi nhanh.

Thử ngay: Lập danh mục kiểm tra trước khi triển khai cho agent flow!

Nơi dán nội dung: claude.ai hoặc chatgpt.com.

Sao chép câu lệnh (prompt) này và điền thông tin về flow dự án của bạn:

Hãy lập danh mục kiểm tra trước khi triển khai cho một Copilot Studio agent flow
khi chuyển từ môi trường phát triển sang môi trường sản xuất.

Flow của tôi: [một câu mô tả]
Các connector được sử dụng: [danh sách]
Các giá trị khác nhau giữa môi trường phát triển và sản xuất: [ví dụ: "URL trang SharePoint,
tên danh sách, kênh thông báo"]

Xuất ra một danh sách kiểm tra gồm 3 phần:
1. Nội dung giải pháp - flow cùng với mọi tham chiếu kết nối và
  biến môi trường cần thiết, kèm tên gọi cụ thể
2. Các bước nhập - ai cung cấp kết nối sản xuất nào, và
  những giá trị biến môi trường nào cần thay đổi
3. Xác minh sau khi nhập - 3 lệnh gọi kiểm thử chứng minh flow hoạt động
  với dữ liệu và thông tin xác thực của môi trường sản xuất

Kết quả nhận được: Một danh mục kiểm tra triển khai mà bạn có thể giao cho đồng nghiệp để họ thực hiện triển khai flow của bạn mà không cần hỏi thêm bất kỳ điều gì.

Cách sử dụng kết quả: Đây chính là phần triển khai trong danh sách kiểm tra đưa vào vận hành của Bài 8 - hãy lưu giữ nó cùng với các phần còn lại.

Kiểm tra nhanh: Tại sao việc nhập vào môi trường sản xuất không nên tái sử dụng các kết nối từ môi trường phát triển, ngay cả khi điều đó khả thi?

Trả lời: Các kết nối ở môi trường phát triển chứa thông tin xác thực của giai đoạn phát triển và trỏ đến dữ liệu phát triển; môi trường sản xuất cần các kết nối riêng tuân thủ nguyên tắc đặc quyền tối thiểu để có thể kiểm toán quyền truy cập và đảm bảo flow tương tác với đúng hệ thống.

Những điểm chính cần ghi nhớ

  • Tab Activity = thông tin thực tế gần như theo thời gian thực với dữ liệu chi tiết từng bước; Dữ liệu Analytics có độ trễ theo thiết kế (30 phút / ~24 giờ) - tuyệt đối không dùng Analytics để gỡ lỗi
  • Bản đồ hoạt động (activity map) của agent hiển thị những gì orchestrator đã gửi và nhận - thông tin mà lịch sử chạy không thể hiện hết
  • Lịch sử phiên bản được tạo từ các lần lưu: Hãy lưu bản nháp để luôn có thể khôi phục lại trạng thái cũ
  • Các giải pháp bao gồm flow, tham chiếu kết nối và biến môi trường; khi nhập giải pháp, thông tin xác thực và cấu hình sẽ được thiết lập lại cho phù hợp với từng môi trường dạng "không được quản lý" dùng giữa các môi trường xây dựng; dạng "được quản lý" dùng cho môi trường sản xuất
  • Câu 1:

    Flow của Elena đã chạy thành công (hiển thị màu xanh trong lịch sử chạy) nhưng câu trả lời của agent lại không hiển thị bất kỳ dữ liệu nào từ flow đó. Công cụ nào cho phép cô ấy xem tập trung tại một nơi những gì agent thực sự nhận được từ lệnh gọi công cụ?

    GIẢI THÍCH:

    Đây là khía cạnh gỡ lỗi từ phía agent: Bản đồ hoạt động ghi lại diễn biến của lượt tương tác - công cụ nào được kích hoạt, dữ liệu đầu vào là gì, kết quả trả về ra sao - nhờ đó, ta có thể nhận biết ngay lập tức các trường hợp flow chạy thành công nhưng kết quả đầu ra lại không được gửi đi trong phản hồi. Trong khi tab Analytics hiển thị biểu đồ về lưu lượng và tỷ lệ lỗi, tab Objects liệt kê các thành phần thay vì dữ liệu tải trọng (payload), thì lịch sử phiên bản lại theo dõi những định nghĩa thay vì dữ liệu thực thi.

  • Câu 2:

    Marcus xuất giải pháp flow của mình từ môi trường phát triển (dev) và nhập nó vào môi trường sản xuất (production). Trong quá trình nhập, hệ thống yêu cầu anh ấy xác nhận thông tin về các kết nối. Thực tế, quy trình nhập đang yêu cầu anh ấy làm gì?

    GIẢI THÍCH:

    Đây chính là chức năng của các tham chiếu kết nối: Flow liên kết với các tham chiếu, và mỗi lần nhập sẽ cung cấp các kết nối thực tế cho môi trường đích - sử dụng thông tin xác thực production cho môi trường production. Các kết nối không bao giờ được sao chép trực tiếp giữa những môi trường, quá trình nhập không được miễn trừ DLP, và các biến môi trường được chuyển đổi theo thiết kế - bạn cung cấp giá trị mới thay vì xóa chúng đi.

  • Câu 3:

    Hai phút sau khi chạy thử nghiệm thành công, tab Analytics của Priya vẫn hiển thị số lần chạy là 0 trong ngày hôm nay. Đâu là cách hiểu đúng về tình trạng này?

    GIẢI THÍCH:

    Tab Analytics có ghi rõ về độ trễ của chính nó: Lên đến 30 phút để hiển thị trực quan các lần chạy, khoảng 24 giờ cho xu hướng các hành động đã thực hiện, và số liệu có thể khác với tab Activity do nguồn dữ liệu khác nhau. Tab Activity là nguồn dữ liệu chính xác theo thời gian thực (hoặc gần như thời gian thực). Không cần gửi lại yêu cầu, và không có thủ thuật cache nào có thể đẩy nhanh quy trình xử lý phía máy chủ.

Thứ Hai, 21/09/2026 09:38
52 👨
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖ Copilot Studio