Skip to content

> ## Thêm tính năng phân loại sự cố tự động với GitHub Agentic Workflows #3870

@Huynhthuongg

Description

@Huynhthuongg

Thêm tính năng phân loại sự cố tự động với GitHub Agentic Workflows

Giới thiệu quy trình phân loại sự cố được hỗ trợ bởi AI sử dụng GitHub Agentic Workflows ( gh-aw) tự động áp dụng area:nhãn và triagenhãn khi sự cố được mở hoặc mở lại. Điều này thay thế quy trình phân loại thủ công trước đây.

Chức năng của nó là gì?

Khi một vấn đề mới được mở (hoặc mở lại), quy trình làm việc sẽ như sau:

  1. Tự động triagedán nhãn
  2. Phân tích tiêu đề, nội dung và bình luận của bài viết bằng trí tuệ nhân tạo.
  3. Áp dụng 1–3 area:nhãn liên quan từ 19 lĩnh vực được xác định (ví dụ: area:mcp, area:authentication, area:installation)
  4. Để lại một bình luận ngắn gọn giải thích về sự phân loại.
  5. Đối với các vấn đề được mở lại có nhãn khu vực hiện có, hệ thống sẽ giữ nguyên chúng và chỉ thêm lại.triage

Thay đổi

Tệp mới:

  • .github/workflows/issue-classification.md— Quy trình làm việc gh-aw với hướng dẫn từ tác nhân AI để phân tích vấn đề và gắn nhãn khu vực
  • .github/workflows/issue-classification.lock.yml— Quy trình làm việc đã biên dịch (được tạo tự động bởi gh aw compile)
  • .github/workflows/verify-compiled.yml— Kiểm tra CI đảm bảo các tệp khóa luôn đồng bộ với .mdcác tệp nguồn
  • .github/workflows/copilot-setup-steps.yml— Thiết lập môi trường gh-aw cho Copilot Agent
  • .github/agents/agentic-workflows.agent.md— Cấu hình tác nhân gh-aw (được tạo bởi gh aw init)
  • .github/aw/actions-lock.json— Tệp khóa hành động gh-aw
  • .gitattributes— đánh dấu *.lock.ymllà các tệp được tạo

Các tệp đã bị xóa:

  • .github/workflows/remove-triage-label.yml— đã loại bỏ việc phân loại dựa trên thuật toán (loại bỏ mọi nhãn không thuộc phân loại triage); việc loại bỏ thủ công rõ ràng là một tín hiệu tốt hơn.
  • .github/workflows/triage-issues.ymlopened/ reopenedViệc xử lý được thay thế bằng việc phân loại vấn đề; unlabeled/ more-info-neededViệc phân loại lại được loại bỏ để thay thế bằng hành động rõ ràng của con người

Quyết định thiết kế

  • Luồng công việc đơn giản — không cần mô hình ủy quyền vì chúng ta chỉ thực hiện phân loại khu vực, chứ không phải định tuyến dựa trên loại hình.
  • Cách dán nhãn thận trọng — khi không chắc chắn, chỉ áp dụng triagevà yêu cầu con người phân loại thay vì đoán mò.
  • Chống chèn lời nhắc — hướng dẫn của tác nhân coi nội dung vấn đề là dữ liệu không đáng tin cậy.
  • target: "*"— Hỗ trợ cả sự kiện phát hành và workflow_dispatchphân loại lại thủ công
  • safe-outputs— Các nhãn bị giới hạn trong danh sách cho phép gồm 19 area:nhãn cộng thêmtriage

Kiểm tra

Sử dụng workflow_dispatchđể kiểm tra các vấn đề hiện có:

gh workflow run "Issue Classification Agent" -f issue_number=<NUMBER>

Originally posted by @Huynhthuongg in #2587 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions