Claude Certification Guide
0% chương trình học đã hoàn thành
3.5

Kỹ thuật tinh chỉnh lặp lại

Những điều bạn cần biết

Làm việc với Claude Code mang tính lặp lại. Output đầu tiên hiếm khi là sản phẩm cuối cùng. Đề thi kiểm tra kiến thức của bạn về các kỹ thuật cụ thể để dẫn dắt Claude Code đến kết quả đúng — và quan trọng hơn, kỹ thuật nào nên dùng trước trong từng tình huống.

Thứ bậc kỹ thuật

Không phải mọi kỹ thuật tinh chỉnh đều ngang nhau. Có một thứ bậc hiệu quả rõ ràng:

1. Ví dụ input/output cụ thể (hiệu quả nhất cho việc diễn giải không nhất quán)

Khi bạn mô tả một phép biến đổi code bằng văn xuôi và Claude Code diễn giải nó khác nhau mỗi lần, cách sửa không phải là thêm văn xuôi. Cách sửa là dùng các ví dụ cụ thể.

Cung cấp 2-3 ví dụ cho thấy chính xác input và chính xác output mong đợi:

textCopy

Input:
  getUserData(userId: string): Promise<UserData>
 
Expected output:
  getUserData(userId: string): Promise<Result<UserData, ApiError>>

textCopy

Input:
  fetchOrders(customerId: string): Promise<Order[]>
 
Expected output:
  fetchOrders(customerId: string): Promise<Result<Order[], ApiError>>

Model tổng quát hóa từ các ví dụ này đáng tin cậy hơn nhiều so với bất kỳ mô tả văn xuôi nào. Hai hoặc ba ví dụ cụ thể thiết lập nên mẫu hình; model áp dụng nó cho các trường hợp mới. Đây là kỹ thuật đầu tiên nên dùng khi việc diễn giải không nhất quán.

2. Lặp lại theo hướng test (hiệu quả nhất cho các phép biến đổi phức tạp)

Viết test trước. Định nghĩa hành vi mong đợi thông qua các test case bao gồm:

  • Happy path (phép biến đổi tiêu chuẩn mong đợi)
  • Trường hợp biên (giá trị null, input rỗng, điều kiện biên)
  • Yêu cầu về hiệu năng (nếu có)

Sau đó chia sẻ các test thất bại với Claude Code. Các thất bại này cung cấp phản hồi cụ thể, không mơ hồ về những gì cần sửa. Không có chỗ cho việc diễn giải khi output test nói "Kỳ vọng X, nhận được Y."

textCopy

FAIL: testMigrationHandlesNullValues
  Expected: null preserved in output JSON
  Actual: null replaced with empty string ""

Thông báo thất bại này cho Claude Code biết chính xác cần sửa gì. Không cần giải thích bằng văn xuôi.

3. Mẫu hình phỏng vấn (hiệu quả nhất cho các lĩnh vực chưa quen thuộc)

Khi làm việc trong một lĩnh vực mà bạn thiếu chuyên môn, hãy để Claude đặt câu hỏi trước khi triển khai. Điều này giúp phát hiện những cân nhắc mà bạn có thể bỏ sót.

Thay vì áp đặt sẵn một giải pháp:

"Build me a caching layer for the API"

Hãy dùng mẫu hình phỏng vấn:

"I need a caching layer for the API. Before implementing, ask me questions about the requirements, edge cases, and constraints I should consider."

Claude có thể hỏi về chiến lược invalidation cache, chính sách TTL, yêu cầu tính nhất quán, và các chế độ lỗi — những cân nhắc mà một chuyên gia sẽ biết cần giải quyết nhưng bạn có thể bỏ qua.

Khái niệm chính

Mẫu hình phỏng vấn dành cho các lĩnh vực chưa quen thuộc, nơi developer có thể bỏ sót những cân nhắc quan trọng. Ví dụ cụ thể dành cho khi developer biết chính xác phép biến đổi cần thực hiện nhưng model diễn giải nó không nhất quán. Đừng nhầm lẫn hai kỹ thuật này — chúng giải quyết những vấn đề khác nhau.

Phản hồi theo lô so với tuần tự

Cách bạn đưa ra phản hồi rất quan trọng. Quy tắc:

Một tin nhắn duy nhất (theo lô) khi các sửa lỗi tương tác với nhau:

