Tất cả bài viết
Các bài phân tích kỹ thuật, kiến trúc và ghi chú kinh nghiệm thực chiến.
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.
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.
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.
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.
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.
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.
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.
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 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ỗ đó.
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.
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.
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ó.