Phiên bản đầu tiên của một tính năng AI bao giờ cũng là một hàm gọi mô hình. Phiên bản thứ hai là đúng hàm đó nằm ở module khác. Tới phiên bản thứ năm, khóa API nằm ở năm chỗ, không ai nói được tháng vừa rồi tốn bao nhiêu, và đổi nhà cung cấp nghĩa là phải đụng vào cả năm chỗ.
Lớp AI của Vectiq Field gồm chín dịch vụ - agent, cổng LLM, RAG, nhúng vector, vector store, đồ thị tri thức, dự báo, khuyến nghị và thị giác - và cái cổng tồn tại chính là để phiên bản thứ năm đó không bao giờ xảy ra.
Cổng nắm những gì
Ba thứ, và chỉ ba thứ đó:
- Chọn mô hình. Nhà cung cấp nào, mô hình nào trả lời loại yêu cầu nào. Đổi là đổi cấu hình ở một dịch vụ, không phải sửa code ở chín chỗ.
- Khóa truy cập. Khóa API nằm đúng một chỗ. Dịch vụ nào cần một lượt sinh văn bản thì hỏi cổng; nó không bao giờ giữ một cái khóa mà nó có thể làm lộ trong một dòng log hay một vệt lỗi.
- Chi phí. Mỗi lượt gọi đều được quy về đúng nơi phát sinh, nên câu "tháng vừa rồi AI tốn bao nhiêu, của nông trại nào" là một truy vấn chứ không phải một cuộc họp với kế toán.
Thứ nó cố ý không nắm là logic prompt. Mỗi dịch vụ hiểu miền của mình và tự viết prompt; một cái cổng ôm luôn việc soạn prompt sẽ thành chỗ mà mọi đội phải xếp hàng chờ.
Vì sao chín chứ không phải một
Tách dịch vụ có cái giá thật - nhiều thứ phải triển khai hơn, nhiều kiểu hỏng hơn - nên việc tách phải xứng đáng. Ở đây nó xứng đáng, vì hai lý do.
Phần cứng. Dịch vụ thị giác phân loại ảnh lá và cần GPU. Dịch vụ RAG lắp ngữ cảnh từ PostgreSQL và không cần GPU. Gộp vào một tiến trình thì cả khối bị xếp lên node có GPU và phần lớn năng lực bị lãng phí cho việc truy xuất. Tách ra, chúng co giãn theo đường cong riêng.
Phạm vi triển khai. Một nông trại chỉ mua phát hiện bệnh thì không nên phải chạy một dịch vụ đồ thị tri thức. Chín thứ triển khai được riêng nghĩa là bản cài nhỏ nhất mà vẫn dùng được thì thật sự nhỏ.
Truy xuất trên chính nông trại này, không phải trên ngành nông nghiệp
Đây là ranh giới khiến trợ lý có giá trị: kiến thức nông học chung là hàng phổ thông, mô hình đã sẵn có. Thứ nó không có là thửa số bảy đã bón gì hồi tháng Ba, liều bao nhiêu, và tháng Bảy cho sản lượng thế nào.
Dịch vụ RAG truy xuất từ chính nhật ký hoạt động, hồ sơ xử lý và luồng cảm biến của nông trại. Đồ thị tri thức bổ sung cấu trúc mà truy xuất thuần không có - rằng thửa này, cây này, vật tư này và kết quả này có liên hệ với nhau - nên một câu hỏi về thửa đất có thể đi tới đúng những vật tư đã tác động lên nó, thay vì hy vọng đoạn văn cần tìm tình cờ nằm gần trong không gian vector.
Nếu công việc không được ghi, hoặc ba ngày sau mới ngồi nhớ lại mà ghi, trợ lý sẽ trả lời rất tự tin từ dữ liệu sai. Đây là phụ thuộc chẳng hào nhoáng gì: ứng dụng ghi nhật ký ngoài đồng khi mất mạng không phải phần phụ thêm bên cạnh lớp AI, nó chính là thứ khiến lớp AI đáng được triển khai.
Dự báo và khuyến nghị không phải cùng một dịch vụ
Dự báo ước lượng điều sẽ xảy ra - sản lượng, rủi ro. Khuyến nghị nói nên làm gì với điều đó - tưới ngay, xử lý thửa này.
Giữ chúng tách nhau không phải để cho gọn. Một dự báo có thể đối chiếu với điều đã thực sự xảy ra, nên sai số của nó đo được và nó cải thiện được. Một khuyến nghị thì đối chiếu với quyết định mà một con người đã đưa ra, đó là tín hiệu khác hẳn và yếu hơn nhiều. Gộp lại là che mất đúng con số duy nhất bạn có thể báo cáo một cách trung thực.
Điều chúng tôi sẽ nói với người bắt đầu làm việc này
Hãy xây cái cổng trước tính năng AI thứ hai, đừng đợi tới thứ năm. Nó là một dịch vụ nhỏ và gần như toàn bộ là code khuôn mẫu - còn mỗi tháng bạn trì hoãn, cái giá để đưa nó vào lại tăng thêm đúng một chỗ có khóa API viết cứng trong code.
