> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Skill Matrix

> Trực quan hóa mức độ thành thạo của lập trình viên theo các lĩnh vực code review bằng heatmap và biểu đồ radar, giúp xác định điểm mạnh và lĩnh vực cần phát triển.

Hiểu rõ từng lập trình viên giỏi ở đâu và có thể phát triển ở đâu. Skill Matrix ánh xạ mức độ thành thạo của mỗi thành viên nhóm trên bốn lĩnh vực chuyên sâu — **Security**, **Performance**, **Correctness**, và **Patterns** — sử dụng heatmap theo màu sắc và biểu đồ radar cực giúp thể hiện điểm mạnh và khoảng trống một cách trực quan.

Điểm được tính từ các phát hiện code review thực tế trong cửa sổ 90 ngày liên tục, nên ma trận luôn phản ánh công việc gần đây thay vì lịch sử cũ. Để có góc nhìn bổ sung kết hợp chất lượng và năng suất, xem [Bảng xếp hạng](/vi/guide/code-review/leaderboard).

***

## Những gì bạn có được

* **Heatmap** theo màu sắc hiển thị điểm của tất cả lập trình viên cùng lúc
* **Biểu đồ radar** theo từng lập trình viên thể hiện hình dạng mức độ thành thạo trên bốn lĩnh vực
* Lớp phủ cấp nhóm so sánh người thực hiện tốt nhất với trung bình nhóm
* Điểm mạnh và lĩnh vực phát triển được tự động xác định cho mỗi lập trình viên
* Xu hướng phát hiện hàng tuần và theo dõi giải quyết
* Xác định mô hình lặp lại qua force graph do AI tạo ra

***

## Bốn lĩnh vực

Mỗi lĩnh vực tương ứng với một agent chuyên gia review code của bạn:

| Lĩnh vực    | Chuyên gia               | Nội dung đo lường                                                     |
| ----------- | ------------------------ | --------------------------------------------------------------------- |
| Security    | Chuyên gia bảo mật       | Lỗ hổng bảo mật, lộ bí mật, rủi ro injection, vấn đề xác thực         |
| Performance | Chuyên gia hiệu suất     | Query kém hiệu quả, memory leak, vấn đề N+1, cấp phát không cần thiết |
| Correctness | Chuyên gia tính đúng đắn | Lỗi logic, trường hợp biên, không khớp kiểu dữ liệu, thiếu validation |
| Patterns    | Chuyên gia mô hình       | Anti-pattern, code smell, vi phạm style, vấn đề khả năng bảo trì      |

***

## Cách tính điểm

Điểm sử dụng phương pháp **Bayesian shrinkage** — một phương pháp thống kê tính đến lượng dữ liệu chúng ta có về mỗi lập trình viên. Lập trình viên có ít MR hơn sẽ có điểm được kéo về phía trung bình nhóm, ngăn chặn điểm số cực đoan không đáng tin cậy từ mẫu nhỏ.

1. **Thu thập phát hiện** — Tất cả phát hiện từ các agent chuyên gia **Advanced code review** trong 90 ngày qua được nhóm theo lập trình viên và lĩnh vực.
2. **Chuẩn hóa** — Với mỗi lập trình viên trong mỗi lĩnh vực, tính `số phát hiện mỗi MR`.
3. **Kéo về trung bình nhóm** — Tỷ lệ của mỗi lập trình viên được pha trộn với trung bình toàn nhóm. Lập trình viên có nhiều MR giữ tỷ lệ gần với giá trị quan sát; lập trình viên có ít MR được kéo gần hơn về trung bình nhóm.
4. **Chấm điểm so với ngưỡng** — Tỷ lệ đã điều chỉnh được so sánh với ngưỡng theo lĩnh vực: `Score = max(0%, 1 - adjusted_rate / threshold)`.
5. **Lấy trung bình** — Bốn điểm lĩnh vực được lấy trung bình thành một **Điểm Tổng thể**.

