Geodi ตัวละครพิกเซลอย่างเป็นทางการของ GEODE
กลับไปที่ห้องจัดแสดง

GEODE

Autonomous Agent Harness

จากการสังเกตสู่การกระทำถัดไป

ฮาร์เนสเอเจนต์อัตโนมัติที่รันบนเครื่อง ซึ่งรับงานวิจัย งานไฟล์ และงานตามกำหนดเวลาได้ โมเดลเลือกการกระทำถัดไป ส่วนรันไทม์ตรวจสิทธิ์การใช้เครื่องมือและตัดสินว่างานเสร็จเมื่อใด

2026.02.21 — present

การออกแบบ การตัดสินใจ การตรวจยืนยัน: Author · การพัฒนา: Claude · รีวิว: Codex

  • CLIเผยแพร่แล้ว · PyPI
  • เซิร์ฟเวอร์ MCPพัฒนาแล้ว

Decision Offloading w. Jev

การตัดสินใจระหว่างทางข้อใดที่เอเจนต์ทำกลางงาน ซึ่งมอบให้ Jev โมเดลที่ทำหน้าที่ตัดสินเท่านั้นได้ งานวิจัยนี้ตรวจว่าคุณภาพงานที่ตรวจยืนยันอย่างอิสระยังคงอยู่หรือไม่เมื่อมอบไปแล้ว โดยนับรวมการเตรียม การตัดสินซ้ำ การซ่อม และการส่งมอบสุดท้าย ผลการทดลองนำร่องช่วงแรกอธิบายไม่ได้ด้วยการเปลี่ยนการเรียกตัดสินเพียงอย่างเดียว จึงแยกสัญญาอินพุต สัญญาการตัดสินใจ นโยบายความน่าจะเป็น และการใช้ผลของเอเจนต์ผู้รัน ออกเป็นการทดลองของแต่ละเรื่อง

