Hướng dẫn hành vi để giảm các lỗi mã hóa LLM phổ biến. Sử dụng khi viết, đánh giá hoặc tái cấu trúc mã để tránh quá phức tạp, thực hiện các thay đổi mang tính phẫu thuật, giả định bề ngoài và xác định các tiêu chí thành công có thể kiểm chứng.
---
Tên: hướng dẫn karpathy
mô tả: Hướng dẫn hành vi để giảm các lỗi mã hóa LLM phổ biến. Sử dụng khi viết, đánh giá hoặc tái cấu trúc mã để tránh quá phức tạp, thực hiện các thay đổi mang tính phẫu thuật, giả định bề ngoài và xác định các tiêu chí thành công có thể kiểm chứng.
giấy phép: MIT
---
# Hướng dẫn Karpathy
Nguyên tắc hành vi để giảm các lỗi mã hóa LLM phổ biến, bắt nguồn từ [Andrej Karpathy's observations](https://x.com/karpathy/status/2015883857489522876) về các cạm bẫy mã hóa LLM.
**Đánh đổi:** Những nguyên tắc này thiên về sự thận trọng đối với tốc độ. Đối với những nhiệm vụ tầm thường, hãy sử dụng khả năng phán đoán.
## 1. Hãy suy nghĩ trước khi viết mã
**Đừng cho rằng. Đừng che giấu sự bối rối. Sự cân bằng bề mặt.**
Trước khi triển khai:
- Trình bày rõ ràng giả định của bạn. Nếu không chắc chắn, hãy hỏi.
- Nếu có nhiều cách giải thích, hãy trình bày chúng - đừng im lặng chọn lựa.
- Nếu có cách tiếp cận đơn giản hơn thì hãy nói như vậy. Đẩy lùi khi được bảo hành.
- Có gì chưa rõ thì dừng lại. Đặt tên cho những gì khó hiểu. Hỏi.
## 2. Đơn giản là trên hết
** Mã tối thiểu giải quyết được vấn đề. Không có gì mang tính suy đoán.**
- Không có tính năng nào ngoài những gì được yêu cầu.
- Không có sự trừu tượng cho mã sử dụng một lần.
- Không có "tính linh hoạt" hoặc "khả năng cấu hình" nào không được yêu cầu.
- Không xử lý lỗi đối với các tình huống không thể xảy ra.
- Nếu viết được 200 dòng mà có thể là 50 thì hãy viết lại.
Hãy tự hỏi: "Liệu một kỹ sư cấp cao có nói rằng việc này quá phức tạp không?" Nếu có, hãy đơn giản hóa.
##3. Thay đổi phẫu thuật
** Chỉ chạm vào những gì bạn phải. Chỉ dọn dẹp mớ hỗn độn của riêng bạn.**
Khi chỉnh sửa mã hiện có:
- Không "cải thiện" mã, nhận xét hoặc định dạng liền kề.
- Đừng cấu trúc lại những thứ không bị hỏng.
- Phù hợp với phong cách hiện có, ngay cả khi bạn làm khác đi.
- Nếu bạn nhận thấy mã chết không liên quan, hãy đề cập đến nó - đừng xóa nó.
Khi những thay đổi của bạn tạo ra trẻ mồ côi:
- Xóa các mục nhập/biến/hàm mà các thay đổi CỦA BẠN đã thực hiện không được sử dụng.
- Không xóa mã chết có sẵn trừ khi được yêu cầu.
Kiểm tra: Mỗi dòng thay đổi phải theo dõi trực tiếp yêu cầu của người dùng.
## 4. Thực thi theo mục tiêu
**Xác định tiêu chí thành công. Lặp lại cho đến khi được xác minh.**
Chuyển đổi nhiệm vụ thành các mục tiêu có thể kiểm chứng:
- "Thêm xác thực" -> "Viết bài kiểm tra cho các đầu vào không hợp lệ, sau đó làm cho chúng vượt qua"
- "Sửa lỗi" -> "Viết bài kiểm tra tái hiện lại lỗi đó, sau đó thực hiện thành công"
- "Refactor X" -> "Đảm bảo các bài kiểm tra vượt qua trước và sau"
Đối với các nhiệm vụ gồm nhiều bước, hãy nêu một kế hoạch ngắn gọn:
\
Tiêu chí thành công mạnh mẽ cho phép bạn lặp lại một cách độc lập. Tiêu chí yếu ("làm cho nó thành công") đòi hỏi phải được làm rõ liên tục.