<Info>
  Lập trình viên cần ít nhất **3 MR được review ở chế độ Advanced** để xuất hiện trên Skill Matrix. Review ở chế độ Fast không được tính vì chúng không sử dụng các agent chuyên gia theo lĩnh vực.
</Info>

### Tại sao dùng Bayesian shrinkage?

Một lập trình viên gửi 7 MR với không có phát hiện nào không nhất thiết giỏi hơn người gửi 67 MR với một số phát hiện — chúng ta chỉ đơn giản là có ít dữ liệu hơn về họ. Bayesian shrinkage giải quyết vấn đề này bằng cách xử lý mẫu nhỏ với mức độ không chắc chắn phù hợp:

* **Lập trình viên tần suất cao** — điểm phản ánh sát tỷ lệ phát hiện thực tế của họ
* **Lập trình viên tần suất thấp** — điểm được kéo về phía trung bình nhóm cho đến khi có đủ dữ liệu

Điều này ngăn chặn bẫy thường gặp khi thành viên mới hoặc người đóng góp không thường xuyên xuất hiện với điểm số hoàn hảo (hoặc tệ) một cách sai lệch.

***

## Đọc hiểu điểm số

| Điểm Tổng thể | Nhãn          | Diễn giải                                             |
| ------------- | ------------- | ----------------------------------------------------- |
| 80% trở lên   | Xuất sắc      | Code sạch nhất quán trên tất cả lĩnh vực              |
| 60 – 79%      | Tốt           | Trên trung bình với một số lĩnh vực cần cải thiện nhỏ |
| 40 – 59%      | Khá           | Còn chỗ phát triển trong nhiều lĩnh vực               |
| 20 – 39%      | Cần cải thiện | Nhiều phát hiện đáng kể trong một số lĩnh vực         |
| Dưới 20%      | Yếu           | Tỷ lệ phát hiện cao trên nhiều lĩnh vực               |

Điểm **100%** trong một lĩnh vực nghĩa là không có phát hiện từ chuyên gia đó và trung bình nhóm bằng 0 trong lĩnh vực đó. Điểm được đo theo ngưỡng lĩnh vực cố định, nên điểm của lập trình viên tần suất cao vẫn ổn định khi thành phần nhóm thay đổi. Điểm của lập trình viên tần suất thấp có thể thay đổi nhẹ vì tỷ lệ của họ được pha trộn với trung bình nhóm.

<Tip>
  Tập trung vào lĩnh vực có điểm thấp nhất trước tiên. Tăng từ 40% lên 60% trong một lĩnh vực có tác động lớn hơn đến điểm tổng thể so với tăng từ 85% lên 95% ở lĩnh vực khác.
</Tip>

***

## Chỉ dành cho chế độ Advanced

Skill Matrix chỉ sử dụng các phát hiện từ **Advanced code review**, nơi bốn agent chuyên gia (Security, Performance, Correctness, Patterns) phân tích code của bạn độc lập. MR được review ở **chế độ Fast** sử dụng một agent đa năng mà các phát hiện của nó không được phân loại theo lĩnh vực, nên không thể đóng góp vào điểm theo lĩnh vực.

Nếu workspace của bạn sử dụng chế độ Fast, Skill Matrix sẽ hiển thị ít lập trình viên đủ điều kiện hơn hoặc có thể trống. Chuyển sang chế độ Advanced trong [cài đặt code review](/vi/guide/code-review/overview) để có đầy đủ độ phủ Skill Matrix.

***

## Skill Matrix xuất hiện ở đâu

### Skill Matrix nhóm (heatmap)

Tab **Skill Matrix** trên trang Analytics hiển thị bảng heatmap của tất cả lập trình viên đủ điều kiện. Mỗi ô được tô màu từ xanh lá (xuất sắc) đến đỏ (yếu), với điểm tổng thể và số MR mỗi lập trình viên. Hàng **Trung bình Nhóm** ở cuối cung cấp đường cơ sở. Nhấp vào bất kỳ hàng lập trình viên nào để mở hồ sơ.