แผนที่ Jev · รันไทม์จากคอมมิตที่ตรึงไว้ 9e2c041 งานวิจัยจากบันทึก September 2026
เส้นทางการตัดสินของ Jev: การผสานในรันไทม์และงานวิจัยส่วนบนคือเส้นทางการตัดสินแบบเลือกเปิดในรันไทม์ GEODE ปัจจุบัน เฉพาะเมื่อตั้ง judgment_engine เป็น jev การตรวจยืนยันสุดท้ายและ reflection จึงเรียก Jev บน TypeSafe SystemOne หนึ่งครั้ง และใช้คำตอบหลังผ่านการรับเข้าด้านชนิด ช่วงค่า และผลรวมความน่าจะเป็นแล้วเท่านั้น การตรวจยืนยันสุดท้ายผ่านได้เฉพาะ supported และผลลัพธ์ไปสู่นโยบาย PostVerify และ Stop ของบทการตัดสินว่าเสร็จ ส่วนล่างคืองานวิจัย Jev v3 นอกรันไทม์: แผงสถานะตายตัว (U3) เปรียบเทียบการตัดสินของ Astra กับ Jev การรัน E/I บน Harbor 0.22 เปลี่ยนเฉพาะเส้นทางการตัดสินและตรวจผลลัพธ์กับการส่งมอบแยกกันด้วย rule oracle อิสระ และชุดเผยแพร่สาธารณะแยกแฮชต้นทางกับแฮชสาธารณะ และให้การคำนวณใหม่แบบไม่ใช้โมเดลTypeSafe SystemOnejev-1.13.0 · การตัดสินเท่านั้นผู้ตัดสิน Astra · โมเดล actorgpt-6-astra/xhigh · สมาชิกรายงานวิจัย Jevรายงานทางเทคนิคสาธารณะcore/config/judgment.pyjudgment_engine · llm | jevauto → typesafe · openrouterloop/_lifecycle.pyนโยบาย PostVerify · Stopcore/agent/verify.pyคำตัดสินสุดท้าย · คำถาม Choice หนึ่งข้อผ่านเฉพาะ supported · ข้อความเท่านั้นadapters/typesafe.pySystemOne · เรียกครั้งเดียว · ไม่มี fallbackการรับเข้า · ค่าคลาดเคลื่อนผลรวม 1e-5loop/_reflection.pyreflection · การจำแนกหลักฐานmemory · observabilitytimeline · แถวการตัดสินใน ledgerU3 · แผงสถานะตายตัว120 คู่ · 27 แหล่ง · ไม่มี actorAstra · Jev · คำถามเดียวกันE/I · Harbor 0.22Astra actor · เครื่องมือ · การซ่อมเส้นทางผู้ตัดสิน · Astra · Jev · Jev-firstrule oracleความถูกต้อง · การส่งมอบ แยกกันjev-v3-20260927E2E-DATA · แฮชต้นทาง · สาธารณะREPRODUCE · model-freeรันไทม์ GEODE · 9e2c041การตัดสินแบบเลือกเปิด · ค่าเริ่มต้น llmงานวิจัย Jev v3 · Sept 2026นอกรันไทม์ · ฮาร์เนสแยก1เลือกเส้นทาง2 คำขอ · แคนดิเดต · การสังเกต · คำตัดสินสุดท้าย · คำถาม Choice หนึ่งข้อ → SystemOne · เรียกครั้งเดียว · ไม่มี fallback23 SystemOne หนึ่งครั้ง · SystemOne · เรียกครั้งเดียว · ไม่มี fallback → TypeSafe SystemOne34 Choice ที่ผ่านการรับเข้า · การรับเข้า · ค่าคลาดเคลื่อนผลรวม 1e-5 → ผ่านเฉพาะ supported · ข้อความเท่านั้น45passed · reflection6แถวคำตัดสิน1ตัวเลือกเดียวกัน2จำแนกหลักฐาน3 SystemOne หนึ่งครั้ง · SystemOne · เรียกครั้งเดียว · ไม่มี fallback → TypeSafe SystemOne34 การจำแนก · การรับเข้า · ค่าคลาดเคลื่อนผลรวม 1e-5 → reflection · การจำแนกหลักฐาน41การตัดสินของ Jev2การตัดสินของ Astra3ผลของแผง · รายงาน1สร้าง · เครื่องมือ · ซ่อม2เส้นทางการตัดสินความเสร็จ3 การตรวจอิสระ · E/I · Harbor 0.22 → ความถูกต้อง · การส่งมอบ แยกกัน34ความล้มเหลว · สายการซ่อม5การคำนวณใหม่แบบไม่ใช้โมเดล

รันไทม์ · คำตัดสินสุดท้าย

