GEODE
Autonomous Agent Harness
จากการสังเกตสู่การกระทำถัดไป
ฮาร์เนสเอเจนต์อัตโนมัติที่รันบนเครื่อง ซึ่งรับงานวิจัย งานไฟล์ และงานตามกำหนดเวลาได้ โมเดลเลือกการกระทำถัดไป ส่วนรันไทม์ตรวจสิทธิ์การใช้เครื่องมือและตัดสินว่างานเสร็จเมื่อใด
GEODE runtime vocabulary
- reasoning
- action
- observation
- plan
- memory
- tools
- hook
- reflexion
- rollouts
- data curation
- data governance
- evaluation
- scaffold search
- promotion
Reasoning: SYSTEM PROMPT · CONVERSATION · RUNTIME HINTS · MODEL · ADAPTER CALL · NEXT ACTION · TOOL SCHEMA · TEXT-ONLY TURN · CURRENT STEP · PROJECT MEMORY · RUNTIME RULES · EFFORT · thinking_budget · reasoning_effort · adaptive_thinking · effort_values · default_effort · binds_thinking · none · minimal · low · medium · high · xhigh · max · MODEL ROUTEAction: ACT · TOOL_USE · TOOLCALLPROCESSOR · DISPATCH · RESEARCH · BASH · COMPUTER USE · FILE · GIT · PROCESS · EFFECT RECEIPT · TOOLEXECUTORObservation: NEXT ACTION · RESEARCH · OBSERVE · TOOL_RESULT · RESULT · ERROR · CODE · DOCUMENT · SOURCE · EVIDENCE · EXCERPTPlan: CURRENT STEP · OBJECTIVE · PLANSTEP · EXPECTED OUTCOME · REMAINING STEPS · COMPLETED · ABANDONED · REVISION · UPDATE_PLAN · /PLAN · REPLAN · VERIFY FAILED · LOW CONFIDENCEMemory: SYSTEM PROMPT · CONVERSATION · PROJECT MEMORY · RUNTIME RULES · TOOL_RESULT · CONVERSATIONCONTEXT · MESSAGES · CONTEXT WINDOW · COMPACTION · CHECKPOINT · SESSION · RECOVERY · SQLITE · STATE.JSON · PreCompact · PostCompact · SessionStart · SessionEndTools: TOOL SCHEMA · TOOL_USE · TOOLCALLPROCESSOR · DISPATCH · BASH · COMPUTER USE · EFFECT RECEIPT · TOOL_RESULT · BOUNDTOOLPLAN · GENERATION · HASH · TOOLEXECUTOR · SCOPE · POLICY · HOOK · APPROVAL · HITL · PreToolUse · PostToolUse · MCP CLIENT · PermissionRequestHook: DISPATCH · HOOK · PreToolUse · PostToolUse · UserPromptSubmit · PermissionRequest · PreCompact · PostCompact · SessionStart · SessionEnd · SubagentStart · SubagentStop · PreVerify · tool_request · tool_execution · llm_request · llm_execution · REQUEST TRANSFORM · next_call · WRAPPER · REGISTRY · PostVerify · StopReflexion: NEXT ACTION · EVIDENCE · REPLAN · VERIFY FAILED · LOW CONFIDENCE · HOOK · PreVerify · HYPOTHESES · CONFIDENCE · NEXT_ACTION_HINT · RECORD_REFLECTION · CONTRADICTION · REPAIR · VERIFY · PostVerify · Stop · COMPLETION · CONTINUE · TIME · TOKEN BUDGET · CANCELLATIONRollouts: SESSION · ROLLOUT · EXAMPLE · SEED · REPETITION · ATTEMPT · TRAJECTORY · REWARD · OUTCOME · TRACE · RUN IDData Curation: TASK SYNTHESIS · SEED GENERATION · PROXIMITY · RANKING · META-REVIEW · ELO TOURNAMENT · PILOT · DEDUPLICATION · SURVIVOR SELECTION · FROZEN POOLData Governance: PROVENANCE · LINEAGE · SCHEMA VERSION · SOURCE DIGEST · PRIVACY REVIEW · ALLOWLIST · IMMUTABLE RELEASE · SPLIT ISOLATION · SEALED HOLDOUTEvaluation: TRAJECTORY · OUTCOME · TRACE · EVALUATION HARNESS · TASK · RUBRIC · GRADER · VERIFIER · VALIDITY · FITNESS · REPLICATION · TASK COVERAGEScaffold Search: RECOVERY · FITNESS · CANDIDATE · HYPOTHESIS · MUTATION POLICY · BASELINE · FROZEN EVALUATOR · POLICY INJECTION · SEARCH SPACE · PROMOTION GATEPromotion: SEALED HOLDOUT · PROMOTION GATE · CRUCIBLE · PAIRED TRIALS · BOOTSTRAP BOUND · FROZEN CONTRACT · TASK-PACK HASH · TRAIN · SEALED TEST · SAFETY VETO · KEEP · REJECT · INVALID
Recorded evaluation · MCPMark PostgreSQL · 2026-07-04
ก่อนเปลี่ยนสิ่งใด ค้นหาสิ่งที่มีอยู่แล้วก่อน
โจทย์: ความปลอดภัยระดับแถวสำหรับบริการโซเชียลที่มีห้าตาราง
- สำรวจอ่านห้าตาราง ฟังก์ชันช่วยสี่ตัวที่มีอยู่แล้ว RLS ที่ปิดอยู่ทั้งห้าตาราง รวมทั้งนโยบาย สิทธิ์ และบทบาท
- ลงมือทรานแซกชันเดียว: นโยบาย 20 รายการและเปิด RLS โดยใช้ฟังก์ชันช่วยเดิม 3 ตัวซ้ำและเพิ่มฟังก์ชัน 3 ตัว
- ตรวจยืนยันผ่าน 18 ล้มเหลว 0 การตอบกลับจากเครื่องมือทั้ง 13 ครั้งใน 9 เทิร์นกลับมาโดยไม่มีข้อผิดพลาด
เอาต์พุตของตัวตรวจยืนยัน 18 บรรทัด (ตามต้นฉบับ)
- RLS enabled on users
- RLS enabled on channels
- RLS enabled on channel_moderators
- RLS enabled on posts
- RLS enabled on comments
- Users can update their own profile
- Users blocked from updating other users' profiles
- Channel owners can update their channels
- Non-owners blocked from updating channels
- Post authors can update their posts
- Channel moderators can update posts in their channels
- Unauthorized users blocked from updating posts
- Comment authors can update their comments
- Post authors can moderate comments on their posts
- Channel owners can add moderators
- Non-owners blocked from adding moderators
- Content visibility varies correctly based on user context
- Anonymous users can see 3 public user profiles (correct)
การรันในอดีตใน sandbox การประเมินที่ตั้งค่าไว้ ไม่ใช่ฐานข้อมูลที่ใช้งานจริงหรือเหตุการณ์ด้านความปลอดภัยจริง จำนวนแถวก่อนมีนโยบายไม่มีในบันทึก จึงไม่แสดง บันทึกการรันสาธารณะ (meta.json, คอมมิต 23e3428)
การทบทวนผลลัพธ์และซ่อมแซม (ได้แรงบันดาลใจจาก Reflexion ภายในงานเดียวกัน) เป็นความสามารถของรันไทม์ GEODE ปัจจุบัน บันทึกนี้ไม่มีการซ่อมแซมเช่นนั้น: การตอบกลับจากเครื่องมือทุกครั้งกลับมาโดยไม่มีข้อผิดพลาด เอกสารรันไทม์ (hook-system.md)
โมเดลเลือกการกระทำถัดไป โฮสต์รักษาขอบเขตการรัน
รันไทม์ตั้งแต่คำขอเข้าสู่เซสชัน ผ่านการเรียกโมเดลและการตรวจสิทธิ์ของการเรียกเครื่องมือแต่ละครั้งที่ถูกเสนอ ไปจนถึงการรัน ผลลัพธ์ และบันทึก เลือกโฟลว์เพื่อเน้นเฉพาะเส้นทางของโฟลว์นั้นพร้อมขั้นตอนที่มีหมายเลข
การทดลอง Scaffold Search / SIL ภายนอกเริ่มเมื่อ May 15, 2026
ติดตั้งแพ็กเกจ geode-agent จาก PyPI หรือรีโพซิทอรีสาธารณะ แล้วรันจากเทอร์มินัลของคุณเอง เชื่อมต่อในฐานะเซิร์ฟเวอร์ MCP ได้ด้วย
คำขอ → การเรียกโมเดล
คำขอจากเทอร์มินัลเข้ามาทาง IPC ประกอบเป็นเซสชัน แล้วลูปเรียกโมเดลด้วยพรอมต์ระบบ บทสนทนา และสคีมาเครื่องมือ
ผู้ใช้เทอร์มินัลการไหลของข้อมูล: prompt · cli.sockCLIPoller · ซ็อกเก็ต IPC
core/serverthin CLI ส่งคำขอไปยังซ็อกเก็ต IPC ของ serve daemon (~/.geode/cli.sock) ส่วน REPL รันการประกอบเซสชันแบบเดียวกันภายในโปรเซส
CLIPoller · ซ็อกเก็ต IPC
core/serverสิทธิ์ · การประกอบ: create_session(IPC)SharedServices.create_sessionsupervised/services.pyการเชื่อมต่อแต่ละครั้งประกอบเป็นเซสชัน โหมดกำหนดระดับ HITL งบเวลา และเครื่องมือที่ถูกปฏิเสธ และฉาย BoundToolPlan ให้เข้ากับผู้ให้บริการที่เลือก
CLIPoller · ซ็อกเก็ต IPC
core/serverสิทธิ์ · การประกอบ: lane ต่อคำขอLaneQueue · session · globalsupervised/services.pyก่อนรันคำขอ จะยึดทั้ง lane ของเซสชันและ lane ส่วนกลาง ซึ่งจำกัดการรันพร้อมกัน
SharedServices.create_session
supervised/services.pyสิทธิ์ · การประกอบ: ToolExecutor · AgenticLoopAgenticLoop · หกขั้นcore/agent/loopสร้าง executor และลูปเป็นคู่เดียวที่ใช้ hook, MCP, skill และล็อกทรัพยากรร่วมกัน
LaneQueue · session · global
supervised/services.pyการไหลของข้อมูล: arun(prompt)AgenticLoop · หกขั้นcore/agent/loopรันหนึ่งเทิร์นของผู้ใช้ในหกขั้น: เตรียมอินพุต เตรียมการเรียก เรียกผู้ให้บริการ ประมวลผลเครื่องมือ สังเกตและบีบอัด สิ้นสุด
พรอมต์ระบบ · แหล่งที่ประกาศไว้
core/agent/loopการไหลของข้อมูล: พรอมต์ระบบadapter.acomplete · ประเภทข้อผิดพลาดcore/llm/adaptersสร้างทุกเทิร์นจากแหล่งที่ประกาศไว้ เช่น ส่วนที่เลือกใน GEODE.md และกฎ facade ห้าชั้นของ ContextAssembler ใช้เฉพาะเมื่อเรียกอย่างชัดแจ้ง และไม่ใช่อินพุตของลูปเริ่มต้น
ข้อความ · ConversationContext
core/agent/loopการไหลของข้อมูล: ข้อความadapter.acomplete · ประเภทข้อผิดพลาดcore/llm/adaptersบทสนทนาและผลลัพธ์เครื่องมือก่อนหน้าส่งแยกจากพรอมต์ระบบ
BoundToolPlan · เปลี่ยนแปลงไม่ได้
core/tools/plan.pyสิทธิ์ · การประกอบ: สคีมาเครื่องมือadapter.acomplete · ประเภทข้อผิดพลาดcore/llm/adaptersโมเดลเห็นเฉพาะเครื่องมือของ BoundToolPlan ที่ผูกกับขั้นนี้ ซึ่งเป็นสแนปช็อตที่เปลี่ยนแปลงไม่ได้ มีเจเนอเรชันและแฮชเนื้อหา
AgenticLoop · หกขั้น
core/agent/loopการไหลของข้อมูล: StepSnapshot · คำขอadapter.acomplete · ประเภทข้อผิดพลาดcore/llm/adaptersStepSnapshot ตรึงโมเดล เครื่องมือ และ correlation ID ของการเรียกครั้งนี้ มิดเดิลแวร์ LLM สลับ adapter ที่ผูกไว้ไม่ได้
adapter.acomplete · ประเภทข้อผิดพลาด
core/llm/adaptersการไหลของข้อมูล: HTTPSผู้ให้บริการ LLMadapter ของผู้ให้บริการแต่ละรายเป็นผู้เรียก ความล้มเหลวถูกจำแนกและลองใหม่ได้ภายในขีดจำกัดที่กำหนดเท่านั้น หรือจบเทิร์นด้วยเหตุผลการสิ้นสุด
adapter.acomplete · ประเภทข้อผิดพลาด
core/llm/adaptersการไหลของข้อมูล: การตอบกลับ · tool_useAgenticLoop · หกขั้นcore/agent/loopข้อความล้วนไปสู่การสิ้นสุด tool_use ไปสู่การประมวลผลเครื่องมือ
สิทธิ์เครื่องมือ → ผลกระทบ → ผลลัพธ์
ข้อเสนอ tool_use จะรันได้ก็ต่อเมื่อผ่านการตรวจทุกขั้น การปฏิเสธ ผลลัพธ์ และข้อผิดพลาด ล้วนกลับมาจาก executor และกลายเป็นอินพุตถัดไปของโมเดล
AgenticLoop · หกขั้น
core/agent/loopการไหลของข้อมูล: แบตช์ที่รอ · บันทึกรอบSQLite messages · state.jsonmemory/session_checkpoint.pyในเซสชันที่ตั้งค่า checkpoint ไว้ (มี checkpoint และ session id) แบตช์ที่ถูกเสนอจะถูกบันทึกก่อนเครื่องมือใดจะรัน และแบตช์จะไม่รันหากบันทึกไม่ได้ แบตช์ที่รันเสร็จจะถูกบันทึกอีกครั้ง ผู้เรียกที่ไม่มี checkpoint ไม่ได้รับการรับประกันนี้
AgenticLoop · หกขั้น
core/agent/loopการไหลของข้อมูล: บล็อก tool_useToolCallProcessortool_executor/processor.pyข้อเสนอของโมเดลไม่ใช่สิทธิ์ การเรียกแต่ละครั้งได้รับ ToolContext ที่มีตัวตนของโมเดลและ adapter ของลูป
ToolCallProcessor
tool_executor/processor.pyการไหลของข้อมูล: aexecuteขอบเขต · นโยบาย · สคีมาtool_executor/executor.pyตรวจขอบเขตเซสชัน การเขียนใหม่โดยมิดเดิลแวร์ของคำขอ นโยบาย และสคีมาตามลำดับ การเขียนใหม่ที่ลดระดับความปลอดภัยหรือประเภทข้อมูลส่วนบุคคลจะถูกปฏิเสธ
BoundToolPlan · เปลี่ยนแปลงไม่ได้
core/tools/plan.pyสิทธิ์ · การประกอบ: อนุญาต · ระดับความปลอดภัยขอบเขต · นโยบาย · สคีมาtool_executor/executor.pyhandler ที่รันได้และระดับความปลอดภัยมาจาก BoundToolPlan ที่ฉายให้เซสชัน
PreToolUse · PostToolUse
tool_executor/executor.pyสิทธิ์ · การประกอบ: PreToolUse · PostToolUseHookRegistry · การตัดสินcore/hookshook สาธารณะตัดสินว่าจะบล็อก เขียนอาร์กิวเมนต์ใหม่ หรือขอสิทธิ์ และหลังการเขียนใหม่จะตรวจขอบเขต นโยบาย และสคีมาอีกครั้ง หลังการรัน hook อาจเพิ่มบริบทหรือระงับผลลัพธ์
การอนุมัติ · HITL
tool_executor/executor.pyสิทธิ์ · การประกอบ: คำขออนุมัติผู้ใช้เทอร์มินัลในเซสชัน IPC คำขออนุมัติถูกส่งต่อไปยัง thin CLI โหมดที่ไม่มีคนใช้นโยบายปฏิเสธเป็นค่าเริ่มต้น ข้อยกเว้นเดียวคือ computer use ของ DAEMON เมื่อผู้ดูแลระบบเปิดใช้แยกต่างหาก (ไม่เช่นนั้นจะถูกบล็อก)
tool_executor/executor.pyการปฏิเสธก่อนรัน: ถูกปฏิเสธก่อนรันToolCallProcessor
tool_executor/processor.pyการปฏิเสธจากขอบเขต นโยบาย หรือสคีมา การบล็อกของ PreToolUse หรือการอนุมัติที่ถูกปฏิเสธ จะกลับมาเป็นผลลัพธ์ข้อผิดพลาดโดยไม่มี dispatch ในกรณีนั้นยังไม่มีผลกระทบใดของการเรียกนี้เริ่มขึ้น
effect receipt
tool_executor/executor.pyการไหลของข้อมูล: รับผลกระทบเข้า · ยืนยันEffectReceiptStorememory/effect_receipts.pyผลกระทบ เช่น การเปลี่ยนไฟล์ ข้อความขาออก หรือการดำเนินการด้านผู้ดูแล จะถูกรับเข้าก่อนรัน ผลลัพธ์ที่ไม่แน่นอนจะไม่ถูกรันซ้ำ แต่จะขอการกระทบยอด
ล็อกทรัพยากร · dispatch
tool_executor/executor.pyการไหลของข้อมูล: เรียก handlerhandler ของเครื่องมือ · bash · computercore/toolsส่งไปยัง handler ที่ผูกไว้หลังล็อกคีย์ทรัพยากร การเรียกที่ถูกยกเลิกเมื่อถึงเส้นตายอาจยังทำงานอยู่ภายนอก
ล็อกทรัพยากร · dispatch
tool_executor/executor.pyการไหลของข้อมูล: การเรียก MCPMCPServerManagercore/mcp/manager.pyเรียกเฉพาะเครื่องมือ MCP ที่ประกาศนโยบายทรัพยากรไว้
MCPServerManager
core/mcp/manager.pyการไหลของข้อมูล: tools/callเซิร์ฟเวอร์ MCPรายการเซิร์ฟเวอร์มาจากการตั้งค่าส่วนกลางและการตั้งค่าโปรเจกต์ที่ผ่านการตรวจความน่าเชื่อถือ ซึ่งการตรวจนี้ใช้กับรายการของโปรเจกต์เท่านั้น ตัวจัดการ MCP ใช้นโยบายส่วนขยายและทรัพยากรของตน
handler ของเครื่องมือ · bash · computer
core/toolsการไหลของข้อมูล: การเปลี่ยนไฟล์ · git · โปรเซสไฟล์ · git · โปรเซสการเปลี่ยนแปลงที่รันแล้วคงอยู่เป็นสถานะภายนอก checkpoint กู้คืนเฉพาะบทสนทนาและไม่ย้อนการเปลี่ยนแปลงเหล่านั้น
tool_executor/executor.pyการไหลของข้อมูล: ผลลัพธ์ · ข้อผิดพลาดหลัง dispatchToolCallProcessor
tool_executor/processor.pyหลัง dispatch ผลลัพธ์ปกติและข้อผิดพลาด (รวมถึงการหมดเวลาและผลลัพธ์ที่ไม่แน่นอน) กลับมาผ่าน PostToolUse ข้อผิดพลาดหรือการหมดเวลาไม่ได้หมายความว่างานภายนอกหยุดหรือถูกย้อนกลับ
ToolCallProcessor
tool_executor/processor.pyการไหลของข้อมูล: tool_resultข้อความ · ConversationContextcore/agent/loopผลลัพธ์ การปฏิเสธ และข้อผิดพลาด ล้วนถูกซีเรียลไลซ์เป็น tool_result และกลายเป็นข้อความในอินพุตถัดไปของโมเดล
ToolCallProcessor
tool_executor/processor.pyบันทึก · การสังเกต: การเรียก · การสังเกตผลลัพธ์SessionTimeline · append-onlyobservability/session_timeline.pyบันทึกการเรียกและผลลัพธ์ (ok หรือ error) ลงใน timeline รวมถึงการเรียกที่ถูกปฏิเสธก่อนรัน บันทึกนี้เป็นการสังเกต ไม่ได้พิสูจน์ว่าผลกระทบภายนอกเริ่มขึ้นหรือสำเร็จ
บันทึก · การกู้คืน · การเสร็จสิ้น
checkpoint, timeline และแถวหลักฐานถูกเขียนแยกกัน ไม่มีทรานแซกชันร่วม และ checkpoint กู้คืนเฉพาะบทสนทนา
AgenticLoop · หกขั้น
core/agent/loopการไหลของข้อมูล: แบตช์ที่รอ · บันทึกรอบSQLite messages · state.jsonmemory/session_checkpoint.pyในเซสชันที่ตั้งค่า checkpoint ไว้ (มี checkpoint และ session id) แบตช์ที่ถูกเสนอจะถูกบันทึกก่อนเครื่องมือใดจะรัน และแบตช์จะไม่รันหากบันทึกไม่ได้ แบตช์ที่รันเสร็จจะถูกบันทึกอีกครั้ง ผู้เรียกที่ไม่มี checkpoint ไม่ได้รับการรับประกันนี้
SQLite messages · state.json
memory/session_checkpoint.pyการไหลของข้อมูล: กู้คืนเพื่อทำต่อAgenticLoop · หกขั้นcore/agent/loopเส้นทางกู้คืนเส้นเดียวนำข้อความ สถานะการรู้คิด และตัวนับของ guard กลับมา TaskGraph ที่อยู่เฉพาะในโปรเซสไม่ถูกกู้คืน
AgenticLoop · หกขั้น
core/agent/loopบันทึก · การสังเกต: บันทึกเทิร์นSessionTimeline · append-onlyobservability/session_timeline.pyประวัติการรันแบบเพิ่มต่อท้ายอย่างเดียว ไม่ถูกเล่นซ้ำเป็นสถานะ
AgenticLoop · หกขั้น
core/agent/loopสิทธิ์ · การประกอบ: การตรวจความเสร็จverify_turn_asynccore/agent/verify.pyข้อเสนอให้หยุดของโมเดลจะกลายเป็นความเสร็จได้ก็ต่อเมื่อผ่าน Verify
verify_turn_async
core/agent/verify.pyสิทธิ์ · การประกอบ: PostVerify · StopHookRegistry · การตัดสินcore/hooksการตัดสินของ hook สาธารณะบอกว่าจะทำต่อเพื่อแก้ไขหรือไม่ และการแก้ไขเกิดขึ้นได้ภายในงบที่กำหนดเท่านั้น (ค่าเริ่มต้นสองครั้ง)
AgenticLoop · หกขั้น
core/agent/loopบันทึก · การสังเกต: แถวหลักฐาน · best-effortEvidenceLedger · JSONLagent/evidence_ledger.pyแถววินิจฉัยที่ปิดบังข้อมูลแล้ว แฮชใช้เพื่อเชื่อมโยงความสัมพันธ์ แถวไม่ได้พิสูจน์ว่าผลกระทบเกิดขึ้น และไม่ได้เขียนในทรานแซกชันเดียวกับ timeline หรือ checkpoint
AgenticLoop · หกขั้น
core/agent/loopบันทึก · การสังเกต: อีเวนต์การรู้คิด · วงจรชีวิตHookSystem · การสังเกตcore/hookshook การสังเกตรับและบันทึกอีเวนต์ แต่ไม่ได้ตัดสินการรัน
ทางเข้าอื่น
เมสเซนเจอร์เข้ามาเป็นเซสชัน DAEMON ของ serve daemon ส่วน run_agent ของโฮสต์ MCP ภายนอกเข้าสู่ลูปรันครั้งเดียวแบบ headless ที่สร้างแยกต่างหาก
ช่องเมสเซนเจอร์การไหลของข้อมูล: ข้อความในช่องpoller ของเมสเซนเจอร์
core/serverpoller ของ serve daemon จัดการเฉพาะข้อความจากช่องที่ผูกไว้
poller ของเมสเซนเจอร์
core/serverสิทธิ์ · การประกอบ: create_session(DAEMON)SharedServices.create_sessionsupervised/services.pyโหมดที่ไม่มีคนอนุมัติ: ใช้นโยบายปฏิเสธเริ่มต้นและงบเวลา มีเพียง computer use ที่ผู้ดูแลระบบเปิดใช้แยกได้ หากไม่เปิดก็ยังถูกบล็อก
poller ของเมสเซนเจอร์
core/serverการไหลของข้อมูล: arun(message)AgenticLoop · หกขั้นcore/agent/loopเธรดหนึ่งใช้ session id คงที่เพียงค่าเดียวและต่อสายโซ่ checkpoint เดียว
โฮสต์ MCP ภายนอกการไหลของข้อมูล: run_agent(prompt)run_agent · รันครั้งเดียว
core/mcp_server.pyโฮสต์ MCP ภายนอกเรียก GEODE ในฐานะเครื่องมือ
run_agent · รันครั้งเดียว
core/mcp_server.pyการไหลของข้อมูล: ลูปรันครั้งเดียวแบบ headlessAgenticLoop · หกขั้นcore/agent/loopexecutor และลูปแบบ headless ที่สร้างแยกต่างหากโดยข้าม SharedServices รายการปฏิเสธเริ่มต้นใช้ตามเดิม เครื่องมือเช่น run_bash, delegate_task และ computer จึงถูกนำออก ข้อยกเว้น computer use ของ DAEMON ไม่มีในที่นี้
ทุกการเชื่อมต่อมีน้ำหนักเท่ากัน เลือกโฟลว์เพื่อไฮไลต์เฉพาะเส้นทางของโฟลว์นั้นพร้อมขั้นตอนที่มีหมายเลข
- เส้นทึบ · ทิศทางที่คำขอ ข้อความ และผลลัพธ์เครื่องมือไหลไป
- เส้นประ · การประกอบเซสชัน สิทธิ์ หรือคำตัดสิน ไม่ใช่เส้นทางข้อมูล
- เส้นยาวสลับจุด · บันทึกและการสังเกต ไม่ถูกเล่นซ้ำเป็นสถานะ
- เส้นประสั้น · การปฏิเสธก่อนรัน ไม่มีผลกระทบ
- เส้นดำหนา · โฟลว์ที่เลือก ตัวเลขบอกลำดับ
- กล่อง · ขอบเขตที่เป็นเจ้าของโค้ด พร้อมพาธซอร์สในส่วนหัว
- ชิปด้านใน · องค์ประกอบภายในขอบเขตนั้น
- กล่องเส้นประ · อยู่นอกโปรเซสรันไทม์
- เส้นขอบสีส้ม · จุดที่โมเดลตัดสินใจ
- ลูปการรัน
- สิทธิ์ · คำตัดสิน
- ที่เก็บบันทึก
- ทางเข้า · การเชื่อมต่อ · การรัน
วาดเฉพาะการเชื่อมต่อที่ยืนยันการเรียกแล้ว facade ห้าชั้นของ ContextAssembler, TaskGraph และการทดลองวิจัยเช่น Jev, SIL และ Crucible ไม่อยู่บนเส้นทางรันไทม์นี้ การยกเลิกแบบอะซิงโครนัสไม่ได้หยุดงานซิงโครนัสที่เริ่มไปแล้ว หรือย้อนผลกระทบที่เกิดขึ้นแล้ว
โมเดลที่รองรับ · ตามผู้ให้บริการ
ตัวเลือกในแคตตาล็อกของโค้ดและค่าเริ่มต้นที่มากับตัวโปรแกรม ไม่ใช่รายการที่ทุกโมเดลผ่านการเรียก API จริง สายโซ่ fallback ที่ตั้งค่าว่างเป็นค่าเริ่มต้น และ ID ที่ระบุแน่นอนจะไม่ถูกอัปเกรดเป็นเวอร์ชันใหม่โดยอัตโนมัติ
Anthropic
API
- หลักClaude Opus 5.5
claude-opus-5-5ค่าเริ่มต้น - รองClaude Sonnet 5
claude-sonnet-5ค่าเริ่มต้น - ประหยัดClaude Haiku 4.5
claude-haiku-4-5-20251001ค่าเริ่มต้น
แสดง ID ในแคตตาล็อกทั้ง 12 รายการ
API
claude-fable-5-1claude-opus-5-5ค่าเริ่มต้นclaude-opus-5claude-sonnet-5ค่าเริ่มต้นclaude-haiku-4-5-20251001ค่าเริ่มต้นclaude-fable-5claude-opus-4-8claude-opus-4-7claude-opus-4-6claude-opus-4-5claude-sonnet-4-6claude-sonnet-4-5-20250929
โค้ดปฏิเสธเส้นทาง OAuth แบบสมาชิก
- หลักClaude Opus 5.5
OpenAI
API · สมาชิก Codex
- ค่าเริ่มต้นของ API และ CodexGPT-6 Sol
gpt-6-solค่าเริ่มต้น
แสดง ID ในแคตตาล็อกทั้ง 11 รายการ
API · สมาชิก Codex
gpt-6-astragpt-6-solค่าเริ่มต้นgpt-6-lunagpt-5.6-solgpt-5.6-terragpt-5.6-luna
API เท่านั้น
gpt-5.5gpt-5.3-codexgpt-5.4gpt-5.4-minigpt-5.4-nano
เส้นทางเข้าถึงสองทางสู่ผู้ให้บริการรายเดียว แคตตาล็อกกำหนดว่าแต่ละโมเดลใช้เส้นทางใดได้
- ค่าเริ่มต้นของ API และ CodexGPT-6 Sol
Z.ai / GLM
PAYG
- ค่าเริ่มต้นGLM-5.3
glm-5.3ค่าเริ่มต้น
แสดง ID ในแคตตาล็อกทั้ง 9 รายการ
PAYG
glm-5.3ค่าเริ่มต้นglm-5.3-flashglm-5.3-flashxglm-5.2glm-5.1glm-5glm-4.7glm-4.7-flashxglm-4.7-flash
โค้ดไม่รับเส้นทาง GLM Coding Plan
- ค่าเริ่มต้นGLM-5.3
OpenRouter
บริการเราต์ติ้ง
- ตัวเลือกโมเดลFree (smoke)
openrouter/openrouter/freeเราเตอร์ - ตัวเลือกโมเดลAuto (variable)
openrouter/openrouter/autoเราเตอร์
การเลือกของเราเตอร์ ไม่ใช่โมเดลตายตัวตัวเดียว ID ที่กำหนดเองอย่างชัดแจ้งก็เก็บไว้ได้
- ตัวเลือกโมเดลFree (smoke)
TypeSafe / Jev
สำหรับการตัดสินเท่านั้น · แยกจากการสร้างข้อความ
- โดยตรง
jev-1.13.0ใช้ตัดสินใจเท่านั้น - ผ่าน OpenRouter
typesafe/jev-1.13ใช้ตัดสินใจเท่านั้น
adapter ทางเลือกที่ทำหน้าที่ตัดสินเท่านั้น ไม่ใช่โมเดลสร้างข้อความหลัก เอนจินการตัดสินเริ่มต้นคือ llm และต้องเลือก Jev เอง การตั้งค่าของงานวิจัย Jev เป็นไปตามบันทึกในมุมมอง Jev
- โดยตรง
แหล่งที่มาGEODE main 373d420คอมมิตสาธารณะ October 7, 2026 · ตรวจเมื่อ October 8, 2026
การทดลอง
โมเดลและเส้นทางตามที่บันทึกไว้ในตอนนั้น ไม่ใช่ค่าเริ่มต้นปัจจุบันหรือรายการความเข้ากันได้ที่สมบูรณ์
รายงานเบนช์มาร์ก GEODE
July 31, 2026
- GEODEGPT-5.6 Sol
gpt-5.6-solสมาชิก OpenAI · high
- GEODEGPT-5.6 Sol
Terminal-Bench 2.1 · ข้อกำหนดแบบจับคู่ Harbor 0.22.0
August 27, 2026
- GEODE · native CodexGPT-5.6 Sol
gpt-5.6-solสมาชิก · max
ข้อกำหนดที่ตรึงไว้ ไม่ใช่ทุกการทดลองที่วางแผนไว้จะกลายเป็นผลลัพธ์ที่ใช้ได้
- GEODE · native CodexGPT-5.6 Sol
การรัน SIL ที่เก็บถาวร run-2606-broken-tool-use
- scaffold เป้าหมายGPT-5.5
gpt-5.5openai-codex - ผู้ตรวจสอบ · ผู้ตัดสินClaude Opus 4.8
claude-opus-4-8PAYG
บันทึกของบทบาทที่แยกกัน ไม่ใช่ค่าเริ่มต้นสองค่าที่สลับกันได้
- scaffold เป้าหมายGPT-5.5