Phát Triển Hướng Sứ Mệnh
Sứ mệnh là nền tảng thứ tư của kiến trúc phần mềm.
Hầu hết phần mềm chỉ hỏi cách xây dựng một thứ gì đó. Mission Driven Development (MDD) đặt thêm một câu hỏi trước: tại sao chúng ta xây dựng nó, và lựa chọn này có phục vụ mục đích đó không? CIRIS được xây dựng theo cách này để đạo đức là một phần của thiết kế thay vì là quy tắc được gắn vào sau.
Mô Hình Bốn Thành Phần
Ba chân cấu trúc đỡ một mặt ngồi có mục đích.
Các phương pháp phần mềm thông thường dừng lại ở ba yếu tố: hệ thống chạy thế nào, nó biểu diễn gì, và ai nói chuyện với ai. MDD thêm nền tảng thứ tư mà ba yếu tố kia phải chịu trách nhiệm với. Không có mặt ngồi, các chân chỉ là những cái chân.
Chân 1: NHƯ THẾ NÀO
Logic
Mẫu triển khai, kiến trúc dịch vụ, thuật toán.
Chân 2: CÁI GÌ
Schema
Cấu trúc dữ liệu, hệ thống kiểu, quy tắc xác thực.
Chân 3: AI
Giao thức
Hợp đồng giao diện, mẫu giao tiếp, ranh giới dịch vụ.
Mặt ngồi: TẠI SAO
Sứ mệnh
Khung đạo đức khách quan xác định mục đích và các ràng buộc của hệ thống.
Nguyên tắc cốt lõi
Tính Nhất Quán liên tục.
Mọi quyết định kiến trúc phải thể hiện sự nhất quán với sứ mệnh đã tuyên bố. Logic được đặt câu hỏi: liệu điều này có phục vụ sứ mệnh không? Schema được kiểm chứng: các cấu trúc dữ liệu này có hỗ trợ mục tiêu sứ mệnh không? Giao thức được đánh giá: các giao diện này có cho phép hoàn thành sứ mệnh không?
Yêu cầu khung sứ mệnh
Sứ mệnh cần là gì để có thể gánh được trọng lượng.
1. Nền tảng đạo đức khách quan
- Nguyên tắc đo lường được, không phải giá trị mang tính khát vọng
- Thuật toán rõ ràng để giải quyết các đánh đổi
- Đa nguyên trong các bối cảnh văn hóa khác nhau
- Lập luận đạo đức có thể kiểm tra được
2. Định nghĩa meta-goal
- Cung cấp hướng dẫn quyết định trong điều kiện không chắc chắn
- Tự động lọc các đề xuất mâu thuẫn
- Tạo ra hành vi nhất quán giữa các thành phần
- Ổn định khi có thay đổi triển khai
3. Tích hợp vận hành
- Mỗi dịch vụ phải lý giải được sự tồn tại của mình
- Schema phản ánh các dạng thông tin của sứ mệnh
- Giao thức cho phép hành vi nhất quán với sứ mệnh
- Kiểm thử xác minh sự nhất quán với sứ mệnh, không chỉ chức năng
Mẫu triển khai
Mỗi chân có một câu hỏi cần trả lời.
Kiến trúc dịch vụ
định nghĩa sứ mệnh → trách nhiệm dịch vụ → hợp đồng giao diện → triển khai
- Nhất quán với sứ mệnh: dịch vụ này thúc đẩy meta-goal như thế nào?
- Lý do phân tách: tại sao trách nhiệm này cần một dịch vụ riêng?
- Sự cần thiết của giao diện: giao thức này cho phép các tương tác nào quan trọng với sứ mệnh?
Thiết kế schema
yêu cầu sứ mệnh → mô hình thông tin → hệ thống kiểu → quy tắc xác thực
- Liên quan đến sứ mệnh: schema này nắm bắt thông tin nào quan trọng với sứ mệnh?
- Ràng buộc hành vi: các kiểu này thực thi hành vi nhất quán với sứ mệnh như thế nào?
- Đường phát triển: schema này có thể thích nghi như thế nào trong khi vẫn giữ được sự nhất quán với sứ mệnh?
Đặc tả giao thức
tương tác sứ mệnh → yêu cầu giao tiếp → định nghĩa hợp đồng → triển khai
- Bối cảnh sứ mệnh: giao thức này cho phép giao tiếp nào quan trọng với sứ mệnh?
- Thực thi ràng buộc: giao diện này ngăn chặn các hành vi vi phạm sứ mệnh như thế nào?
- Khả năng kết hợp: các hợp đồng này kết hợp thành các hệ thống nhất quán với sứ mệnh như thế nào?
Tích hợp phát triển bền vững
Sự nhất quán sứ mệnh lâu dài đòi hỏi tốc độ có thể duy trì được.
Biện pháp chống Goodhart
- Kiểm tra định kỳ sự nhất quán giữa triển khai và sứ mệnh
- Đo lường mức độ hoàn thành sứ mệnh, không phải các chỉ số dễ gian lận
- Từ chối các bổ sung không củng cố sứ mệnh
Làm việc theo nhịp
- Các phiên làm việc phù hợp với nhịp năng suất
- Các điểm lựa chọn tích hợp sẵn để tái định hướng
- Tốc độ bền vững là yêu cầu hàng đầu
Xác nhận liên tục
- Đặt câu hỏi thường xuyên về sự cần thiết của từng thành phần
- Kiểm tra liên tục rằng hành vi khớp với sứ mệnh
- Phát hiện tự động các thay đổi vi phạm sứ mệnh
Cổng kiểm soát chất lượng
Các cổng không mở nếu thiếu lý do sứ mệnh.
Xem xét code
- Yêu cầu giải thích sự nhất quán với sứ mệnh
- Xác minh ràng buộc
- Tích hợp phải tăng cường tính Nhất Quán tổng thể
Kiểm thử
- Tính đúng đắn về chức năng
- Xác minh sự nhất quán với sứ mệnh
- Kiểm thử từ chối vi phạm ranh giới đạo đức
- Khả năng chịu đựng ràng buộc dưới áp lực
Tài liệu
- Bối cảnh sứ mệnh cho từng thành phần
- Lý do cho các đánh đổi đạo đức
- Cách ràng buộc định hình triển khai
Các chế độ thất bại
MDD hỏng như thế nào, và cách giữ nó không hỏng.
Lệch khỏi sứ mệnh
Triệu chứng: các tính năng tích lũy mà không phục vụ sứ mệnh cốt lõi. Biện pháp: đánh giá kiến trúc định kỳ với sự nhất quán sứ mệnh là tiêu chí.
Bùng nổ độ phức tạp
Triệu chứng: hệ thống trở nên không thể bảo trì do độ tinh vi không cần thiết. Biện pháp: từ chối các bổ sung trừ khi chúng củng cố sự hoàn thành sứ mệnh.
Không nhất quán về đạo đức
Triệu chứng: các thành phần áp dụng lập luận đạo đức không nhất quán. Biện pháp: khung đạo đức tập trung với các mẫu triển khai chung.
Nhầm lẫn về mục đích
Triệu chứng: thành viên nhóm mất kết nối giữa quyết định kỹ thuật và sứ mệnh. Biện pháp: đào tạo liên tục về ra quyết định hướng sứ mệnh.
Nghiên cứu trường hợp
CIRIS, ví dụ thực tế.
CIRIS (Core Identity, Integrity, Resilience, Incompleteness, Signalling Gratitude) là hệ thống được phát triển song song với MDD. Sứ mệnh là Meta-Goal M-1: thúc đẩy tính Nhất Quán thích nghi bền vững giúp các sinh vật có tri giác đa dạng có thể theo đuổi Phát Triển Thịnh Vượng.
Kết quả kiến trúc
- 22 dịch vụ, mỗi dịch vụ được lý giải bởi yêu cầu sứ mệnh
- Hơn 200 API endpoint đã được xác minh
- Hơn 10.000 bài kiểm thử, với cấu trúc dữ liệu không có kiểu tối thiểu trong môi trường sản xuất
- Triết học Ubuntu được nhúng vào thiết kế giao thức
- Wisdom-Based Deferral ngăn chặn các vi phạm sứ mệnh (xem Tính An Toàn)
- Triển khai sản xuất điều phối các cộng đồng Discord
Các yếu tố thành công then chốt
- Meta-goal rõ ràng: M-1 cung cấp tiêu chí quyết định không mơ hồ
- Đạo đức vận hành: các nguyên tắc trong HIỆP ƯỚC được triển khai thành ràng buộc code (đọc HIỆP ƯỚC)
- Phát triển bền vững: người đồng hành Grace thực thi nhịp điệu lành mạnh
- Xác nhận liên tục: mọi quyết định kiến trúc đều bị đặt câu hỏi
Hướng dẫn áp dụng
Cách bắt đầu, từ nơi bạn đang đứng.
Với dự án mới
- Xác định sứ mệnh rõ ràng với các nguyên tắc đạo đức đo lường được trước khi viết code
- Thiết lập meta-goal cung cấp hướng dẫn ra quyết định
- Thiết kế kiến trúc để các ràng buộc sứ mệnh nằm ở cấp nền tảng
- Xây dựng xác nhận liên tục về sự nhất quán giữa sứ mệnh và kỹ thuật ngay từ ngày đầu
Với dự án hiện có
- Kiểm tra kiến trúc hiện tại để tìm các giả định sứ mệnh ngầm
- Phát biểu rõ ràng sứ mệnh giải thích các mẫu thiết kế hiện có
- Xác định các vi phạm sứ mệnh trong triển khai hiện tại
- Lập kế hoạch nhất quán hóa từng bước, ưu tiên theo mức độ ảnh hưởng đến sứ mệnh
Yêu cầu với nhóm
- Cam kết với lập luận đạo đức khách quan
- Sẵn sàng từ chối các giải pháp thanh lịch không phục vụ sứ mệnh
- Tin rằng các ràng buộc sứ mệnh tạo ra chứ không giới hạn kiến trúc tốt
- Các thực hành phát triển bền vững giữ gìn trọng tâm dài hạn
Hướng đi tiếp theo
MDD không phù hợp với mọi dự án.
MDD được thiết kế cho các hệ thống mà hành vi đạo đức là yêu cầu cốt lõi của sứ mệnh và độ tin cậy lâu dài quan trọng hơn tốc độ phát triển tính năng ngắn hạn. Với những hệ thống đó, MDD cung cấp con đường từ ý định đạo đức đến thực tế vận hành, với cùng kỷ luật kỹ thuật áp dụng cho sứ mệnh như cho code.
Chi phí ban đầu là có thật khi nhóm học cách ra quyết định hướng sứ mệnh. Lợi nhuận tích lũy nằm ở quá trình phát triển tiếp theo: khung giúp làm rõ các lựa chọn kiến trúc thay vì nhân chúng lên.