เมื่อเลือก Jev การตรวจยืนยันสุดท้ายเรียก Jev หนึ่งครั้งด้วยคำถาม Choice หนึ่งข้อ และผ่านได้เฉพาะคำตัดสิน supported ที่ผ่านการรับเข้า

  1. judgment_engine · llm | jevcore/config/judgment.pyรัน · ตัดสิน: เลือกเส้นทางคำตัดสินสุดท้าย · คำถาม Choice หนึ่งข้อcore/agent/verify.py

    เส้นทาง Jev ใช้เฉพาะเมื่อตั้ง judgment_engine เป็น jev (ค่าเริ่มต้น llm) provider auto เลือก TypeSafe ก่อน แล้วจึง OpenRouter ตามที่มีคีย์ หากไม่มีคีย์ เส้นทาง LLM judge ยังคงอยู่ นี่ไม่ใช่ fallback ที่ลองคำขอที่ล้มเหลวใหม่ที่อื่น

  2. คำตัดสินสุดท้าย · คำถาม Choice หนึ่งข้อcore/agent/verify.pyข้อมูล: คำขอ · แคนดิเดต · การสังเกตSystemOne · เรียกครั้งเดียว · ไม่มี fallbackadapters/typesafe.py

    คำขอต้นฉบับและแคนดิเดตถูกปิดบังข้อมูลและจำกัดความยาว แล้วส่งพร้อมการสังเกตจากเครื่องมือเป็นคำถาม Choice หนึ่งข้อ (supported, contradicted, insufficient_evidence) การเรียกตัดสินไม่ได้รับเครื่องมือ (allow_tools=False) การตัดสินที่ต้องใช้ภาพจะไม่ถูกส่งไปยัง Jev และกลายเป็น verification_error

  3. SystemOne · เรียกครั้งเดียว · ไม่มี fallbackadapters/typesafe.pyข้อมูล: SystemOne หนึ่งครั้งTypeSafe SystemOne

    เรียกหนึ่งครั้ง ตรงไปยัง TypeSafe หรือผ่าน OpenRouter โดยไม่ข้ามไปยังผู้ให้บริการอื่น Jev ไม่เคยถูกใช้เป็นโมเดลสร้างข้อความหลัก

  4. การรับเข้า · ค่าคลาดเคลื่อนผลรวม 1e-5adapters/typesafe.pyข้อมูล: Choice ที่ผ่านการรับเข้าผ่านเฉพาะ supported · ข้อความเท่านั้นcore/agent/verify.py

    คำตอบถูกใช้หลังผ่านการรับเข้าด้านชนิด ช่วงค่า และผลรวมความน่าจะเป็น (ค่าคลาดเคลื่อน 1e-5) เท่านั้น ผ่านได้เฉพาะ supported ส่วน contradicted และ insufficient_evidence กลายเป็นสัญญาณให้ลองใหม่พร้อมการตรวจครั้งถัดไปที่กำหนดไว้ คำตอบที่ไม่ใช่ end_turn หรือไม่ผ่านการรับเข้าจะกลายเป็น verification_error ซึ่งไม่ใช่สัญญาณให้ลองใหม่ (should_retry=False) คะแนนเป็นการฉายแบบทวิภาค ไม่ใช่ความน่าจะเป็นที่ปรับเทียบแล้ว

  5. ผ่านเฉพาะ supported · ข้อความเท่านั้นcore/agent/verify.pyข้อมูล: passed · reflectionนโยบาย PostVerify · Stoploop/_lifecycle.py

    คำตัดสินไปสู่นโยบาย PostVerify และ Stop ของบทการตัดสินว่าเสร็จ คำตัดสินเป็นอินพุตของนโยบายนั้น ไม่ใช่อำนาจ เมื่อรอรีวิว แคนดิเดตจะอยู่เป็น pending_text เท่านั้น และคำตอบสุดท้ายว่างเปล่า จึงไม่มีสิ่งใดถูกส่งมอบ

  6. นโยบาย PostVerify · Stoploop/_lifecycle.pyบันทึก · สังเกต: แถวคำตัดสินtimeline · แถวการตัดสินใน ledgermemory · observability

    การตัดสินถูกบันทึกใน timeline และ evidence ledger: เป็นบันทึกของรันไทม์ แยกจากอาร์ติแฟกต์ของงานวิจัย

รันไทม์ · reflection

