CHỦ ĐỀ

#architecture

Tuyển tập 12 bài viết kỹ thuật liên quan đến #architecture.

Một điểm rẽ thành hai đường: đường trên qua năm ô đã đánh dấu, đường dưới đứt đoạn tới một ô rỗng

Coverage 100% mà vẫn không chạy

Một tính năng chết hẳn trong sản phẩm, trong khi 178 test xanh và coverage vẫn 100%. Coverage đo dòng đã chạy, chứ không đo đường mà sản phẩm thật sự đi.

Một mũi tên đi vào cổng chắn dọc, phía sau là hai mũi tên ngắn bị chặn lại

Hỏi trước khi ghi, không hỏi được thì thôi

Quyền không phải một cờ đúng sai. Nó là một seam có hợp đồng, ba mức sandbox chỉ áp cho tệp, và một mặc định: không ai trả lời thì câu trả lời là không.

Một hàng tám khối, hai khối giữa được đánh dấu ngoặc và một khối đậm thay thế phía trên

Cắt ngữ cảnh mà vẫn tra lại được

Compaction không xoá gì cả. Nó chỉ che một khoảng trên bề mặt gửi cho model, ghi lại đúng khoảng đã che, và để nguyên bản gốc trong sổ để lần sau tra lại.

Bảy ô vuông nối nhau, ô giữa đậm là thân tool, sáu ô kia có gạch gác phía trên

Quyền nằm trên đường đi, không nằm trong tool

Một lời gọi tool đi qua bảy chặng trước khi chạm tới thân tool. Chính sách, hook và sandbox sống trên đường đi đó, và thân tool không cần biết gì về chúng.

Một chồng sổ ghi với hai mũi tên toả ra hai thứ được suy ra từ nó

Sổ ghi là nguồn, không phải bản sao

Mọi thứ model nhìn thấy phải nằm trong sổ trước. Ngữ cảnh gửi cho model không được lưu song song — nó được suy ra, và đó là khác biệt giữa nguồn với bản sao.

Bốn vòng lặp giống hệt nhau, mỗi cái có một đường cắt ở vị trí khác nhau

Vòng lặp giống nhau, chỗ thay được thì khác

Mọi harness đều có sổ ghi, sổ tool, ngân sách và tầng quyền. Chúng khác nhau ở chỗ cái nào bạn được phép thay — tôi đã đọc mã nguồn bốn harness để trả lời.

Cây plugin của một harness với bốn mảnh lõi được tô đậm giữa các plugin khác

Harness bắt đầu từ chỗ nào

Vòng lặp chỉ là bộ điều phối. Thứ biến nó thành harness là bốn mảnh cắm rời được, và trong một harness thật cả bốn đều là plugin thay được từ cấu hình.

Mô hình kiến trúc System One AI và Typed Decisions với Jev Model

System One AI: Đừng đốt 800ms chỉ để lấy một từ khóa rẽ nhánh

Khám phá System One AI với TypeSafe Jev: thay thế LLM chậm chạp bằng Typed Decisions, phân phối xác suất và 3 primitive Choice, Score, Noul trong thực tế.

Vòng lặp while tối giản với bốn nhánh vỡ được đánh dấu quanh nó

Vòng while chạy được, cho tới lúc không

Một agent loop chạy được sau mười dòng. Bản production của cùng vòng lặp đó dài 101 dòng, và phần dôi ra đều là những chỗ nó từng vỡ. Đây là bốn chỗ đó.

Ranh giới giữa phần khai báo tool gửi cho model và phần thực thi nằm lại phía hệ thống

Model đề nghị, code của bạn thực thi

Model chỉ thấy phần khai báo của tool, không thấy phần thực thi. Một tool call là yêu cầu có cấu trúc mà code của bạn kiểm tra, kiểm quyền, rồi quyết định chạy.

Một thanh ngân sách bị lấp đầy dần, phần cuối bị cắt cụt khi vượt giới hạn

Cửa sổ ngữ cảnh không phải trí nhớ

Cửa sổ ngữ cảnh là ngân sách hữu hạn, không phải trí nhớ. Cùng một request, hai tỉ lệ ước lượng token lệch nhau 1,6 lần, và bạn không biết mình ở đâu.

Hai lần gọi API tách rời, lần thứ hai phải mang theo toàn bộ lịch sử của lần thứ nhất

Một lần gọi API, rồi quên hết

Mỗi lần gọi API là một hàm thuần: text vào, text ra, xong là hết. Cái bạn tưởng là trí nhớ của model thực ra là lịch sử bạn tự gửi lại, và bạn trả tiền cho nó.