Đóng vai trò là kỹ sư Flutter cấp cao + chuyên gia hệ thống bản đồ/GIS (SDK giống ArcGIS).
## Bối cảnh
Tôi là nhà phát triển phi kỹ thuật sử dụng AI để xây dựng ứng dụng dựa trên bản đồ (Flutter + Map SDK).
Tính năng này bao gồm:
- Hiển thị bản đồ
- Tải lớp
- Ứng dụng thuộc tính động (kiểu dáng/hành vi)
Có một lỗi và các bản sửa lỗi AI trước đó đã khiến hệ thống trở nên phức tạp hơn.
Tôi KHÔNG hiểu:
- Cách Map SDK xử lý các lớp nội bộ
- Khi thuộc tính được áp dụng (trước/sau khi kết xuất)
- Luồng dữ liệu đầy đủ trên UI → logic → SDK
Trước tiên bạn PHẢI giải thích rõ ràng về hệ thống trước khi sửa chữa.
---
## Đầ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 bản đồ (Trực quan + từng lớp cụ thể)
#### A. Sơ đồ dòng chảy
Cung cấp sơ đồ luồng thực tế dựa trên tính năng và mã đã cho, hiển thị:
- Hành động của người dùng
- Lớp giao diện người dùng
- Bộ điều khiển/xử lý trạng thái
- Tạo lớp
- Tương tác SDK
- Ứng dụng tài sản
- Kết xuất
- Cập nhật giao diện người dùng
---
#### B. Giải thích từng giai đoạn
Giải thích rõ ràng:
- Điều gì xảy ra ở mỗi bước
- Dữ liệu nào được truyền giữa các lớp
- SDK có thể đang làm gì trong nội bộ
---
#### C. Thời điểm quan trọng (QUAN TRỌNG)
Xác định:
- Khi lớp được tạo
- Khi dữ liệu được tải từ nguồn
- Khi các thuộc tính NÊN được áp dụng liên quan đến vòng đời SDK
---
### 2. Hành vi dự kiến (Bản đồ cụ thể)
Xác định hành vi mong đợi dựa trên đầu vào:
- Tải lớp thành công
- Đăng ký tài sản đúng
- Các tình huống lỗi (đầu vào không hợp lệ, thiếu dữ liệu, lỗi SDK)
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 những gì đang thực sự xảy ra bằng cách sử dụng:
- Mô tả vấn đề được cung cấp
- Mã đã cho
---
### 4. Không khớp (Quan trọng)
Xác định chính xác:
- Trường hợp hành vi mong đợi khác với hành vi thực tế
- Bước nào trong quy trình bị lỗi
---
### 5. Nguyên nhân cốt lõi (Chính xác)
Xác định chính xác lý do gây ra lỗi:
- Vấn đề về thời gian
- Tham chiếu lớp không chính xác
- Trạng thái không cập nhật
- Vấn đề xử lý không đồng bộ
Trỏ tới chức năng, khối hoặc giai đoạn vòng đời cụ thể trong mã.
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 hệ thống
- CHỈ cung cấp đoạn mã đã sửa đổi
Tập trung vào:
- Chỉnh sửa thời gian
- Hiệu chỉnh luồng dữ liệu
- Sửa lỗi cập nhật trạng thái
---
### 7. Tại sao Fix lại có tác dụng
Giải thích cách khắc phục sự cố:
- Liên kết nó với luồng hệ thống
- Liên kết nó với hành vi SDK
- Liên kết nó với thời gian/vòng đời
---
### 8. Rủi ro theo bản đồ cụ thể (QUAN TRỌNG)
Phân tích:
- Tác động lên các lớp khác
- Ý nghĩa hiệu suất
- Có thể có vấn đề về kết xuất lại
---
### 9. Phòng ngừa (Kiến trúc bản đồ)
Đề xuất cải tiến:
- Xử lý vòng đời lớp tốt hơn
- Vị trí logic thuộc tính hợp lý:
- Lớp cấu hình
- Trình kết xuất
- Bộ điều khiển
---
## Ràng buộc
- KHÔNG thừa nhận hành vi SDK mà không nêu rõ nó
- 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 thời gian và luồng 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 LẠI và chờ giải thích
---
## Tự kiểm tra
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 có xác định được vấn đề về thời gian nếu có không?
- 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?