ตัวเลือกเดียวกันขับการจำแนกหลักฐานของ reflection ส่วนประโยคการตรวจครั้งถัดไปกำหนดโดยโค้ด

  1. judgment_engine · llm | jevcore/config/judgment.pyรัน · ตัดสิน: ตัวเลือกเดียวกันreflection · การจำแนกหลักฐานloop/_reflection.py

    ตัวเลือกเดียวกันใช้กับ reflection ด้วย

  2. reflection · การจำแนกหลักฐานloop/_reflection.pyข้อมูล: จำแนกหลักฐานSystemOne · เรียกครั้งเดียว · ไม่มี fallbackadapters/typesafe.py

    reflection ใช้ Jev จำแนกหลักฐานที่จำกัดขอบเขตแล้ว และต่อท้ายด้วยการตรวจครั้งถัดไปที่โค้ดกำหนด ไม่ได้เปลี่ยนสมมติฐานความเชื่อหรือความมั่นใจในตนเอง

  3. SystemOne · เรียกครั้งเดียว · ไม่มี fallbackadapters/typesafe.pyข้อมูล: SystemOne หนึ่งครั้งTypeSafe SystemOne

    เรียกหนึ่งครั้ง ตรงไปยัง TypeSafe หรือผ่าน OpenRouter โดยไม่ข้ามไปยังผู้ให้บริการอื่น Jev ไม่เคยถูกใช้เป็นโมเดลสร้างข้อความหลัก

  4. การรับเข้า · ค่าคลาดเคลื่อนผลรวม 1e-5adapters/typesafe.pyข้อมูล: การจำแนกreflection · การจำแนกหลักฐานloop/_reflection.py

    เฉพาะการจำแนกที่ผ่านการรับเข้าเท่านั้นที่อัปเดตสถานะ reflection หากล้มเหลว รอบถัดไปจะลองใหม่จากสถานะเดิมก่อนหน้า

งานวิจัย · แผงตายตัว U3

โดยไม่มี actor การตัดสินของ Jev และ Astra บนสถานะและคำถามเดียวกันถูกเปรียบเทียบเป็นคู่

  1. Astra · Jev · คำถามเดียวกันU3 · แผงสถานะตายตัวข้อมูล: การตัดสินของ JevTypeSafe SystemOne

    U3 (คอมมิตการทดลองต้นฉบับ 2f2b494): 120 สถานะตายตัว · 27 กลุ่มแหล่ง · การเรียก 240 ครั้ง แต่ละสถานะและคำถามถูกส่งไปยัง Jev และ Astra เป็นคู่เดียวกัน ไม่มี actor เครื่องมือ หรือ Harbor

  2. Astra · Jev · คำถามเดียวกันU3 · แผงสถานะตายตัวข้อมูล: การตัดสินของ Astraผู้ตัดสิน Astra · โมเดล actor

    ถูกต้องบนตัวอย่างเดียวกัน: Astra 90/120, Jev 84/120 ค่ามัธยฐานต่อการเรียก 10.446 s เทียบกับ 0.253 s นี่คือเวลาแฝงของการเรียกตัดสินเท่านั้น ไม่ใช่เวลางานหรือการประหยัดต้นทุน

  3. U3 · แผงสถานะตายตัวข้อมูล: ผลของแผง · รายงานรายงานวิจัย Jev

    ผลความแม่นยำและเวลาแฝงของ U3 ปรากฏในรายงานทางเทคนิคสาธารณะ ที่นี่ไม่ได้อ้างว่าแผงนี้เป็นส่วนหนึ่งของชุดเผยแพร่สาธารณะ E2E หรือไม่

งานวิจัย · การรัน E/I

