GEODE
Autonomous Agent Harness
Từ quan sát đến hành động tiếp theo.
Một harness tác nhân tự hành chạy cục bộ, có thể nhận việc nghiên cứu, thao tác tệp và tác vụ theo lịch.
Decision Offloading w. Jev
Trong những quyết định trung gian mà một tác nhân đưa ra giữa chừng tác vụ, quyết định nào có thể giao cho Jev, một mô hình chỉ để phán định? Nghiên cứu này kiểm tra xem chất lượng tác vụ được kiểm chứng độc lập có giữ được khi giao như vậy hay không, tính cả khâu chuẩn bị, phán định lặp lại, sửa chữa và bàn giao cuối cùng. Các thử nghiệm sơ bộ ban đầu không thể giải thích chỉ bằng việc thay lệnh gọi phán định, nên hợp đồng đầu vào, hợp đồng quyết định, chính sách xác suất và cách tác nhân thực thi tiêu thụ phán định được tách thành các thử nghiệm riêng.
Runtime · phán định cuối
Khi chọn Jev, kiểm chứng cuối gọi Jev một lần với một câu hỏi Choice, và chỉ phán định supported đã qua tiếp nhận mới đạt.
judgment_engine · llm | jev
core/config/judgment.pychạy · quyết định: chọn đườngphán định cuối · một câu hỏi Choicecore/agent/verify.pyĐường Jev chỉ được dùng khi judgment_engine được đặt là jev (mặc định llm). provider auto chọn TypeSafe, rồi OpenRouter, tùy bên nào có khóa; không có khóa thì đường LLM judge được giữ. Đây không phải fallback thử lại một yêu cầu thất bại ở nơi khác.
phán định cuối · một câu hỏi Choice
core/agent/verify.pydữ liệu: yêu cầu · ứng viên · quan sátSystemOne · một lệnh gọi · không fallbackadapters/typesafe.pyYêu cầu gốc và ứng viên được che dữ liệu và giới hạn độ dài, rồi gửi cùng các quan sát công cụ dưới dạng một câu hỏi Choice (supported, contradicted, insufficient_evidence). Lệnh gọi phán định không được cấp công cụ (allow_tools=False). Phán định cần hình ảnh không được gửi đến Jev và trở thành verification_error.
SystemOne · một lệnh gọi · không fallback
adapters/typesafe.pydữ liệu: một lệnh gọi SystemOneTypeSafe SystemOneMột lệnh gọi, trực tiếp đến TypeSafe hoặc qua OpenRouter, không chuyển sang nhà cung cấp khác. Jev không bao giờ được dùng làm mô hình sinh văn bản gốc.
tiếp nhận · dung sai tổng 1e-5
adapters/typesafe.pydữ liệu: Choice đã tiếp nhậnchỉ supported đạt · chỉ văn bảncore/agent/verify.pyPhản hồi chỉ được dùng sau khi qua bước tiếp nhận về kiểu, khoảng giá trị và tổng xác suất (dung sai 1e-5). Chỉ supported mới đạt; contradicted và insufficient_evidence trở thành tín hiệu thử lại kèm một bước kiểm tra tiếp theo cố định. Phản hồi không phải end_turn hoặc không qua bước tiếp nhận trở thành verification_error, không phải tín hiệu thử lại (should_retry=False). Điểm số là một phép chiếu nhị phân, không phải xác suất đã hiệu chuẩn.
chỉ supported đạt · chỉ văn bản
core/agent/verify.pydữ liệu: passed · reflectionchính sách PostVerify · Stoploop/_lifecycle.pyPhán định đi đến chính sách PostVerify và Stop của chương phán định hoàn tất. Phán định là đầu vào của chính sách đó, không phải thẩm quyền; khi chờ rà soát, ứng viên chỉ còn dưới dạng pending_text và phản hồi cuối rỗng, nên không có gì được bàn giao.
chính sách PostVerify · Stop
loop/_lifecycle.pyghi · quan sát: hàng phán địnhtimeline · hàng quyết định trong ledgermemory · observabilityCác quyết định phán định được ghi trong timeline và evidence ledger: bản ghi của runtime, tách biệt với artifact nghiên cứu.
Runtime · reflection
Cùng lựa chọn đó điều khiển việc phân loại bằng chứng của reflection; câu kiểm tra tiếp theo do mã quy định.
judgment_engine · llm | jev
core/config/judgment.pychạy · quyết định: cùng lựa chọnreflection · phân loại bằng chứngloop/_reflection.pyCùng lựa chọn đó áp dụng cho reflection.
reflection · phân loại bằng chứng
loop/_reflection.pydữ liệu: phân loại bằng chứngSystemOne · một lệnh gọi · không fallbackadapters/typesafe.pyReflection dùng Jev để phân loại bằng chứng đã giới hạn và nối thêm một bước kiểm tra tiếp theo do mã quy định. Nó không thay đổi các giả thuyết niềm tin hay độ tự tin.
SystemOne · một lệnh gọi · không fallback
adapters/typesafe.pydữ liệu: một lệnh gọi SystemOneTypeSafe SystemOneMột lệnh gọi, trực tiếp đến TypeSafe hoặc qua OpenRouter, không chuyển sang nhà cung cấp khác. Jev không bao giờ được dùng làm mô hình sinh văn bản gốc.
tiếp nhận · dung sai tổng 1e-5
adapters/typesafe.pydữ liệu: phân loạireflection · phân loại bằng chứngloop/_reflection.pyChỉ phân loại đã qua tiếp nhận mới cập nhật trạng thái reflection; khi thất bại, vòng tiếp theo thử lại từ cùng trạng thái trước đó.
Nghiên cứu · bảng cố định U3
Không có actor, phán định của Jev và Astra trên cùng trạng thái và câu hỏi được so sánh theo cặp.
Astra · Jev · cùng câu hỏi
U3 · bảng trạng thái cố địnhdữ liệu: Phán định của JevTypeSafe SystemOneU3 (commit thử nghiệm gốc 2f2b494): 120 trạng thái cố định · 27 cụm nguồn · 240 lệnh gọi. Mỗi trạng thái và câu hỏi được gửi đến Jev và Astra như một cặp; không có actor, công cụ hay Harbor.
Astra · Jev · cùng câu hỏi
U3 · bảng trạng thái cố địnhdữ liệu: Phán định của AstraAstra judge · mô hình actorĐúng trên cùng mẫu: Astra 90/120, Jev 84/120; trung vị mỗi lệnh gọi 10.446 s so với 0.253 s. Đây chỉ là độ trễ của lệnh gọi phán định, không phải thời gian tác vụ hay mức tiết kiệm chi phí.
U3 · bảng trạng thái cố địnhdữ liệu: kết quả bảng · báo cáoBáo cáo nghiên cứu Jev
Kết quả độ chính xác và độ trễ của U3 xuất hiện trong báo cáo kỹ thuật công khai. Ở đây không khẳng định bảng này có thuộc gói công khai E2E hay không.
Nghiên cứu · lượt chạy E/I
Với Astra làm actor, chỉ đường phán định thay đổi, và một rule oracle độc lập kiểm tra riêng kết quả và việc bàn giao.
Astra actor · công cụ · sửa chữa
E/I · Harbor 0.22dữ liệu: sinh · công cụ · sửa chữaAstra judge · mô hình actorTrong E/I trên Harbor 0.22, actor Astra đảm nhận việc sinh, gọi công cụ và sửa chữa; chỉ đường phán định thay đổi.
đường judge · Astra · Jev · Jev-first
E/I · Harbor 0.22dữ liệu: đường phán định hoàn tấtTypeSafe SystemOneE7 (commit thử nghiệm gốc 1f65534): 12 tác vụ tổng hợp tự soạn × 3 cấu hình × 2 lượt = 72 lượt chạy, 24/24 cho mỗi cấu hình. Cấu hình Jev-first có 0/24 fallback thực tế, nên tác động của nó chưa được đo.
E/I · Harbor 0.22ghi · quan sát: kiểm tra độc lậptính đúng · bàn giao tách riêng
rule oracleMột rule oracle độc lập kiểm tra kết quả cuối, và việc bàn giao cuối thực tế được đếm riêng. Trong 11 cặp hậu kiểm của U8n bị gián đoạn, mọi ứng viên đều qua oracle, nhưng bàn giao là Astra 11/11 và Jev Noul 0/11.
E/I · Harbor 0.22dữ liệu: lỗi · phả hệ sửa chữaE2E-DATA · hash nguồn · công khai
jev-v3-20260927Gói công khai E2E giữ phả hệ chuẩn bị, lỗi và sửa chữa, với hash nguồn và hash bản công khai được tách riêng. Một bản công khai đã che dữ liệu không thay thế cho việc xác thực nguồn chưa bị thay đổi.
REPRODUCE · model-free
jev-v3-20260927dữ liệu: tính lại không cần mô hìnhBáo cáo nghiên cứu JevTính lại số liệu từ các phản hồi đã lưu và chạy mới là hai thao tác khác nhau. Báo cáo là báo cáo kỹ thuật công khai, không phải bài báo được bình duyệt.
Mọi kết nối có cùng độ đậm. Chọn một luồng để chỉ làm nổi bật đường đi của nó, kèm các bước được đánh số.
- Nét liền · hướng đi của yêu cầu, ứng viên và kết quả
- Nét đứt · chạy, quyết định, cấp quyền, cấu hình
- Nét gạch chấm dài · bản ghi và quan sát, tách khỏi phán định
- Nét đen đậm · luồng được chọn; số chỉ thứ tự
- Hộp · một ranh giới mã hoặc bản ghi, đường dẫn ở phần đầu
- Chip bên trong · một thành phần trong ranh giới đó
- Hộp nét đứt · bên ngoài ranh giới đó
- vòng lặp · harness thực thi
- chọn đường · phán định · oracle
- bản ghi · gói công khai
- truyền tải · bảng phán định
Phần trên và phần dưới là hai hệ thống khác nhau. Cấu hình và kết quả nghiên cứu không phải tất cả đều được bật trong đường runtime hiện nay; mối liên hệ chung duy nhất là cả hai cùng gọi một mô hình Jev (jev-1.13.0).
- Tiếp nhận của runtime
- Runtime giữ dung sai tổng xác suất nghiêm ngặt ở 1e-5. Bên gọi đánh giá truyền dung sai đã ghi của riêng mình thay vì nới lỏng bộ phân tích của runtime.
- Phạm vi nghiên cứu
- U3 chỉ đo các lệnh gọi phán định; E/I bao gồm actor và sửa chữa. Mẫu số của chúng không bao giờ bị trộn lẫn, và 11 cặp của U8n là phân tích hậu kiểm của một nghiên cứu bị gián đoạn.
Ba hợp đồng quyết định
Choice
- Trả về
- Xác suất cho từng hạng mục hoặc lựa chọn
- Quyết định
- Hoàn tất; ý định và đối tượng của yêu cầu
Noul
- Trả về
- P(true) cho mỗi điều kiện
- Quyết định
- Mâu thuẫn; thiếu bằng chứng
Score
- Trả về
- Giá trị kỳ vọng và phân phối trên một thang thứ tự cố định
- Quyết định
- Xếp hạng các ứng viên được sinh ra
Giá trị kỳ vọng đặt ứng viên trên thang; nó không được dùng làm độ tin cậy.
Đánh giá và kết nối
Mỗi hợp đồng được đánh giá trên bảng đầu vào cố định của riêng nó, và một số được nối vào đường thực thi của harness thử nghiệm để xem tác nhân thực thi tiêu thụ phán định như thế nào. Trong bản đồ phía trên, phần nghiên cứu thể hiện các lượt chạy đó; phần runtime là đường tùy chọn trong GEODE hiện nay.
Những quan sát đã thay đổi thiết kế
- I5 → I6 · hợp đồng đầu vào
- Truy vết một lỗi bàn giao chung cho thấy đầu vào phán định thiếu hợp đồng tác vụ và mô tả các quan sát công cụ của cùng yêu cầu như ngữ cảnh trong quá khứ
- I6 bàn giao 6/6 trong một lượt chạy riêng với mã đã sửa và một tài khoản mới
- U3 · cùng 120 cặp trạng thái
- Trung vị mỗi lệnh gọi Astra 10.446 s · Jev 0.253 s; đúng trên cùng mẫu 90/120 · 84/120
- Tốc độ và độ chính xác được cân nhắc cùng nhau cho từng quyết định để định phạm vi ủy quyền
- U2 · xác suất
- Xác suất của Jev được hiệu chuẩn tốt hơn về độ lớn, nhưng Astra xếp các phán định sai của mình lên trước đáng tin cậy hơn
- Hiệu chuẩn và chọn lọc lỗi được đo riêng, và ngưỡng được cố định trên phần chia selection
- U6a · ý định và đối tượng
- Trên 40 nhóm do người thiết kế soạn, Jev 216/220 · Astra 220/220, đạt biên −5 pp đã đăng ký trước
- Phân loại ý định và đối tượng cố định được thu hẹp thành ứng viên ứng dụng tiếp theo
- U8n · bàn giao
- 11 cặp hậu kiểm từ một lượt chạy bị gián đoạn: các ứng viên đã sửa đều qua oracle ở cả hai arm; bàn giao Astra 11/11 · Jev Noul 0/11
- Các phán định thiếu bằng chứng đã chặn việc bàn giao đúng; cấu hình Noul hiện tại chưa đủ căn cứ để làm bộ phán định bàn giao duy nhất