Nếu thay đổi mẫu xử lý lỗi cũng ảnh hưởng đến định dạng log và cấu trúc response, hãy cung cấp cả ba phần phản hồi trong một tin nhắn. Model cần thấy tất cả các ràng buộc tương tác cùng lúc để tạo ra một bản sửa mạch lạc.

textCopy

Three changes needed (they interact with each other):
1. Error responses must include an error code field
2. Logging must include the error code in structured format
3. The client SDK type definitions must reflect the new error code field

Lặp lại tuần tự khi các vấn đề độc lập với nhau:

Nếu vấn đề về quy ước đặt tên và vấn đề về thụt lề không ảnh hưởng lẫn nhau, hãy sửa từng cái một. Gộp chung các vấn đề độc lập có thể khiến model nhầm lẫn về phản hồi nào áp dụng cho phần nào của code.

textCopy

First iteration: "Fix the function naming — use camelCase throughout"
[Wait for result]
Second iteration: "Now update the indentation to use 2 spaces"

Giao tiếp dựa trên ví dụ trong thực tế

Khi các mô tả văn xuôi tạo ra kết quả không nhất quán, việc chuyển sang ví dụ theo một mẫu hình rõ ràng:

  1. Quan sát sự không nhất quán: Bạn mô tả một phép biến đổi, Claude Code thực hiện khác nhau mỗi lần.
  2. Chuyển sang ví dụ: Cung cấp 2-3 cặp before/after cụ thể cho thấy chính xác phép biến đổi.
  3. Xác minh khả năng tổng quát hóa: Test trên một trường hợp mới để xác nhận model tổng quát hóa mẫu hình đúng cách.
  4. Thêm ví dụ trường hợp biên nếu cần: Nếu model xử lý đúng trường hợp tiêu chuẩn nhưng bỏ sót trường hợp biên, hãy thêm các ví dụ cho thấy cụ thể cách xử lý trường hợp biên.

Đây không phải là việc cung cấp thêm nhiều ví dụ hơn. Hai hoặc ba ví dụ được chọn lọc kỹ, bao phủ trường hợp tiêu chuẩn và một trường hợp biên then chốt, là đủ. Model tổng quát hóa mẫu hình; bạn không cần cung cấp mọi trường hợp có thể xảy ra.

Khi nào dùng kỹ thuật nào

Tình huốngKỹ thuật
Mô tả văn xuôi được diễn giải khác nhau mỗi lầnVí dụ input/output cụ thể
Phép biến đổi phức tạp với nhiều trường hợp biênLặp lại theo hướng test
Làm việc trong một lĩnh vực chưa quen thuộcMẫu hình phỏng vấn
Nhiều vấn đề ảnh hưởng lẫn nhauPhản hồi theo lô (một tin nhắn)
Nhiều vấn đề độc lậpPhản hồi tuần tự

Bẫy thi

Bẫy thi: Chọn tinh chỉnh mô tả văn xuôi khi model diễn giải chúng không nhất quán

Văn xuôi chính xác hơn vẫn dựa vào việc diễn giải. Ví dụ input/output cụ thể loại bỏ sự mơ hồ trong diễn giải. Câu trả lời cho việc diễn giải không nhất quán luôn là ví dụ trước tiên, không phải văn xuôi tốt hơn.

Bẫy thi: Không nhận ra khi nào nên gộp lô so với lặp tuần tự phản hồi

Nếu các vấn đề tương tác với nhau (sửa A ảnh hưởng đến B), hãy cung cấp tất cả trong một tin nhắn để model thấy toàn bộ ràng buộc. Nếu các vấn đề độc lập, hãy sửa tuần tự. Đề thi kiểm tra trực tiếp sự phân biệt này.

Bẫy thi: Nhầm lẫn mẫu hình phỏng vấn với kỹ thuật ví dụ

Mẫu hình phỏng vấn dành cho các lĩnh vực chưa quen thuộc, nơi bạn có thể bỏ sót các cân nhắc. Ví dụ dành cho khi bạn biết chính xác phép biến đổi nhưng model diễn giải sai. Vấn đề khác nhau, giải pháp khác nhau.

Tình huống luyện tập

Không tìm thấy câu hỏi luyện tập "q-3-5-001".

Bài tập thực hành

Luyện tập các kỹ thuật tinh chỉnh lặp lại