โดยมี Astra เป็น actor เปลี่ยนเฉพาะเส้นทางการตัดสิน และ rule oracle อิสระตรวจผลลัพธ์กับการส่งมอบแยกกัน

  1. Astra actor · เครื่องมือ · การซ่อมE/I · Harbor 0.22ข้อมูล: สร้าง · เครื่องมือ · ซ่อมผู้ตัดสิน Astra · โมเดล actor

    ใน E/I บน Harbor 0.22 actor Astra ดูแลการสร้าง การเรียกเครื่องมือ และการซ่อม เปลี่ยนเฉพาะเส้นทางการตัดสิน

  2. เส้นทางผู้ตัดสิน · Astra · Jev · Jev-firstE/I · Harbor 0.22ข้อมูล: เส้นทางการตัดสินความเสร็จTypeSafe SystemOne

    E7 (คอมมิตการทดลองต้นฉบับ 1f65534): งานสังเคราะห์ที่เขียนเอง 12 งาน × 3 การตั้งค่า × 2 การรัน = 72 การรัน ได้ 24/24 ต่อการตั้งค่า การตั้งค่า Jev-first มี fallback จริง 0/24 ผลของมันจึงไม่ได้ถูกวัด

  3. E/I · Harbor 0.22บันทึก · สังเกต: การตรวจอิสระความถูกต้อง · การส่งมอบ แยกกันrule oracle

    rule oracle อิสระตรวจผลลัพธ์สุดท้าย และนับการส่งมอบสุดท้ายจริงแยกกัน ใน 11 คู่ที่วิเคราะห์ภายหลังของ U8n ที่หยุดกลางคัน ทุกแคนดิเดตผ่าน oracle แต่การส่งมอบคือ Astra 11/11 และ Jev Noul 0/11

  4. E/I · Harbor 0.22ข้อมูล: ความล้มเหลว · สายการซ่อมE2E-DATA · แฮชต้นทาง · สาธารณะjev-v3-20260927

    ชุดเผยแพร่สาธารณะ E2E เก็บสายการเตรียม ความล้มเหลว และการซ่อม โดยแยกแฮชต้นทางกับแฮชฉบับสาธารณะ ฉบับสาธารณะที่ปิดบังข้อมูลไม่ได้ใช้แทนการตรวจยืนยันต้นทางที่ไม่ถูกแก้ไข

  5. REPRODUCE · model-freejev-v3-20260927ข้อมูล: การคำนวณใหม่แบบไม่ใช้โมเดลรายงานวิจัย Jev

    การคำนวณตัวเลขใหม่จากคำตอบที่เก็บไว้กับการรันใหม่เป็นคนละการดำเนินการ รายงานนี้เป็นรายงานทางเทคนิคสาธารณะ ไม่ใช่บทความที่ผ่านการพิจารณาโดยผู้ทรงคุณวุฒิ

ทุกการเชื่อมต่อมีน้ำหนักเท่ากัน เลือกโฟลว์เพื่อไฮไลต์เฉพาะเส้นทางของโฟลว์นั้นพร้อมขั้นตอนที่มีหมายเลข

  • เส้นทึบ · ทิศทางที่คำขอ แคนดิเดต และผลลัพธ์ไหลไป
  • เส้นประ · รัน ตัดสิน อนุญาต ตั้งค่า
  • เส้นยาวสลับจุด · บันทึกและการสังเกต แยกจากคำตัดสิน
  • เส้นดำหนา · โฟลว์ที่เลือก ตัวเลขบอกลำดับ
  • กล่อง · ขอบเขตของโค้ดหรือบันทึก พร้อมพาธในส่วนหัว
  • ชิปด้านใน · องค์ประกอบภายในขอบเขตนั้น
  • กล่องเส้นประ · อยู่นอกขอบเขตนั้น
  • ลูป · ฮาร์เนสการรัน
  • การเลือกเส้นทาง · คำตัดสิน · oracle
  • บันทึก · ชุดเผยแพร่สาธารณะ
  • การส่ง · แผงการตัดสิน

ส่วนบนและส่วนล่างเป็นระบบที่ต่างกัน การตั้งค่าและผลของงานวิจัยไม่ได้เปิดใช้ทั้งหมดในเส้นทางรันไทม์ปัจจุบัน สิ่งเดียวที่เชื่อมกันคือทั้งคู่เรียกโมเดล Jev ตัวเดียวกัน (jev-1.13.0)

การรับเข้าของรันไทม์
รันไทม์ตรึงค่าคลาดเคลื่อนผลรวมความน่าจะเป็นไว้เข้มงวดที่ 1e-5 ผู้เรียกฝั่งการประเมินส่งค่าคลาดเคลื่อนที่บันทึกไว้ของตนเอง แทนการผ่อนปรน parser ของรันไทม์
ขอบเขตของงานวิจัย
U3 วัดเฉพาะการเรียกตัดสิน E/I รวม actor และการซ่อม ตัวหารของทั้งสองไม่เคยถูกปะปนกัน และ 11 คู่ของ U8n เป็นการวิเคราะห์ภายหลังของการศึกษาที่หยุดกลางคัน

