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.
Đề xuất dừng của mô hình chỉ trở thành hoàn tất khi qua kiểm chứng.
Với một điểm dừng có thể bàn giao, việc mô hình xin dừng vẫn phải qua kiểm chứng hoàn tất. Kết quả là xong, tiếp tục trong ngân sách, hoặc chờ rà soát; giới hạn thực thi, hủy và lỗi kết thúc ở một trạng thái dừng riêng.
Verify → hoàn tất
Chỉ điểm dừng có thể bàn giao mới đi qua PreVerify → phán định → PostVerify → Stop. Cả đề xuất dừng của mô hình lẫn chỉ thị của hook đều không tự nó là hoàn tất.
arun · lượt mô hình
loop/agent_loop.pydữ liệu: đề xuất dừngđiểm dừng có thể bàn giao · natural, v.v.loop/_guards.py · models.pyKhi mô hình trả lời bằng văn bản mà không gọi công cụ, lượt đó trở thành ứng viên dừng natural (forced_text ở vòng cuối được phép). Đề xuất dừng của mô hình chưa phải là hoàn tất.
điểm dừng có thể bàn giao · natural, v.v.
loop/_guards.py · models.pydữ liệu: ứng viên hoàn tấtfinalize_and_return_asyncloop/_lifecycle.pyChỉ natural, forced_text và actionable_partial là điểm dừng có thể bàn giao, và chỉ những điểm dừng này mới đi tiếp đến kiểm chứng công khai.
finalize_and_return_async
loop/_lifecycle.pychạy · quyết định: PreVerifyPreVerify · STRENGTHENcore/hooks/public.pyVới STRENGTHEN, hook PreVerify chỉ có thể thêm yêu cầu và mã thiếu sót. Nó có thể làm phán định nghiêm hơn, nhưng không bao giờ làm cho đạt.
finalize_and_return_async
loop/_lifecycle.pychạy · quyết định: verify_turn_asynckiểm tra cấu trúc · empty_turncore/agent/verify.pyKiểm tra cấu trúc đi trước (lượt rỗng, model_action_required); một lỗi cấu trúc không thể sửa sẽ bỏ qua phán định ngữ nghĩa. Các thiết lập cũ như off hay rule_based được quy về llm_judge và không thể tắt phán định.
phán định ngữ nghĩa · LLM hoặc Jev
core/agent/verify.pydữ liệu: yêu cầu phán địnhMô hình phán địnhBộ phán định được chọn (mặc định LLM judge, Jev Choice khi được chọn) được gọi một lần, không có công cụ, tối đa 120 giây và không bao giờ vượt ngân sách thời gian còn lại. Ứng viên có thể chứa quan sát cá nhân không được gửi đến bộ phán định phụ trợ.
phán định ngữ nghĩa · LLM hoặc Jev
core/agent/verify.pydữ liệu: passed · rubric_missespolicy_action · đọc phán địnhloop/_lifecycle.pyPhán định mang kết quả đạt hay không đạt, mã thiếu sót, một reflection cho lần thử tiếp theo, và việc thử lại có ích hay không. Một kết quả đạt về ngữ nghĩa không bao giờ che một kiểm tra cấu trúc thất bại.
policy_action · đọc phán định
loop/_lifecycle.pychạy · quyết định: Quyết định PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyHook PostVerify quyết định ACCEPT, REVISE hoặc ESCALATE. Một ACCEPT cho ứng viên không qua kiểm chứng sẽ trở thành escalate. Khi không có quyết định, mặc định của runtime được áp dụng (đạt → accept, có thể thử lại → revise, còn lại → escalate).
policy_action · đọc phán định
loop/_lifecycle.pychạy · quyết định: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyChỉ khi không escalate thì chỉ thị CONTINUE của hook Stop mới có thể yêu cầu tiếp tục để sửa. Chỉ thị của hook là đầu vào cho lần thử tiếp theo, không phải thẩm quyền.
policy_action · đọc phán định
loop/_lifecycle.pydữ liệu: completed · đã lưucheckpoint · trạng thái phiênmemory · observabilityKhi đạt và accept, các lần thử tiếp nối được gộp lại, kết quả được lưu và phiên được ghi là completed.
finalize_and_return_async
loop/_lifecycle.pydữ liệu: phản hồiIPC · bên gọi CLITrả về câu trả lời cuối cùng khi completed; câu trả lời rỗng kèm EXTERNAL_VERIFICATION_REQUIRED khi chờ rà soát; lý do dừng đối với điểm dừng không qua kiểm chứng.
Sửa trong ngân sách
Một lỗi có thể sửa sẽ tiếp tục cùng yêu cầu. Ngân sách mặc định là hai lần thử; khi hết, ứng viên chờ rà soát.
phán định ngữ nghĩa · LLM hoặc Jev
core/agent/verify.pydữ liệu: passed · rubric_missespolicy_action · đọc phán địnhloop/_lifecycle.pyPhán định mang kết quả đạt hay không đạt, mã thiếu sót, một reflection cho lần thử tiếp theo, và việc thử lại có ích hay không. Một kết quả đạt về ngữ nghĩa không bao giờ che một kiểm tra cấu trúc thất bại.
policy_action · đọc phán định
loop/_lifecycle.pychạy · quyết định: Quyết định PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyHook PostVerify quyết định ACCEPT, REVISE hoặc ESCALATE. Một ACCEPT cho ứng viên không qua kiểm chứng sẽ trở thành escalate. Khi không có quyết định, mặc định của runtime được áp dụng (đạt → accept, có thể thử lại → revise, còn lại → escalate).
policy_action · đọc phán định
loop/_lifecycle.pychạy · quyết định: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyChỉ khi không escalate thì chỉ thị CONTINUE của hook Stop mới có thể yêu cầu tiếp tục để sửa. Chỉ thị của hook là đầu vào cho lần thử tiếp theo, không phải thẩm quyền.
ngân sách tiếp tục · mặc định 2
loop/_lifecycle.pychạy · quyết định: sửa · lần thử +1_arun_once · tiếp tục để sửaloop/agent_loop.pyKhi có chỉ thị sửa, và chỉ khi số thứ tự lần thử còn dưới ngân sách (mặc định hai lần), cùng yêu cầu đó mới tiếp tục. Khi chạm ngân sách, nó trở thành escalate_budget_exhausted và chờ rà soát.
Chờ rà soát
Một phán định không dùng được, một nỗ lực biến thất bại thành đạt, hoặc ngân sách đã cạn sẽ giữ lại ứng viên và tạm dừng phiên.
verification_error · đóng khi lỗi
core/agent/verify.pylỗi · không có phán định: verification_errorpolicy_action · đọc phán địnhloop/_lifecycle.pyThiếu bộ phán định, hết thời gian chờ hoặc phản hồi không hợp lệ sẽ thành verification_error: không phải đạt, cũng không phải tín hiệu sửa. Một phán định không dùng được không bao giờ thay thế cho thành công.
policy_action · đọc phán định
loop/_lifecycle.pychạy · quyết định: Quyết định PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyHook PostVerify quyết định ACCEPT, REVISE hoặc ESCALATE. Một ACCEPT cho ứng viên không qua kiểm chứng sẽ trở thành escalate. Khi không có quyết định, mặc định của runtime được áp dụng (đạt → accept, có thể thử lại → revise, còn lại → escalate).
policy_action · đọc phán định
loop/_lifecycle.pychạy · quyết định: ESCALATE · pendingNgười rà soát bên ngoàiỨng viên được giữ dưới dạng pending_text và không xuất hiện trong phản hồi thông thường, checkpoint được lưu và phiên bị tạm dừng. Không có người rà soát bên ngoài nào được liên hệ tự động.
policy_action · đọc phán định
loop/_lifecycle.pyghi · quan sát: phán định · hàng bằng chứngtimeline · hàng quyết định trong ledgermemory · observabilityTimeline nhận các hàng quyết định, bằng chứng và pending, còn evidence ledger nhận một hàng verification_policy. Đây là các bản ghi best-effort, không phải bằng chứng về một tác động bên ngoài.
Điểm dừng không kiểm chứng
Các điểm dừng do hủy, giới hạn và hạ tầng cùng các lượt chạy control workflow được lưu mà không qua kiểm chứng công khai.
arun · lượt mô hình
loop/agent_loop.pychạy · quyết định: guard · giới hạnlỗi · giới hạn · dừng do hủyloop/_guards.py · models.pyCác guard như giới hạn vòng, thời gian, chi phí và ngữ cảnh, việc hủy và phát hiện lỗi lặp lại kết thúc lượt bằng một phần tử của tập TerminationReason đóng. Một giới hạn bị tắt trong cấu hình không phải lúc nào cũng được thực thi.
lỗi · giới hạn · dừng do hủy
loop/_guards.py · models.pylỗi · không có phán định: lỗi · dừng do hủyfinalize_and_return_asyncloop/_lifecycle.pyCác điểm dừng do hủy, hạ tầng và giới hạn không có ứng viên để kiểm chứng, nên được lưu mà không qua kiểm chứng công khai.
control workflow · bỏ qua kiểm chứng công khai
ipc_server/poller.pychạy · quyết định: bỏ qua kiểm chứng công khaifinalize_and_return_asyncloop/_lifecycle.pyKhi một lệnh gọi IPC yêu cầu bỏ qua kiểm chứng công khai hoặc một control workflow đang hoạt động, kiểm chứng công khai chỉ tắt cho lượt chạy đó và giá trị trước được khôi phục sau đó.
finalize_and_return_async
loop/_lifecycle.pydữ liệu: chỉ lưu · không kiểm chứngcheckpoint · trạng thái phiênmemory · observabilityMột điểm dừng không qua kiểm chứng vẫn lưu kết quả và checkpoint, và phát các sự kiện kết thúc phiên.
finalize_and_return_async
loop/_lifecycle.pydữ liệu: phản hồiIPC · bên gọi CLITrả về câu trả lời cuối cùng khi completed; câu trả lời rỗng kèm EXTERNAL_VERIFICATION_REQUIRED khi chờ rà soát; lý do dừng đối với điểm dừng không qua kiểm chứng.
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 gạch ngắn · lỗi hoặc phán định không dùng được
- 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 · finalization
- điểm dừng · hook · phán định
- lưu · bản ghi
- đầu vào IPC
Chỉ vẽ các đường gọi trong commit cố định 9e2c041. Kết quả đạt của bộ phán định tách biệt với thành công của verifier trong benchmark bên ngoài; hoàn tất ở đây là một quyết định bên trong runtime.
- Engine phán định
- Mặc định là LLM judge; Jev Choice chỉ phán định khi judgment_engine được đặt là jev. Dù thế nào, bộ phán định không dùng được sẽ cho verification_error, không bao giờ là thành công.
- Hook được làm gì
- PreVerify chỉ có thể làm phán định nghiêm hơn, PostVerify không thể cho ứng viên thất bại đạt, và Stop chỉ có thể yêu cầu tiếp tục khi không escalate.
- Chờ rà soát
- Chờ rà soát ghi nhận rằng cần một quyết định từ bên ngoài. Nó không thông báo cho ai và không có nghĩa kết quả đã được phê duyệt.