GEODE
Autonomous Agent Harness
จากการสังเกตสู่การกระทำถัดไป
ฮาร์เนสเอเจนต์อัตโนมัติที่รันบนเครื่อง ซึ่งรับงานวิจัย งานไฟล์ และงานตามกำหนดเวลาได้ โมเดลเลือกการกระทำถัดไป ส่วนรันไทม์ตรวจสิทธิ์การใช้เครื่องมือและตัดสินว่างานเสร็จเมื่อใด
ซีนาริโอการออดิตถูกสร้างผ่านเฟสที่มีลำดับตายตัว
โฮสต์เป็นเจ้าของลำดับเฟส และเอเจนต์ตามบทบาทในแต่ละเฟสแบ่งงานกัน คลังซีดที่ได้และรูบริกที่เลือกจะเป็นอินพุตของการออดิตพฤติกรรม Petri
การเขียนซีนาริโอ
ออร์เคสเตรเตอร์เป็นเจ้าของลำดับเฟส เอเจนต์ตามบทบาทร่างและคัดกรองแคนดิเดต และผลลัพธ์ถูกส่งออกผ่านสัญญาไฟล์
ลำดับเฟส · PipelineState
seed_generation/orchestrator.pyรัน · ตัดสิน: รันเฟสตามลำดับagents/ · ร่างออร์เคสเตรเตอร์เป็นเจ้าของลำดับเฟสและการรวมสถานะ เอเจนต์ตามบทบาทของแต่ละเฟสเป็นผู้ทำงาน ภายในเฟสหนึ่ง งานกระจายออกได้ผ่าน SubAgentManager และซับเอเจนต์ไม่เรียกซ้อนลงไปอีก (depth 1)
ค่าเฉลี่ยรายมิติ · หลักฐาน
baseline snapshotข้อมูล: หลักฐาน baselineagents/ · ร่างGenerator, Critic และ Evolver อ่านค่าเฉลี่ยรายมิติ ค่าคลาดเคลื่อนมาตรฐาน และหลักฐานของ baseline ที่เลือก เจเนอเรชันแรกไม่มี baseline จึงใช้พรอมต์เริ่มต้น
latest_pointer.json · priors
handoff pointerข้อมูล: meta-review ก่อนหน้าagents/ · ร่างmeta-review ของการรันก่อนหน้าทิ้ง priors สำหรับเจเนอเรชันถัดไปและมิติที่ยังครอบคลุมไม่พอ ไว้ให้เจเนอเรชันนี้พิจารณา
agents/ · ร่างข้อมูล: ซีดแคนดิเดตagents/ · รีวิว
แคนดิเดตของ Generator ผ่านการตัดรายการซ้ำของ Proximity รีวิวของ Critic, Pilot (ไม่บังคับ ข้ามในการรัน smoke) และการจัดอันดับ Elo ของ Ranker ตามลำดับ
agents/ · รีวิวข้อมูล: survivors · Eloagents/ · ปรับปรุง
Evolver ปรับปรุงแคนดิเดตที่อันดับสูงสุด และ Meta-reviewer สรุปการรันเป็น priors สำหรับเจเนอเรชันถัดไป
Meta-reviewer · priors ถัดไป
agents/ · ปรับปรุงรัน · ตัดสิน: รอบถัดไป · เริ่มจาก CriticCritic · รีวิวagents/ · รีวิวเมื่อตั้ง max_iterations หลัง Meta-reviewer แคนดิเดตที่ปรับปรุงแล้วจะผ่าน Critic → Pilot → Ranker → Evolver → Meta-reviewer อีกครั้ง Supervisor, Generator และ Proximity ไม่รันซ้ำ ค่าเริ่มต้นคือศูนย์รอบ
agents/ · ปรับปรุงข้อมูล: ส่งออก survivorsrun_dir/
เนื้อหาแคนดิเดตที่รอดถูกคัดลอกเป็นไฟล์ลงใน survivors/ คะแนน Elo และ pilot ไปที่ survivors.json ส่วน meta-review และสถานะถูกเขียนแยกกัน
meta_review.json · state.json
run_dir/ข้อมูล: พอยน์เตอร์ latestlatest_pointer.json · priorshandoff pointerlatest_pointer.json ไฟล์เดียวบันทึกว่า seed_pool และ meta_review ของการรันนี้อยู่ที่ใด เอาต์พุตรายการรันเป็นแหล่งอ้างอิงหลัก พอยน์เตอร์เป็นตัวช่วยแบบ best-effort สำหรับการรันถัดไป และการเขียนที่ล้มเหลวจะถูกบันทึกลงล็อกเท่านั้น ไม่ใช่ทุกการรันจะมีทั้งสองฟิลด์
การรันออดิต
auditor แสดงตามซีด (คำสั่งซีนาริโอ) target คือสแคฟโฟลด์ GEODE และ judge ให้คะแนนบันทึกบทสนทนา ทั้งสามบทบาทเป็นตำแหน่งโมเดลที่แยกกัน
survivors/ · สำเนา .md ของแคนดิเดต
run_dir/ข้อมูล: --seed-selectgeode audit · /audit · เครื่องมือpetri/runner.pyการออดิตรับซีดที่เลือก (ไดเรกทอรี survivors ซีดที่รวมมา id หรือ tag) และส่งต่อให้งาน inspect_petri/audit ของ Inspect การสร้างซีดไม่ได้เริ่มการออดิตเอง
ซีดที่รวมมา · *.md
petri/seedsข้อมูล: ซีดที่รวมมาgeode audit · /audit · เครื่องมือpetri/runner.pyเลือกซีดที่รวมมากับรีโพซิทอรีได้ตามสภาพเดิม
geode audit · /audit · เครื่องมือ
petri/runner.pyรัน · ตัดสิน: บทบาทโมเดล · สามตำแหน่งโมเดล auditorโมเดล auditor, target และ judge ถูกกำหนดแยกกัน ค่าเริ่มต้นคือ dry run การเรียกจริงเกิดขึ้นหลังยืนยันการประมาณค่าใช้จ่ายแล้วเท่านั้น เมื่อทั้งสามบทบาทใช้ผู้ให้บริการเดียวกัน จะติดเครื่องหมายอคติจากผู้ให้บริการเดียวกัน
โมเดล auditorข้อมูล: บทสนทนาตามซีนาริโอของซีดGEODE เป็น target · AgenticLoop
petri/geode_target.pyซีดคือคำสั่งซีนาริโอสำหรับ auditor ซึ่งเป็นผู้นำบทสนทนา และสร้างเครื่องมือกับผลลัพธ์เครื่องมือได้เฉพาะเมื่อเปิด target_tools
GEODE เป็น target · AgenticLoop
petri/geode_target.pyข้อมูล: การเรียกโมเดลโมเดลฐานของ targetAgenticLoop ทั้งหมดของ GEODE (เครื่องมือ hook หน่วยความจำ) ถูกห่อเป็น API โมเดลเดียว target ที่ถูกออดิตจึงเป็นสแคฟโฟลด์ GEODE ไม่ใช่โมเดลฐานเพียงอย่างเดียว
GEODE เป็น target · AgenticLoop
petri/geode_target.pyข้อมูล: บันทึกบทสนทนาโมเดล judgejudge อ่านบันทึกบทสนทนาทั้งหมดของแต่ละตัวอย่างหนึ่งครั้งและให้คะแนนตามมิติ
judge_dimensions · YAML
petri/judge_dimsรัน · ตัดสิน: judge_dimensionsโมเดล judgeYAML มิติของ judge ที่เลือกกำหนดมิติการให้คะแนน นี่คือการออดิตพฤติกรรม ซึ่งเป็นการวัดที่ต่างจากการทำงานให้เสร็จ
โมเดล judgeข้อมูล: คะแนนรายมิติล็อก Inspect .eval
ล็อก Inspect .eval และสรุปถูกเก็บถาวร หากเก็บถาวรล้มเหลวจะมีบันทึกไว้ และไม่ขัดขวางผลการออดิต
การวัด → เจเนอเรชันถัดไป
SIL ใช้คะแนนการออดิตในคำตัดสิน และการวัดที่คงไว้จะเป็นหลักฐาน baseline สำหรับการสร้างซีดครั้งถัดไป นี่ไม่ได้หมายความว่าการเชื่อมโยงนี้ทำงานอัตโนมัติในทุกแคมเปญ
โมเดล judgeข้อมูล: คะแนนรายมิติล็อก Inspect .eval
ล็อก Inspect .eval และสรุปถูกเก็บถาวร หากเก็บถาวรล้มเหลวจะมีบันทึกไว้ และไม่ขัดขวางผลการออดิต
ล็อก Inspect .evalบันทึก · สังเกต: การวัดการวัด SIL · measure.py
measure.py ของ SIL รัน subprocess การออดิตและคำนวณ fitness จากผลลัพธ์
การวัด SIL · measure.pyข้อมูล: อัปเดต baselineค่าเฉลี่ยรายมิติ · หลักฐาน
baseline snapshotledger ของ SIL เขียนการวัดที่คงไว้เป็น baseline การสร้างซีดอ่านหลักฐานนั้นเมื่อมีการเลือก baseline (อัตโนมัติหรือระบุชัดแจ้ง)
ค่าเฉลี่ยรายมิติ · หลักฐาน
baseline snapshotข้อมูล: หลักฐาน baselineagents/ · ร่างGenerator, Critic และ Evolver อ่านค่าเฉลี่ยรายมิติ ค่าคลาดเคลื่อนมาตรฐาน และหลักฐานของ baseline ที่เลือก เจเนอเรชันแรกไม่มี baseline จึงใช้พรอมต์เริ่มต้น
ทุกการเชื่อมต่อมีน้ำหนักเท่ากัน เลือกโฟลว์เพื่อไฮไลต์เฉพาะเส้นทางของโฟลว์นั้นพร้อมขั้นตอนที่มีหมายเลข
- เส้นทึบ · ทิศทางที่คำขอ แคนดิเดต และผลลัพธ์ไหลไป
- เส้นประ · รัน ตัดสิน อนุญาต ตั้งค่า
- เส้นยาวสลับจุด · บันทึกและการสังเกต แยกจากคำตัดสิน
- เส้นดำหนา · โฟลว์ที่เลือก ตัวเลขบอกลำดับ
- กล่อง · ขอบเขตของโค้ดหรือบันทึก พร้อมพาธในส่วนหัว
- ชิปด้านใน · องค์ประกอบภายในขอบเขตนั้น
- กล่องเส้นประ · อยู่นอกขอบเขตนั้น
- ออร์เคสเตรเตอร์ · ทางเข้าการออดิต
- target การออดิต · มิติการให้คะแนน
- ผลงาน · ไฟล์สถานะ
- เอเจนต์ตามบทบาท · ซีดที่รวมมา
ออร์เคสเตรเตอร์ตรึงลำดับรอบแรกและลำดับการทำซ้ำ การตั้งค่า บทบาทที่ลงทะเบียน และจุดที่กลับมาทำต่อ อาจทำให้ข้ามบางเฟส และไม่ใช่ทุกแคมเปญที่รันทุกเฟส ตำแหน่งไฟล์สถานะขึ้นกับสภาพแวดล้อม จึงไม่แสดงพาธ
- สามบทบาท
- ซีดคือคำสั่งซีนาริโอที่คนเขียนหรือสร้างขึ้น auditor คือโมเดลที่แสดงตามคำสั่งนั้น target คือสแคฟโฟลด์ GEODE ที่ถูกออดิต และ judge คือโมเดลที่ให้คะแนนบันทึกบทสนทนา คะแนนและล็อกเป็นผลงานของ judge
- สิ่งที่วัด
- การออดิต Petri ให้คะแนนมิติด้านพฤติกรรม ไม่ใช่อัตราการทำงานสำเร็จหรือการรับประกันคุณภาพผลิตภัณฑ์