### Skill Radar (biểu đồ cực)

Bên dưới heatmap, biểu đồ radar cực chồng lấp **3 lập trình viên đứng đầu** với đường **Trung bình Nhóm** đứt nét. Điều này cung cấp ảnh chụp nhanh trực quan về ai dẫn đầu trong mỗi lĩnh vực và hình dạng nhóm khác nhau ở đâu.

### Hộp thoại Hồ sơ Lập trình viên

Nhấp vào bất kỳ lập trình viên nào để mở hồ sơ đầy đủ, bao gồm:

| Phần                         | Mô tả                                                                                                  |
| ---------------------------- | ------------------------------------------------------------------------------------------------------ |
| Tiêu đề hồ sơ                | Avatar, số MR, tổng phát hiện, điểm chất lượng trung bình, phần trăm kỹ năng tổng thể                  |
| Skill Radar                  | Biểu đồ radar cực của cả bốn lĩnh vực cho lập trình viên này                                           |
| Tỷ lệ giải quyết             | Phần trăm phát hiện được giải quyết trước khi merge, hiển thị dưới dạng thanh tiến trình               |
| Lĩnh vực tập trung           | **Điểm mạnh** tự động xác định (2 lĩnh vực đứng đầu) và **Lĩnh vực phát triển** (2 lĩnh vực đứng cuối) |
| Xu hướng phát hiện hàng tuần | Biểu đồ cột xếp chồng theo mức độ nghiêm trọng trong 90 ngày qua                                       |
| Pattern Force Graph          | Các mô hình lặp lại do AI xác định, trực quan hóa dưới dạng mạng lưới hướng lực                        |

***

## Trường hợp sử dụng

### 1. Phát triển kỹ năng có mục tiêu

Dùng **Lĩnh vực tập trung** được tự động xác định để định hướng các cuộc trò chuyện 1:1. Nếu lập trình viên đạt 90% trong Correctness nhưng 45% trong Security, hãy ghép họ với mentor có chuyên môn bảo mật hoặc giao các nhiệm vụ liên quan đến Security để xây dựng kỹ năng đó.

### 2. Phân công code review cân bằng

Định tuyến PR quan trọng đến reviewer có điểm cao nhất trong lĩnh vực liên quan. Lập trình viên với 95% Security là người phù hợp để review các thay đổi về xác thực.

### 3. Theo dõi tiến bộ theo thời gian

**Xu hướng phát hiện hàng tuần** cho thấy liệu số phát hiện của lập trình viên có đang giảm không. Xu hướng giảm trong lĩnh vực vốn yếu xác nhận rằng coaching hoặc đào tạo đang có hiệu quả.

### 4. Lập kế hoạch thành phần nhóm

Biểu đồ radar lớp phủ nhóm tiết lộ điểm mù tập thể. Nếu cả nhóm có điểm thấp trong Performance, hãy cân nhắc đầu tư vào đào tạo hoặc công cụ tập trung vào hiệu suất.

<Info>
  Điểm dựa trên ngưỡng tuyệt đối, nên ổn định khi thành phần nhóm thay đổi. Tuy nhiên, hàng trung bình nhóm sẽ thay đổi khi thành viên gia nhập hoặc rời đi. Dùng điểm cá nhân để theo dõi phát triển cá nhân và trung bình nhóm để chuẩn hóa tổ chức.
</Info>

***

## Liên quan

<CardGroup cols={2}>
  <Card title="Code Review overview" icon="code" href="/vi/guide/code-review/overview">
    Cấu hình và quản lý code review tự động cho kho lưu trữ của bạn
  </Card>

  <Card title="Mention commands" icon="at" href="/vi/guide/code-review/mention-commands">
    Kích hoạt autofix và đặt câu hỏi trực tiếp từ bình luận MR/PR
  </Card>
</CardGroup>
