
Forward Implementation First làm gì trước tiên
Forward Implementation First là một kỹ năng dành cho tác nhân, được thiết kế để ngăn các tác nhân lập trình mắc kẹt trong việc ghi chép quy trình. Kỹ năng này duy trì sự tập trung vào việc xây dựng sản phẩm được yêu cầu, kiểm tra hành vi bị ảnh hưởng và tiếp tục tiến lên, thay vì liên tục sửa mã băm, biên nhận, khóa, bảng điều khiển hoặc dấu mốc tiến độ.
Dự án chủ yếu gồm một tệp Markdown dài khoảng 150 dòng với phần frontmatter YAML. Dự án tuân theo quy ước Agent Skills và không phụ thuộc vào mô hình, công cụ hay lĩnh vực cụ thể.
Kỹ năng này đặc biệt hữu ích trong các quy trình chạy dài, nơi một bộ điều phối ghi siêu dữ liệu cho các giai đoạn theo thứ tự. Khi siêu dữ liệu trở nên lỗi thời, tác nhân có thể nhầm sự không khớp đó là bằng chứng cho thấy các đầu ra trước đây vốn hợp lệ nay đã sai. Forward Implementation First cung cấp một quy tắc ra quyết định giúp phân biệt công việc đảm bảo tính đúng đắn thực sự với việc bảo trì hành chính.
Phân loại cốt lõi
Trước khi thực hiện một hành động, tác nhân phân loại hành động đó vào một trong ba nhóm.
- Triển khai ngữ nghĩa: Công việc xây dựng hoặc kết nối một bộ tạo, bộ tiêu thụ, bộ chuyển đổi, đường dẫn thời gian chạy, lược đồ, dữ liệu cố định hoặc đầu ra cuối cùng.
- Kiểm tra tập trung: Các bước kiểm tra xem xét vùng phụ thuộc bị thay đổi thông qua hành vi, lược đồ, số lượng, mẫu theo thứ tự, tính bảo toàn, tính nhất quán, không bị cắt ngắn và thời gian hoặc bộ nhớ được đo lường.
- Ghi chép hành chính: Công việc tạo hoặc sửa mã băm, khóa, biên nhận, bảng điều khiển, dấu chứng nhận, siêu dữ liệu tiến độ hoặc các bản ghi chỉ nhằm xác nhận sự hiện diện.
Quy tắc vận hành rất đơn giản: thực hiện triển khai ngữ nghĩa và kiểm tra tập trung. Bỏ qua việc ghi chép hành chính trừ khi người dùng yêu cầu rõ ràng hoặc thành phần đó là một phần của sản phẩm. Nếu một phụ thuộc chỉ phục vụ ghi chép làm cản trở công việc hiệu quả mà không bảo vệ tính đúng đắn, hãy loại bỏ phụ thuộc đó.
Vì sao việc ghi chép quy trình trở thành vấn đề
Hãy xem xét một quy trình trong đó giai đoạn 40 tạo ra một tệp cho giai đoạn 41. Bộ điều phối cũng ghi một bản ghi JSON chứa dấu mốc hoàn tất và mã băm đầu vào. Nếu bộ tạo thay đổi, mã băm có thể không còn khớp ngay cả khi đầu ra hiện có của giai đoạn vẫn đúng.
Nếu không có chính sách rõ ràng, tác nhân có thể vô hiệu hóa nhiều giai đoạn trước đó, từ chối chạy thủ công giai đoạn 41, tạo lại các dấu mốc không liên quan và báo cáo siêu dữ liệu đã sửa như một tiến triển. Mỗi lựa chọn cục bộ có vẻ thận trọng, nhưng kết quả tổng thể tiêu tốn thời gian mà không cải thiện đầu ra được yêu cầu.
Siêu dữ liệu hành chính không thể thay thế bằng chứng cho thấy một đầu ra là đúng.
Kỹ năng này ngăn lỗi đó bằng cách yêu cầu tác nhân kiểm tra các hệ quả thay vì coi sự tồn tại hoặc tính mới của siêu dữ liệu là bằng chứng.
Những điều kỹ năng này không nới lỏng
Forward Implementation First không phải là lời nhắc bỏ qua tính đúng đắn. Kỹ năng này phân biệt các bản ghi điều phối có thể loại bỏ với những cơ chế toàn vẹn và bằng chứng thực sự bảo vệ sản phẩm.
- Tính toàn vẹn của sản phẩm vẫn là bắt buộc. Mã kiểm tra được người dùng xác minh, chữ ký bắt buộc và mã băm được định nghĩa trong hợp đồng đầu ra là các tính năng của sản phẩm, không phải thủ tục giấy tờ.
- Danh tính đầu vào và phiên bản vẫn là bắt buộc. Tác nhân phải biết mình đang sửa đổi phiên bản hoặc mục tiêu nào.
- Các bài kiểm tra hướng đến kết quả vẫn là bắt buộc. Điểm chuẩn, bản tái hiện, bài kiểm tra và các lần chạy đầu cuối vẫn cung cấp bằng chứng thiết yếu.
- Mức độ bao phủ không đồng nghĩa với hệ quả. Việc thực thi một đường dẫn không chứng minh rằng đường dẫn đó tạo ra câu trả lời đúng.
Một bản ghi thực thi chứa lệnh, đầu vào, kết quả và kỳ vọng đã kiểm tra có thể là bằng chứng thực tế. Nếu bản ghi đó không tồn tại, tác nhân không thể đưa ra tuyên bố mà bản ghi ấy có thể hỗ trợ. Tuy nhiên, sự vắng mặt của nó không tự động làm vô hiệu các giai đoạn không liên quan ở trước đó trong quy trình.
Cài đặt
Cài đặt vào các thư mục Agent Skill được phát hiện
Sao chép kho lưu trữ và chạy tập lệnh cài đặt đi kèm:
git clone https://github.com/Vuk97/forward-implementation-first
cd forward-implementation-first
./install.sh
Tập lệnh sao chép SKILL.md vào mọi thư mục Agent Skill được hỗ trợ mà nó phát hiện. Các đích được ghi nhận gồm:
- Claude Code:
~/.claude/skills/forward-implementation-first/ - Codex:
~/.codex/skills/forward-implementation-first/ - Quy ước dùng chung:
~/.agents/skills/forward-implementation-first/
Cài đặt cho một dự án
Để áp dụng trong phạm vi dự án, hãy sao chép thư mục kỹ năng vào .claude/skills/ hoặc .agents/skills/ bên trong kho lưu trữ. Cách này gắn chính sách với dự án đó thay vì cài đặt cho mọi không gian làm việc.
Khởi động lại tác nhân sau khi cài đặt. Các phiên hiện có không tự động tải lại kỹ năng.
Kỹ năng chỉ là một đề xuất và mô hình quyết định có tải kỹ năng đó hay không. Nếu tác nhân của bạn hỗ trợ các quy tắc luôn bật hoặc hook, hãy đặt quy tắc ra quyết định cốt lõi ở đó nữa.
Cách sử dụng cơ bản
Bước 1: Xác định hành động tiếp theo có liên quan đến sản phẩm
Bắt đầu từ con trỏ quy trình hiện tại hoặc phụ thuộc chưa hoàn tất tiếp theo. Hãy hỏi xem hành động được đề xuất có thay đổi phần triển khai, kiểm tra một hệ quả đã thay đổi hay chỉ sửa siêu dữ liệu điều phối.
Hành động được đề xuất: Kết nối giai đoạn 41 với đầu ra do giai đoạn 40 tạo ra.
Phân loại: Triển khai ngữ nghĩa.
Quyết định: Thực hiện hành động.
Bước 2: Kiểm tra vùng phụ thuộc đã thay đổi
Sau khi triển khai, hãy kiểm thử vùng nhỏ nhất có thể bị ảnh hưởng. Các kiểm tra phù hợp có thể bao gồm lược đồ, số hàng hoặc mục, các mẫu theo đúng thứ tự, các thuộc tính bảo toàn, tính nhất quán, phát hiện cắt ngắn, hành vi đầu-cuối và mức sử dụng tài nguyên được đo lường.
Hành động đề xuất: Xác minh lược đồ của giai đoạn 41, số lượng đầu ra, các mẫu theo đúng thứ tự,
và tình trạng không bị cắt ngắn sau khi thay đổi thành phần tạo ra giai đoạn này.
Phân loại: Xác thực có trọng tâm.
Quyết định: Thực hiện các kiểm tra và ghi lại bằng chứng.
Bước 3: Không Mặc Định Xem Công Việc Ghi Chép Hành Chính Là Mục Tiêu
Nếu hành động duy nhất được đề xuất là tạo lại biên nhận cũ hoặc dấu hoàn tất, hãy bỏ qua, trừ khi người dùng yêu cầu tạo tác đó hoặc bản thân nó là một phần của sản phẩm bàn giao.
Hành động đề xuất: Tạo lại biên nhận hoàn tất cho các giai đoạn không thay đổi từ 12 đến 40.
Phân loại: Ghi chép hành chính.
Quyết định: Bỏ qua trừ khi được yêu cầu rõ ràng hoặc sản phẩm yêu cầu.
Bước 4: Loại Bỏ Các Cổng Chỉ Phục Vụ Hành Chính
Nếu một dấu cũ ngăn không cho giai đoạn hợp lệ tiếp theo chạy nhưng không bảo vệ tính đúng đắn, hãy chạy giai đoạn đó thủ công, xác thực đầu ra, phát hành đầu ra và tiếp tục từ con trỏ. Sau đó, loại bỏ phần phụ thuộc chỉ phục vụ hành chính để cùng một trở ngại không lặp lại.
Áp Dụng Quy Tắc Con Trỏ Tiến
Một giai đoạn đã hoàn tất chỉ nên được chạy lại hoặc khôi phục khi có lý do thực chất. Kỹ năng này công nhận các lý do sau:
- Ý nghĩa của đầu vào giai đoạn đã thay đổi.
- Bản sửa đổi đích hoặc bản sửa đổi được ghim đã thay đổi.
- Đầu ra bị sai định dạng, cắt ngắn, không bảo toàn, không nhất quán hoặc không tương thích với thành phần sử dụng nó.
- Một lần chạy thực tế bác bỏ kết quả tĩnh trước đó.
- Nón phụ thuộc được khai báo của thành phần tạo đã thay đổi bao gồm giai đoạn này.
Chỉ riêng siêu dữ liệu bị thiếu hoặc cũ là chưa đủ. Hãy chạy lại nón phụ thuộc nhỏ nhất bị ảnh hưởng thay vì khởi động lại toàn bộ lịch sử.
Ví Dụ Về Quyết Định Khôi Phục
Quan sát: Mã băm biên nhận của giai đoạn 40 đã cũ.
Kiểm tra đầu ra: Tạo tác của giai đoạn 40 đúng định dạng và tương thích với giai đoạn 41.
Kiểm tra phụ thuộc: Thành phần tạo đã thay đổi không ảnh hưởng đến ngữ nghĩa của giai đoạn 40.
Hành động: Không chạy lại giai đoạn 40. Tiếp tục đến giai đoạn 41 và xác thực kết quả.
Nếu việc xác thực phát hiện đầu ra sai định dạng hoặc không tương thích, việc chạy lại là chính đáng vì lý do mang tính ngữ nghĩa chứ không phải hành chính.
Sử Dụng Nhóm Worker Mà Không Tạo Ra Các Nguồn Sự Thật Cạnh Tranh
Kỹ năng này cũng xác định một cách tiếp cận có kỷ luật đối với công việc song song.
- Chỉ chạy một tiến trình nặng tại một thời điểm, chẳng hạn như trình biên dịch, toàn bộ bộ kiểm thử, tác vụ dữ liệu lớn, phép đo hiệu năng hoặc quá trình quét kéo dài.
- Sử dụng các làn song song cho công việc nhẹ trên những tệp không chồng lấn.
- Khi một nhóm gồm
Nworker được cấp quyền, hãy bổ sung làn ngay khi chúng hoàn tất thay vì chờ cả một đợt hoàn thành. - Không tạo ra các tác vụ giá trị thấp chỉ để giữ mọi worker luôn bận.
- Giữ việc thực thi nặng, phát hành, di chuyển con trỏ và các kết luận cuối cùng trong làn gốc.
- Cho phép các worker song song chuẩn bị và kiểm tra, nhưng phải xác minh đầu ra của chúng trước khi sử dụng.
- Không chặn tiến độ chờ mọi làn hoàn tất. Hãy tiếp nhận kết quả của một làn khi đến phần phụ thuộc vào nó.
Cấu trúc này cho phép tận dụng tính đồng thời mà không để nhiều worker trở thành các nguồn sự thật cạnh tranh.
Mẹo Nâng Cao
Đưa Quy Tắc Quyết Định Vào Cấu Hình Luôn Được Bật
Vì mô hình có thể chọn không tải một kỹ năng, các môi trường có quy tắc hoặc hook cố định nên lặp lại chính sách cốt lõi ở đó: phân loại từng hành động, thực hiện việc triển khai và xác thực có trọng tâm, đồng thời tránh công việc hành chính trừ khi được yêu cầu hoặc liên quan đến sản phẩm.
Xác Định Rõ Tính Toàn Vẹn Của Sản Phẩm
Ghi lại những mã băm, chữ ký, tệp kê khai hoặc bản ghi kiểm toán nào thuộc hợp đồng đầu ra. Điều này ngăn agent loại bỏ nhầm các tính năng thực sự, đồng thời vẫn cho phép bỏ qua các dấu điều phối có thể loại bỏ.
Khai Báo Các Nón Phụ Thuộc
Khi có thể, hãy làm rõ các mối quan hệ giữa thành phần tạo và thành phần sử dụng. Một nón phụ thuộc rõ ràng giúp agent chỉ chạy lại các giai đoạn bị ảnh hưởng và tránh làm mất hiệu lực trên diện rộng do không chắc chắn.
Ghi Lại Bằng Chứng, Không Chỉ Sự Hiện Diện
Ưu tiên các bản ghi xác định lệnh, đầu vào, kết quả và điều kiện mong đợi. Một dấu chỉ ghi nhận sự hiện diện cho biết có thứ gì đó đã chạy; bản ghi kèm bằng chứng giúp xác định liệu nó có hoạt động hay không.
Tách Việc Chuẩn Bị Khỏi Quyền Quyết Định
Sử dụng worker song song để kiểm tra tệp, chuẩn bị bản vá hoặc thu thập thông tin, nhưng dành quyền thực thi và các kết luận cho làn gốc. Xác minh đầu ra của worker trước khi hợp nhất hoặc phát hành.
Khi Nào Nên Sử Dụng Kỹ Năng
Forward Implementation First phù hợp với:
- Các pipeline có các giai đoạn theo thứ tự và một con trỏ được lưu trữ.
- Các tạo tác được tạo ra và được các giai đoạn sau sử dụng.
- Các quy trình có tệp kê khai, tệp khóa hoặc biên nhận do bộ điều phối tạo.
- Các lần chạy tiếp tục mà không có sự giám sát liên tục của con người.
- Các kho mã được nhiều agent hoặc phiên làm việc chỉnh sửa.
- Pipeline ETL, xử lý dữ liệu theo giai đoạn, các đợt di chuyển mã lớn, quy trình xây dựng và phát hành, tạo tài liệu, phân tích theo lô và lộ trình kéo dài nhiều ngày.
Hãy bỏ qua kỹ năng này đối với các tác vụ thực hiện một lần, các phiên tương tác ngắn hoặc những quy trình mà bản thân dấu vết kiểm toán là sản phẩm bàn giao. Nếu người dùng hoặc người đánh giá dự kiến sử dụng các biên nhận, những bản ghi đó là một phần của sản phẩm thay vì chi phí hành chính.
Kết Luận
Forward Implementation First mang đến cho các tác nhân lập trình một kỷ luật rõ ràng nhưng thiết thực: xây dựng sản phẩm, xác thực hành vi bị ảnh hưởng và không nhầm lẫn thủ tục giấy tờ của pipeline với tính đúng đắn. Quy tắc con trỏ tiến giúp hạn chế việc chạy lại không cần thiết, trong khi hướng dẫn về nhóm worker hỗ trợ khả năng song song hóa an toàn. Hãy cài đặt skill, khởi động lại tác nhân và củng cố quy tắc ra quyết định này thông qua cấu hình luôn bật khi có sẵn.