สัญญาการตัดสินใจสามแบบ

Choice

คืนค่า
ความน่าจะเป็นต่อหมวดหมู่หรือตัวเลือก
ตัดสิน
ความเสร็จ เจตนาและเป้าหมายของคำขอ

Noul

คืนค่า
P(true) สำหรับแต่ละเงื่อนไข
ตัดสิน
ความขัดแย้ง หลักฐานไม่เพียงพอ

Score

คืนค่า
ค่าคาดหมายและการแจกแจงบนสเกลลำดับที่ตายตัว
ตัดสิน
อันดับของแคนดิเดตที่สร้างขึ้น

ค่าคาดหมายระบุตำแหน่งของแคนดิเดตบนสเกล ไม่ได้ใช้เป็นความมั่นใจ

การประเมินและการเชื่อมต่อ

แต่ละสัญญาถูกประเมินบนแผงอินพุตตายตัวของตัวเอง และบางสัญญาถูกเชื่อมเข้ากับเส้นทางการรันของฮาร์เนสการทดลอง เพื่อดูว่าเอเจนต์ผู้รันใช้ผลการตัดสินอย่างไร ในแผนที่ด้านบน ส่วนงานวิจัยแสดงการรันเหล่านั้น ส่วนรันไทม์คือเส้นทางแบบเลือกเปิดใน GEODE ปัจจุบัน

ข้อสังเกตที่เปลี่ยนการออกแบบ

  1. I5 → I6 · สัญญาอินพุต
    1. การไล่หาความล้มเหลวในการส่งมอบที่เกิดร่วมกันพบว่าอินพุตการตัดสินขาดสัญญาของงาน และอธิบายการสังเกตจากเครื่องมือในคำขอเดียวกันราวกับเป็นบริบทในอดีต
    2. I6 ส่งมอบได้ 6/6 ในการรันแยกด้วยโค้ดที่แก้ไขแล้วและบัญชีใหม่
  2. U3 · สถานะ 120 คู่ชุดเดียวกัน
    1. ค่ามัธยฐานต่อการเรียก Astra 10.446 s · Jev 0.253 s ถูกต้องบนตัวอย่างเดียวกัน 90/120 · 84/120
    2. ชั่งความเร็วและความแม่นยำร่วมกันสำหรับแต่ละการตัดสินใจ เพื่อกำหนดขอบเขตการมอบหมาย
  3. U2 · ความน่าจะเป็น
    1. ความน่าจะเป็นของ Jev ปรับเทียบขนาดได้ดีกว่า แต่ Astra จัดอันดับการตัดสินที่ผิดของตนขึ้นมาก่อนได้แม่นยำกว่า
    2. การปรับเทียบและการคัดแยกข้อผิดพลาดวัดแยกกัน และเกณฑ์ถูกตรึงบนส่วน selection
  4. U6a · เจตนาและเป้าหมาย
    1. บน 40 family ที่ผู้ออกแบบเขียน Jev 216/220 · Astra 220/220 ผ่านมาร์จิน −5 pp ที่ลงทะเบียนล่วงหน้า
    2. การจำแนกเจตนาและเป้าหมายแบบตายตัวถูกจำกัดให้เป็นแคนดิเดตการนำไปใช้ถัดไป
  5. U8n · การส่งมอบ
    1. 11 คู่ที่วิเคราะห์ภายหลังจากการรันที่หยุดกลางคัน: แคนดิเดตที่ซ่อมแล้วผ่าน oracle ทั้งสอง arm การส่งมอบ Astra 11/11 · Jev Noul 0/11
    2. การตัดสินว่าหลักฐานไม่เพียงพอขัดขวางการส่งมอบที่ถูกต้อง การตั้งค่า Noul ปัจจุบันยังไม่มีเหตุผลพอที่จะเป็นผู้ตัดสินการส่งมอบเพียงผู้เดียว