Bạn sẽ học được gì

  • Áp dụng thứ bậc kỹ thuật: ví dụ cụ thể ưu tiên hơn văn xuôi khi diễn giải không nhất quán
  • Dùng lặp lại theo hướng test để cung cấp phản hồi không mơ hồ thông qua các test thất bại
  • Triển khai mẫu hình phỏng vấn cho các lĩnh vực chưa quen thuộc để phát hiện yêu cầu ẩn
  • Phân biệt khi nào nên gộp lô phản hồi so với lặp tuần tự dựa trên mức độ phụ thuộc của vấn đề
  • Nhận ra rằng 2-3 ví dụ được chọn lọc kỹ là đủ để model tổng quát hóa mẫu hình

Các bước

Vì sao: Điều này minh họa vấn đề cốt lõi mà ví dụ cụ thể giải quyết. Mô tả văn xuôi phụ thuộc vào việc diễn giải, và việc diễn giải thay đổi qua các lần chạy. Quan sát sự không nhất quán này trực tiếp củng cố lý do chuyển sang dùng ví dụ.

Bạn sẽ thấy: Ba output khác nhau từ cùng một mô tả văn xuôi. Các khác biệt có thể tinh tế (lựa chọn đặt tên khác nhau, cách xử lý trường hợp biên khác nhau) hoặc đáng kể (cách tiếp cận cấu trúc khác nhau). Điều này chứng minh rằng chỉ dùng văn xuôi sẽ tạo ra kết quả không nhất quán.

Vì sao: Ví dụ cụ thể là kỹ thuật đầu tiên đã được ghi nhận cho việc diễn giải không nhất quán. Model tổng quát hóa từ ví dụ đáng tin cậy hơn từ văn xuôi. Bước này chứng minh thực nghiệm sự khác biệt về hiệu quả.

Bạn sẽ thấy: Ba output nhất quán với nhau và khớp với mẫu hình được thiết lập bởi các ví dụ. Sự biến thiên quan sát được ở bước chỉ dùng văn xuôi được loại bỏ hoặc giảm mạnh.

Vì sao: Lặp lại theo hướng test là kỹ thuật hiệu quả nhất cho các phép biến đổi phức tạp. Các test thất bại cung cấp phản hồi không mơ hồ — "Kỳ vọng X, nhận được Y" không để lại chỗ cho việc diễn giải. Kỹ thuật này bổ trợ cho ví dụ trong các tình huống phức tạp hơn.

Bạn sẽ thấy: Sau khi chia sẻ các test thất bại, Claude Code thực hiện các bản sửa có mục tiêu, giải quyết đúng các assertion đang thất bại. Mỗi lần lặp giảm số lượng test thất bại. Vòng lặp phản hồi nhanh và chính xác hơn so với việc sửa dựa trên văn xuôi.

Vì sao: Mẫu hình phỏng vấn dành cho các lĩnh vực chưa quen thuộc, nơi bạn có thể bỏ sót các yêu cầu quan trọng. Nó giúp phát hiện những cân nhắc mà một chuyên gia sẽ biết cần giải quyết. Đề thi kiểm tra xem bạn có phân biệt được điều này với kỹ thuật ví dụ hay không — chúng giải quyết những vấn đề khác nhau.

Bạn sẽ thấy: Claude đặt 5-10 câu hỏi có mục tiêu về yêu cầu, trường hợp biên, và ràng buộc mà bạn chưa cân nhắc. Các câu hỏi tiết lộ những cân nhắc như chiến lược invalidation cache, yêu cầu tính nhất quán, chế độ lỗi, hoặc các hệ quả bảo mật mà lẽ ra đã bị bỏ sót.

Vì sao: Khi các vấn đề tương tác với nhau, gộp chúng trong một tin nhắn cho phép model thấy toàn bộ ràng buộc cùng lúc. Sửa tuần tự các vấn đề phụ thuộc lẫn nhau khiến model sửa một vấn đề theo cách xung đột với các vấn đề khác. Đề thi kiểm tra sự phân biệt này.

Bạn sẽ thấy: Một bản sửa mạch lạc duy nhất giải quyết nhất quán cả ba vấn đề phụ thuộc lẫn nhau. Hình dạng response lỗi, định dạng log, và các định nghĩa kiểu đều khớp với nhau. So sánh điều này với việc sửa tuần tự, nơi mỗi bản sửa có thể xung đột với bản tiếp theo.

Nguồn tham khảo