Back home

Sau khi mô hình nguồn mở bị hạn chế, điều đầu tiên thất bại là phán đoán hồi quy.

Việc bạn có thể thay đổi quá khứ hay không chỉ là sự khởi đầu. Điều thực sự cần có thời gian là làm cho các kết quả mới có thể so sánh được một lần nữa.

Một khi các hạn chế bên ngoài rơi vào mô hình nguồn mở, điều đầu tiên bị phá vỡ thường không phải là “nó vẫn có thể tải xuống được chứ?” nhưng “kết quả lần này có thể được xem cùng với lần trước không?” Tên model vẫn còn đó và giao diện vẫn có thể được kết nối. Điều thực sự trở nên khó khăn là dòng phán đoán bắt đầu trôi đi: cùng một bộ từ nhắc nhở, cùng một loạt mẫu và cùng một quy trình làm việc, kết quả cuối cùng không còn là sự phân bổ hành vi giống nhau.

Điều này trông có vẻ đơn giản trên giấy tờ nhưng trong thực tế nó trở nên rất khó chịu. Định dạng đầu ra có thể vượt qua trước đây đột nhiên có thêm một chút giải thích, chuỗi lệnh gọi hàm ổn định trước đó bắt đầu thay đổi, có thêm một lớp lời nhắc chính sách ở một số khu vực hoặc cùng một yêu cầu có độ dài ngữ cảnh khác nhau dưới các lối vào khác nhau. Riêng mỗi điều đó không phải là một sự ngẫu nhiên, nhưng gộp lại sẽ gây nhầm lẫn cho việc phán đoán quay trở lại.

Điều bị hỏng đầu tiên là tầm cỡ so sánh.

Nhiều đội trước tiên sẽ tập trung vào điểm chuẩn, nhưng điểm số chỉ phù hợp để chỉ ra năng lực gần đúng chứ không thích hợp để giải thích “liệu hành vi hiện tại có còn được tuân theo quy trình cũ hay không”. Vị trí thực sự để truy cập trực tuyến không phải là mô hình chạy một mình mà là nó hoạt động cùng với trình phân tích cú pháp, gọi công cụ, thử lại, lưu vào bộ nhớ đệm, kiểm tra và định tuyến. Chỉ cần một trong các mắt xích thay đổi tầm cỡ, điểm số sẽ mất đi ý nghĩa tham chiếu.

Tình huống điển hình nhất là không thấy có vấn đề gì trong bộ đánh giá, nhưng chuỗi bắt đầu đứt đoạn trực tuyến. Các mẫu thử nghiệm đủ sạch và mô hình trả lời các câu hỏi rất tốt. Tuy nhiên, sau khi nhận được đầu vào thực, một lượng nhỏ độ lệch trường có thể làm sai lệch các bước tự động tiếp theo. Kết quả trông giống như “mô hình vẫn có thể sử dụng được”, nhưng thực tế nó có nghĩa là “phương pháp so sánh đã thất bại”.

Đường cơ sở nên được lưu theo quy trình làm việc

Để ngăn chặn những thay đổi như vậy, chúng tôi không dựa vào việc chạy nhiều vòng danh sách hơn mà dựa vào việc biến đường cơ sở thành một quy trình làm việc có thể lặp lại. Đầu vào phải có phiên bản, đầu ra phải có lược đồ, phản hồi của công cụ phải có thể phát được và các mẫu bị lỗi phải giữ nguyên bối cảnh ban đầu. Chỉ bằng cách này, sau khi chuyển sang mô hình khác, khu vực khác và chiến lược khác, chúng ta mới có thể biết được sự sai lệch nằm ở chính mô hình đó hay ở liên kết trước sau.

Loại đường cơ sở này sợ nhất chỉ lưu trữ điểm số và kết luận. Điểm số sẽ được dùng để an ủi mọi người, kết luận sẽ được dùng để viết báo cáo, nhưng lại thiếu những chi tiết thực sự hữu ích. Sau khi các hạn chế được thắt chặt sau đó, nhóm chỉ có thể bổ sung các mẫu, nạp lại cỡ nòng và nạp lại các ranh giới bất thường, điều này tương đương với việc phá bỏ công việc so sánh mà lẽ ra có thể hoàn thành trong một lần làm lại nhiều vòng.

Cái giá thực sự của việc di cư là để tái lập niềm tin

Sau khi mô hình bị hạn chế, hành động di chuyển trông giống như thay đổi thành một mục có sẵn, nhưng thực chất nó đang thiết lập lại niềm tin rằng “quá trình này tương đối ổn định”. Niềm tin không được xây dựng bởi một cuộc gọi thành công mà bởi một tập hợp các kết quả so sánh có thể được xác minh nhiều lần. Nếu không có bộ kết quả này, nó sẽ chỉ có thể chạy tạm thời nếu chúng ta thay đổi về quá khứ; với bộ kết quả này, nó sẽ nằm trong phạm vi có thể kiểm soát được nếu chúng ta thay đổi về quá khứ.

Đây là lý do tại sao một số đội đã hoàn thành việc thay thế trên bề mặt, nhưng trong nội bộ họ vẫn phải chờ rất lâu mới dám tăng công suất. Điều thực sự bế tắc không phải là hành động tiếp cận mà là không ai dám trả lời: liệu những ranh giới quan trọng nhất trong quy trình cũ có còn đúng trong mô hình mới hay không. Miễn là câu hỏi này không được trả lời rõ ràng thì bất kỳ tuyên bố nào cho biết “quá trình di chuyển đã hoàn tất” chỉ là một tuyên bố được dàn dựng.

Chỉ những phần phù hợp để thử nghiệm mới đáng để xây dựng lại

Không phải tất cả các kịch bản đều đáng làm cho chuỗi hồi quy trở nên nặng nề như vậy. Các cuộc hội thoại đặc biệt, tạo đơn giản và tóm tắt một lần có ranh giới lỏng lẻo và việc xây dựng quá mức là lãng phí thời gian. Nhưng ngay khi mô hình bắt đầu tham gia vào quá trình tạo mã, trích xuất thông tin, quyết định định tuyến và thực thi công cụ, phán đoán hồi quy không còn là một phụ kiện nữa mà là một phần của quy trình làm việc.

Những ràng buộc bên ngoài có thể phóng đại sự khác biệt này. Việc nó có thể tiếp tục được sử dụng hay không thường chỉ là lớp bề mặt nhất; điều thực sự quyết định liệu nhóm có thể ổn định hay không là liệu có phương pháp ổn định nào để đưa kết quả mới trở lại so với đường cơ sở cũ để so sánh hay không. Sau khi so sánh được thiết lập, việc di chuyển chỉ là một vấn đề kỹ thuật; một khi việc so sánh thất bại, mọi phán đoán tiếp theo sẽ bắt đầu dao động.