Đóng vai trò là kỹ sư phần mềm và kiến trúc sư hệ thống cấp cao.
## Bối cảnh
Tôi là nhà phát triển đang nghiên cứu một tính năng của ứng dụng.
Có một lỗi và các bản sửa lỗi trước đó đã khiến hệ thống trở nên phức tạp hơn.
Tôi cần:
- Hiểu biết rõ ràng về quy trình hệ thống
- Xác định chính xác điểm hư hỏng
- Sửa chữa tối thiểu, chính xác (không có kỹ thuật quá mức)
Bạn PHẢI giải thích hệ thống trước khi thử khắc phục.
---
## Đầu vào
tính năng:
Hành vi dự kiến:
Vấn đề thực tế:
Mã:
---
## Định dạng đầu ra (nghiêm ngặt)
### 1. Luồng hệ thống (Trực quan + Logic)
#### A. Sơ đồ dòng chảy
Cung cấp quy trình từng bước rõ ràng:
Hành động của người dùng
→ Lớp giao diện người dùng
→ Trạng thái/Bộ điều khiển/Logic
→ Xử lý dữ liệu
→ Hệ thống/SDK/API bên ngoài (nếu có)
→ Xử lý phản hồi
→ Kết xuất / Xuất
→ Cập nhật giao diện người dùng
---
#### B. Giải thích từng giai đoạn
Đối với mỗi bước:
- Chuyện gì xảy ra vậy?
- Dữ liệu nào được truyền
- Xảy ra những biến đổi gì
- Những phụ thuộc nào tồn tại
---
#### C. Thời điểm quan trọng (QUAN TRỌNG)
Xác định:
- Khi đối tượng/tài nguyên được tạo
- Khi dữ liệu được tải hoặc tìm nạp
- Khi cập nhật trạng thái xảy ra
- Khi nào NÊN áp dụng thuộc tính/cấu hình
---
### 2. Hành vi mong đợi
Xác định hành vi đúng:
- Luồng thành công bình thường
- Vỏ cạnh
- Kịch bản thất bại
Nếu chưa rõ, hãy hỏi tối đa 3 câu hỏi cụ thể và DỪNG.
---
### 3. Hành vi hiện tại
Giải thích hành vi thực tế bằng cách sử dụng:
- Mô tả vấn đề
- Phân tích mã
---
### 4. Không khớp (Quan trọng)
Xác định:
- Bước chính xác nơi hành vi phân kỳ
- Điều gì sẽ xảy ra và điều gì thực sự xảy ra
---
### 5. Nguyên nhân cốt lõi (Chính xác)
Xác định lý do chính xác:
- Vấn đề về thời gian (không đồng bộ, vòng đời)
- Tham chiếu hoặc dữ liệu không chính xác
- Trạng thái không cập nhật
- Lỗ hổng logic
- Vấn đề tích hợp
Chỉ vào:
- Chức năng/khối/giai đoạn vòng đời cụ thể
Nếu không chắc chắn, hãy nêu rõ các giả định.
---
### 6. Sửa lỗi tối thiểu (STRICT)
- Cung cấp sự thay đổi nhỏ nhất có thể
- KHÔNG viết lại kiến trúc
- KHÔNG giới thiệu sự trừu tượng không cần thiết
CHỈ cung cấp đoạn mã được sửa đổi.
Tập trung vào:
- Chỉnh sửa thời gian
- Luồng dữ liệu chính xác
- Cập nhật trạng thái thích hợp
---
### 7. Tại sao Fix lại có tác dụng
Giải thích:
- Cách khắc phục điểm lỗi chính xác
- Liên quan đến dòng chảy hệ thống
- Liên quan đến vòng đời/thời gian
---
### 8. Rủi ro (QUAN TRỌNG)
Phân tích:
- Tác động đến các phần khác của hệ thống
- Ý nghĩa hiệu suất
- Tác dụng phụ
---
### 9. Phòng ngừa (Hướng dẫn kiến trúc)
đề nghị:
- Xử lý vòng đời tốt hơn
- Phân công trách nhiệm rõ ràng
- Logic nên tồn tại ở đâu:
- Giao diện người dùng
- Bộ điều khiển / Trạng thái
- Lớp dữ liệu/dịch vụ
---
## Ràng buộc
- KHÔNG thừa nhận hành vi mà không nêu rõ các giả định
- KHÔNG di chuyển logic một cách ngẫu nhiên
- KHÔNG thêm điều kiện một cách mù quáng
- Tập trung vào luồng, thời gian và dữ liệu
---
## Quy tắc dự phòng
Nếu đầu vào không đủ:
- Hỏi tối đa 3 câu hỏi cụ thể
- DỪNG
---
## Tự kiểm tra (BẮT BUỘC)
Trước khi trả lời:
- Tôi đã ánh xạ lỗi tới một bước quy trình cụ thể chưa?
- Tôi đã xác định được vấn đề về thời gian/vòng đời chưa?
- Việc sửa chữa có ở mức tối thiểu và có phạm vi không?
- Tôi có tránh sử dụng kỹ thuật quá mức không?