ร่วมเขียนโดย @VaishShrivas
เราสอนให้ CLI agents ทำนายผลลัพธ์จาก terminal ระหว่าง Reinforcement Learning (RL) ควบคู่ไปกับการใช้ loss แบบ GRPO ปกติบน actions การเปลี่ยนแปลงนั้นเล็กน้อยมาก: ใช้ rollout และ forward pass เดิม แต่เลิก masking tokens ที่เป็น output จาก terminal ผลลัพธ์ที่ได้นั้นยิ่งใหญ่: การประเมินทุกตัวดีขึ้น และโมเดลที่ได้จะเรียนรู้พฤติกรรมของ terminal ได้อย่าง measurable
CLI agents สามารถเรียนรู้โมเดลของ terminal ได้ฟรี — และใช้มันเพื่อการกระทำที่ดีขึ้น!
นี่คือ ECHO: เป้าหมายแบบ Hybrid ที่เทรนทั้งสองฝั่งของการโต้ตอบ: สิ่งที่ agent เขียน และสิ่งที่ terminal ตอบกลับ
อ่าน paper ฉบับเต็มได้ และ โค้ด ที่สร้างจาก SkyRL
ถ้าคุณยุ่งเกินไปที่จะอ่านทั้งโพสต์ นี่คือสิ่งที่เราค้นพบ:
- Agent RL มาตรฐานทิ้งการตอบสนองของสภาพแวดล้อมไป GRPO เทรนบน action tokens และ mask การตอบสนองของ terminal ออก ทั้งที่ tokens เหล่านั้นอยู่ใน context อยู่แล้ว ผ่าน model อยู่แล้ว และเป็นสัญญาณความจริงพื้นฐานว่าการกระทำของ agent ส่งผลต่อสภาพแวดล้อมอย่างไร
- ECHO แก้ไขปัญหานี้ด้วยการเทรนทั้งสองฝั่งของการโต้ตอบ โดยยังคง loss แบบ GRPO ปกติบน action tokens และเพิ่ม environment cross-entropy loss ง่ายๆ บน terminal-output tokens ซึ่งเป็นโค้ดไม่กี่บรรทัดที่เพิ่มบน GRPO trainer ใดๆ ก็ได้ ใช้ rollout และ forward pass เดิม แค่เปลี่ยน mask บน logits เท่านั้น
- ECHO ได้ผล และฟรี! ECHO ปรับปรุง Qwen3-8B, OpenThinker-Agent-v1-SFT, และ Qwen3-14B ในทุก benchmark ที่เราทดสอบ ECHO ยังเทรนได้เร็วขึ้นถึง 2.3 เท่าเพื่อให้ได้ประสิทธิภาพเท่าเดิม TerminalBench-2.0 pass@1 เกือบจะเพิ่มเป็นสองเท่าทั้งที่ 8B (2.7 → 5.2) และ 14B (5.2 → 10.8)
- ECHO สอนพลวัตของ terminal! บน trajectories ที่ไม่เคยเห็น Cross-entropy ของ environment tokens ลดลงอย่างมากด้วย ECHO และแทบไม่ขยับด้วย GRPO ธรรมดา นี่คือหลักฐานโดยตรงว่า ECHO สอนโมเดลว่า terminal จริงๆ ตอบสนองอย่างไร checkpoints เดียวกันที่ทำนาย output ของ terminal ได้ดีกว่าก็แก้โจทย์ได้มากขึ้นด้วย
- ECHO สามารถแทนที่ผู้เชี่ยวชาญ (expert teacher) จาก Qwen3-8B พื้นฐานที่ไม่มี demonstration จากผู้เชี่ยวชาญ ECHO เกือบจะเทียบเท่าประสิทธิภาพของ GRPO หลังจาก SFT บน demonstration จากผู้เชี่ยวชาญ
- ECHO ช่วยให้ agents พัฒนาตนเองได้โดยไม่ต้องใช้รางวัลจาก verifier! โดยไม่มีรางวัลจาก verifier ใดๆ เลย ECHO (โดยไม่มี GRPO) ช่วยให้ agent พัฒนาต่อไปได้ เพียงแค่ลงมือทำในสภาพแวดล้อมและทำนายสิ่งที่เกิดขึ้น
ทุกอย่างเริ่มต้นจากคำถามง่ายๆ: ถ้าทุกคำสั่งสร้างการตอบสนองจาก terminal แล้วทำไม RL ถึงเทรนแค่ที่คำสั่ง?
Vaish เป็นคนทำทุกอย่างเพื่อหาคำตอบ ฉันมีส่วนแค่การทดลอง maze เล็กๆ ที่ดูโง่ๆ*, ความคิดเห็นหนักแน่นเกี่ยวกับชื่อเรื่อง, และการพูดว่า "โอ้พระเจ้า" ตอนที่เธอโชว์ผลลัพธ์แรกให้ฉันดู ขอบคุณ Ahmed Awadallah ที่ให้พื้นที่ — และ GPU — เพื่อไล่ตามไอเดียแบบนี้ แม้ว่ามันจะเริ่มต้นจากแค่ความอยากรู้ทางวิจัยก็ตาม
น่าสังเกต: การรันคลัสเตอร์ครั้งแรกของ ECHO เปิดตัวเมื่อวันที่ 29 มีนาคม 😊
งานนี้ทำที่ AI Frontiers ห้องปฏิบัติการวิจัยบูติกภายใน Microsoft Research
คุณเรียนรู้อย่างต่อเนื่องได้อย่างไร?
ครั้งแรกที่ไอเดียนี้ปรากฏขึ้น มันมาจากคำถามง่ายๆ เกี่ยวกับการพัฒนาตนเองและการเรียนรู้อย่างต่อเนื่อง Agent จะดีขึ้นได้อย่างไรเพียงแค่จากการลงมือทำในโลก?
Vaish และฉันคุยกันมาตั้งแต่ฤดูใบไม้ร่วงปีที่แล้วเกี่ยวกับการพัฒนาตนเองใน CLI agents นั่นคือ มันจะหมายถึงอะไรถ้าจะดีขึ้นจากการโต้ตอบกับสภาพแวดล้อม (หรือที่เรียกว่า terminal) โดยเฉพาะอย่างยิ่งโดยไม่มี verifier
RL ที่ไม่มี verifier เป็นปัญหาที่ผู้คนทำงานกันมาหลายปี และความพยายามส่วนใหญ่ประสบปัญหาเดียวกัน: การกำกับดูแล (supervision) มาจากไหน ถ้าไม่มีรางวัล?
ในช่วงเวลาเดียวกัน โพสต์ Twitter เล็กๆ ของฉันนำไปสู่การโทรคุยกับ @willccbb เกี่ยวกับการเรียนรู้อย่างต่อเนื่องอีกครั้ง ระหว่างการสนทนานี้ ฉันจำได้ว่าพูดอะไรที่ดูโง่ๆ แบบนี้:
บางทีการเรียนรู้อย่างต่อเนื่องก็คือการเทรนบนสิ่งที่สภาพแวดล้อมตอบกลับมาให้คุณ จากการกระทำของคุณ

นั่นน่าจะสอนอะไรบางอย่างให้โมเดลได้ ใช่ไหม?
ปรากฎว่า ใช่!
โลกคือฟังก์ชัน loss!
เมื่อ agent กระทำในสภาพแวดล้อม การตอบสนองของสภาพแวดล้อมต่อการกระทำนั้นเป็นจริงเสมอ
ตัวอย่างจากโลกทางกายภาพ: ถ้าคุณเปิดสวิตช์ไฟ ไฟจะสว่าง หรือไม่ก็ไม่สว่าง ถ้ามันไม่สว่าง นั่นก็เป็นการตอบสนองที่ถูกต้อง: มันบอกคุณบางอย่างเกี่ยวกับหลอดไฟ สายไฟ หรือเบรกเกอร์ ฯลฯ ไม่ว่าจะอย่างไรก็ตาม สิ่งที่กลับมาคือข้อมูลชิ้นเล็กๆ ว่าโลกเปลี่ยนแปลงไปอย่างไรเนื่องจากการกระทำของคุณ คุณไม่ได้เห็นกลไกทั้งหมดของไฟฟ้า สวิตช์ และหลอดไฟ แต่คุณเห็นผลลัพธ์ ไฟติดหรือไม่? และนั่นก็เพียงพอสำหรับคุณที่จะเริ่มสร้างแบบจำลองทางความคิดว่าการเปิดสวิตช์ทำให้ไฟสว่างได้อย่างไร
terminal ทำงานในลักษณะเดียวกัน
output หลังจากคำสั่ง bash คือการสรุปสั้นๆ ว่าสถานะของคอมพิวเตอร์/คอนเทนเนอร์เปลี่ยนไปอย่างไรหลังจากรันคำสั่ง คุณจะเห็น stdout, stderr, exit codes, รายการไฟล์ ฯลฯ คุณไม่เห็นสถานะเคอร์เนล หรือ process tree หรืออะไรที่ละเอียดมาก

สิ่งที่คุณเห็นกลับมาคือการฉายภาพมิติต่ำ (low-dimensional projection) ของสิ่งที่เกิดขึ้นในเบื้องหลัง ซึ่งเป็นสิ่งที่ CLI agent จะใช้เพื่อเลือกการกระทำถัดไปเพื่อไปสู่งานที่ต้องการทำให้สำเร็จ และเช่นเดียวกับสวิตช์ไฟ นั่นคือสัญญาณที่เพียงพอที่จะสร้างแบบจำลองทางความคิด — หรือจะเรียกว่า world model ก็ได้ — ว่า ระบบทำงานอย่างไร
ส่วนที่ดีที่สุดคือ output ของ terminal ซึ่งเป็นการสะท้อนว่าสถานะของระบบเปลี่ยนไปอย่างไร เป็นสัญญาณสำหรับการกำกับดูแล ที่ถูกคำนวณให้คุณ ในทุกๆ เทิร์น ฟรี!
เจ๋งมาก!
ปัญหาคือ Agent RL มาตรฐาน (เช่น GRPO ใน SkyRL) ผลักดัน gradients เฉพาะผ่าน action tokens และละเลย terminal output tokens ทั้งที่ output ของ terminal อยู่ใน context อยู่แล้ว โมเดลสนใจมัน forward pass คำนวณ logits สำหรับมัน แต่ trainer กลับ mask มันออกจาก loss
เป็นการสิ้นเปลือง tokens ที่ดีเหลือเกิน 😊
แล้วถ้าเราไม่ทำล่ะ?
โมเดลถูกปรับสภาพ (conditioned) บน tokens เหล่านั้นอยู่แล้ว มันสร้างการกระจายความน่าจะเป็นเหนือ tokens เหล่านั้นแล้ว การเพิ่ม cross-entropy loss แทบจะไม่มีต้นทุนเลย
และถ้าเราทำ... โมเดลจะมีเหตุผลที่จะเรียนรู้ว่า terminal จริงๆ ทำงานอย่างไร และด้วยเหตุนี้จึงสามารถสร้างแบบจำลองโดยนัยของระบบที่มันกำลังกระทำอยู่ภายในตัวมันเอง ในการที่จะทำนายว่า ls จะคืนค่าอะไร โมเดลต้องติดตามว่าไฟล์ไหนที่มันเพิ่งสร้าง อะไรอยู่ที่ไหน ฯลฯ
ดังที่ Ilya กล่าวไว้:
การทำนาย token ถัดไปได้ดีหมายความว่าคุณเข้าใจความเป็นจริงเบื้องหลังที่นำไปสู่การสร้าง token นั้น
ในบริบทของเรา นั่นหมายถึง: agent ที่เก่งในการทำนาย output ของ terminal ได้สร้างแบบจำลองโดยนัยของ terminal ขึ้นมา ในความหมายที่เล็กแต่เป็นจริง
แล้วเราจะทำให้ agent ทำนาย output ของ terminal ได้อย่างไร?
ECHO: เรียนรู้โมเดลของโลกโดยไม่ต้องจ่าย
การ rollout ของ terminal agent จะสลับระหว่าง token สองสาย: action tokens ของ agent และ observation tokens ของสภาพแวดล้อม GRPO มาตรฐานใช้ loss เฉพาะกับ action tokens
นี่เป็นการสิ้นเปลืองเป็นพิเศษ เพราะรางวัลจาก terminal หายาก ล่าช้า และเป็น binary (ใช่/ไม่ใช่) ในการตั้งค่า Qwen3-8B ของเรา สำหรับหลายๆ งาน มีน้อยกว่า 15% ของ on-policy rollouts ที่สำเร็จ แต่ trajectories ที่ล้มเหลวก็ไม่ใช่ข้อมูลที่ไร้ค่า พวกมันยังคงมีรายการไฟล์ ข้อผิดพลาด logs stack traces grep outputs และผลสืบเนื่องอื่นๆ ของคำสั่งของ agent
วิธีการของเราเป็นวิธีที่ง่ายที่สุดอย่างน่าอายในการเรียนรู้จากผลสืบเนื่องเหล่านั้น 😊
เราเพิ่ม length-normalized cross-entropy loss บน environment-observation tokens ควบคู่ไปกับ GRPO loss มาตรฐานบน action tokens ECHO คือเป้าหมายแบบ Hybrid:
โดยที่ Actions คือตำแหน่งการกระทำของ agent และ Observations คือตำแหน่ง output ของ terminal
รายละเอียดทางเทคนิคเล็กน้อย:
- ECHO เรียนรู้แบบ on-policy แทนที่จะเทรนบนชุด terminal transcripts ที่คงที่จาก base model หรือ teacher ECHO เรียนรู้จากการตอบสนองของ terminal ที่สร้างโดยโมเดลปัจจุบันระหว่าง RL เมื่อ agent ดีขึ้น มันจะสำรวจส่วนใหม่ของสภาพแวดล้อมและได้รับการกำกับดูแลใหม่จาก transitions การกระทำ → การสังเกตการณ์ใหม่ นโยบายที่ดีกว่าทำให้เกิด feedback ที่ดีขึ้น การทำนาย feedback ที่ดีขึ้นทำให้นโยบายมี action priors ที่ดีขึ้น เป็นวงจร! สนุกไหม?
- ในเป้าหมายร่วมกัน λ มีความสำคัญ ถ้ามันน้อยเกินไป environment loss จะไม่ส่งผลต่อโมเดลมากนัก ถ้ามากเกินไป นโยบายอาจปรับให้เหมาะกับ outputs ที่คาดเดาได้แทนที่จะเป็นความก้าวหน้าของงาน ต้องหาสมดุลให้ดี!
- target tokens มีความสำคัญ เราฝึกบน output จริงของ terminal ไม่ใช่คำเตือนจาก harness คำเตือนนั้นจำง่าย สัญญาณที่มีประโยชน์คือการตอบสนองจริงของ terminal — ชื่อไฟล์ stack traces และข้อความแสดงข้อผิดพลาด
แล้วต้นทุนนี้เท่าไหร่?
ผู้อ่านที่ช่างสังเกตอาจถามว่า:
backward pass จะแพงขึ้นไหม ถ้าคุณ back-propagate gradients ไปยังตำแหน่ง token มากขึ้น?
แทบจะไม่เลย ส่วนที่แพงของ backprop คือ matmuls ผ่าน attention และ MLP layers และพวกมันทำงานบนลำดับ token เดียวกัน ไม่ว่าตำแหน่ง output ไหนจะส่งผลต่อ loss logits ทุกตำแหน่ง response ถูกคำนวณสำหรับ GRPO อยู่แล้ว action mask และ observation mask แค่รวบรวม subsets ที่แตกต่างกันสำหรับ loss terms ที่แตกต่างกัน
หยุดตรงนี้สักครู่: เราเพิ่ม world modeling loss และต้นทุนคือศูนย์! ไม่ต้องมี rollout เพิ่ม, teacher model, และไม่มี forward pass เพิ่ม
ECHO ช่วยเทรน CLI Agent ที่ดีขึ้นหรือไม่?
เราเปรียบเทียบที่สะอาดที่สุดเท่าที่เป็นไปได้บนงาน terminal แบบหลายเทิร์น: โมเดลเดียวกัน, สูตร GRPO เดียวกัน, งานเดียวกัน, งบประมาณ rollout และ turn เท่ากัน, จำนวนขั้นตอนการเทรนเท่ากัน รางวัล = 1 ถ้า agent ผ่าน test cases หลังจาก n turns, 0 ถ้าล้มเหลว
ความแตกต่างเพียงอย่างเดียวคือว่า terminal-output tokens จะถูกรวมใน loss ด้วยหรือไม่
เส้นโค้งสีชมพูคือ ECHO และสีเขียวอมฟ้าคือ GRPO ข้ามขนาดโมเดลและชิ้นส่วนการประเมิน คำตอบก็เหมือนกัน: การเพิ่มการทำนายสภาพแวดล้อมทำให้ agent ดีขึ้นอย่างมาก

ECHO ปรับปรุงประสิทธิภาพอย่างสม่ำเสมอในชุด validation ที่แยกออกมาทั้งสามชุด — เส้นโค้งสีชมพูแยกจากสีเขียวอมฟ้าตั้งแต่เนิ่นๆ และโดยทั่วไปจะอยู่เหนือกว่า
ECHO ยังเรียนรู้ได้เร็วกว่าอย่างมาก: ECHO จับคู่ประสิทธิภาพ 500 ขั้นตอนของ GRPO บน Terminal-Bench Lite โดยเร็วกว่า 280 ขั้นตอน! ความเร็วเพิ่มขึ้น 2.3 เท่าและยังคงเพิ่มขึ้นเรื่อยๆ 😊
ผลลัพธ์เหล่านี้สนับสนุนสัญชาตญาณของเราเบื้องหลัง ECHO GRPO ฝึกด้วยรางวัลผลลัพธ์แบบ binary ที่稀疏 (sparse) และล่าช้า สำหรับโดเมนที่ยากอย่างงาน terminal ซึ่งอัตราการผ่าน (pass-rate) ต่ำสำหรับโมเดลขนาดเล็ก นั่นหมายถึงสัญญาณน้อยมากหรือไม่มีเลยสำหรับหลายๆ งาน
ECHO ทำให้การฝึกมีประสิทธิภาพในตัวอย่าง (sample efficient) มากขึ้นโดยเปลี่ยนการกระทำที่ล้มเหลวให้เป็นการกำกับดูแล แม้ว่าการกระทำจะไม่สามารถแก้ไขงานได้ การตอบสนองของ terminal ก็ยังสอนโมเดลว่าการกระทำนั้นก่อให้เกิดอะไร! และการทำนายผลที่ตามมาจากการกระทำที่ล้มเหลวสามารถช่วยให้ agent เลือกการกระทำที่ดีกว่าได้
ถ้าคุณอยากเห็นตัวเลขในการประเมินต่างๆ เรื่องเดียวกันในรูปแบบตาราง:

ดูแถวสุดท้ายในแต่ละบล็อก: ECHO TerminalBench-2.0 pass@1 เกือบเพิ่มเป็นสองเท่าที่สเกล 8B (2.7 → 5.2) และ 14B (5.2 → 10.8) และที่สำคัญ สิ่งนี้ไม่ได้มาจากข้อมูลเพิ่มเติม rollouts, teacher model, หรือ verifier ที่แตกต่างกัน rollout มีการตอบสนองของ terminal อยู่แล้ว ECHO แค่เรียนรู้จากมัน
"ประสิทธิภาพเกือบเพิ่มเป็นสองเท่าโดยไม่มีค่าใช้จ่ายเพิ่มเติม" เป็นประโยคที่คุณแทบจะไม่ได้อ่านตลอดอาชีพนักวิจัยของคุณ 😊
ECHO เอาชนะประสิทธิภาพของ GRPO ได้อย่างมากในทุก benchmarks และขนาดโมเดล มีประสิทธิภาพในตัวอย่างมากกว่า และแทบไม่มีต้นทุนเลย คุณเรียนรู้ world model ในขณะที่นโยบายของคุณดีขึ้น ซึ่งช่วยให้มันดีขึ้นเร็วขึ้น
แต่คนขี้สงสัยอาจแย้งว่า: คุณเรียนรู้ world model จริงๆ หรือ?
มาดูกัน!
ECHO เรียนรู้พลวัตของ terminal จริงหรือ?
เราจะขอพูดอย่างระมัดระวังเล็กน้อยที่นี่ เพราะกลุ่มคนที่คลั่งไคล้ world modeling อาจจะค่อนข้างรุนแรง
เราจะไม่กล่าวอ้างว่า ECHO เรียนรู้ world model ในความหมายที่แรงที่สุด แต่เราจะกล่าวว่า ECHO เทรนนโยบายที่ hidden states ได้ดูดซับบางอย่างเกี่ยวกับพฤติกรรมของ terminal และความสามารถในการทำนายว่า terminal จะทำอะไรนั้นดีขึ้นอย่าง measurable
ถ้าคุณย้อนกลับคำพูดของ Ilya คุณจะได้เวอร์ชันที่พิสูจน์ได้จริงมากกว่า สำหรับบริบทของเรา มันจะเป็นประมาณนี้:
ถ้าโมเดลเรียนรู้พลวัตของ terminal ได้ มันต้องเก่งในการทำนาย output ของ terminal
เพราะไม่มีทางอื่นที่จะกำหนดความน่าจะเป็นสูงให้กับ tokens ที่ถูกต้องอย่างสม่ำเสมอ โมเดลที่เป็นตัวทำนายที่ดีกว่า ในเชิงทฤษฎีสารสนเทศ (information-theoretic terms) คือตัวบีบอัดระบบที่มันทำนายได้ดีกว่า
ดังนั้น คำถามจึงกลายเป็นเชิงประจักษ์: ECHO ทำให้โมเดลเป็นตัวทำนาย output ของ terminal ได้ดีขึ้นจริงหรือ?
ใช่ ดีขึ้นมาก
เพื่อให้การทดสอบนี้สะอาด เราใช้ teacher model ที่แข็งแกร่งกว่า Qwen 3 32B (ไม่ได้ใช้ในการเทรนของเราเลย) เพื่อสร้าง trajectories สำหรับชุด validation แต่ละชุดของเรา จากนั้นเราประเมินนโยบายเริ่มต้น นโยบายที่เทรนด้วย GRPO และนโยบายที่เทรนด้วย ECHO และวัดว่าแต่ละโมเดล "ประหลาดใจ" กับ terminal-output tokens ที่เกิดขึ้นมากแค่ไหน
รูปแบบเดียวกันในทุกแผนภาพ: GRPO แทบจะไม่เปลี่ยน environment-token cross-entropy เมื่อเทียบกับนโยบายเริ่มต้น ECHO ทำให้มันลดลงอย่างมาก

ดังนั้นเราจะไม่พูดว่า World model ด้วย W ใหญ่ แต่เราจะพูดว่า:
ECHO ผลิตนโยบายที่สามารถบีบอัดพลวัตของ terminal ได้ดีกว่า measured บน trajectories ที่มันไม่ได้สร้างขึ้น
ซึ่งเป็นเวอร์ชันที่ใช้งานได้จริงของข้อกล่าวอ้างในชื่อเรื่อง และเป็นเวอร์ชันที่สามารถป้องกันได้อย่างเต็มที่
การค้นพบที่น่าประหลาดใจที่ 1: ECHO ลดการพึ่งพา expert SFT
สูตรทั่วไปสำหรับ agent RL คือ: まず behavior-clone (โคลนนิ่งพฤติกรรม) trajectories จากโมเดลที่แข็งแกร่งกว่า จากนั้นจึงรัน RL โดยเฉพาะอย่างยิ่งสำหรับ terminal agents ซึ่งรางวัลหายากและพื้นที่การกระทำใหญ่มาก
ในการตั้งค่าของเรา baseline expert-SFT คือ OpenThoughts-Agent-v1-SFT (OT-SFT): Qwen3-8B ที่ fine-tuned บน terminal-agent demonstrations ที่สร้างโดย teacher GLM-4.6 ที่แข็งแกร่งกว่า
ดังนั้นเราจึงถามว่า: ECHO สามารถกู้คืนประโยชน์ของ expert-SFT ได้มากแค่ไหนโดยไม่ต้อง behavior-clone teacher?
ECHO สามารถให้คุณข้าม expert SFT ได้หรือไม่? ในการตั้งค่าของเรา ส่วนใหญ่แล้วใช่!

รูปนี้เปรียบเทียบการรันสามแบบ: GRPO ธรรมดาบน base model, ECHO บน base model, และ GRPO บนโมเดลที่ SFT แล้ว (SFT + GRPO) เมื่อเทียบกับช่องว่างระหว่าง GRPO และ SFT+GRPO (เช่น ผลประโยชน์ที่ได้จากการเริ่มจาก SFT) ECHO กู้คืน 104% ของผลประโยชน์บน ITD, 89% บน Terminal Bench Lite (TBLite), และ 50% บน TerminalBench-2.0 (TB2) pass@1
ผลลัพธ์ชี้ให้เห็นว่าส่วนใหญ่ของคุณค่าของ expert SFT อาจมาจากการสอนโมเดลให้มี interaction prior ไม่ใช่แค่ expert strategy prior การสาธิตจากผู้เชี่ยวชาญแสดงทั้งวิธีปฏิบัติตัวเหมือน terminal agent (ตรวจสอบไฟล์, รัน tests, ตาม tracebacks, ฯลฯ) และสิ่งที่ผู้เชี่ยวชาญจะทำในสถานะเฉพาะ ECHO ไม่ได้เลียนแบบตัวเลือกของผู้เชี่ยวชาญเหล่านั้น แต่จะเทรนโมเดลให้ทำนายผลที่ตามมาใน terminal จากการกระทำของมันเอง ดังนั้นมันจึงเรียนรู้ว่าคำสั่งไหนเปิดเผยสถานะที่มีประโยชน์ ข้อผิดพลาดไหนที่ใช้ในการวินิจฉัย และ token output ไหนของ terminal ที่ส่งสัญญาณความคืบหน้า กลยุทธ์ที่ดีกว่าสามารถเกิดขึ้นได้จากการโต้ตอบมากกว่าการเลียนแบบ
สิ่งนี้ยังช่วยตีความความแตกต่างของ benchmark บน ITD และ TBLite ECHO เกือบจะเทียบเท่า expert SFT ซึ่งชี้ให้เห็นว่าข้อได้เปรียบของ SFT ส่วนใหญ่อยู่ที่โมเดลที่ดีกว่าของการโต้ตอบกับ terminal บน TB2 ECHO ยังคงกู้คืนช่องว่างได้ถึง 50% โดยไม่ต้องมี demonstrations ช่องว่างที่เหลือสอดคล้องกับ TB2 ที่ยากกว่าและมีการกระจายที่ห่างไกลจากชุดฝึกมากกว่า
เราจะไม่ถือว่านี่คือเพดานตายตัว: การฝึกที่กว้างขึ้นหรือนานขึ้นบนงานที่คล้าย TB2 ควรจะปรับปรุง agent ให้ดียิ่งขึ้น
ดังนั้น ข้อสรุปไม่ใช่ expert SFT ล้าสมัย แต่เป็นว่าส่วนใหญ่ของสิ่งที่ expert SFT ซื้อมา อาจเป็นโมเดลที่ดีกว่าของการโต้ตอบกับ terminal และส่วนนั้นสามารถเรียนรู้ได้โดยตรงจากสภาพแวดล้อม
บรรทัดล่าง: terminal คือครู!
การค้นพบที่น่าประหลาดใจที่ 2: ประกายแห่งการพัฒนาตนเองโดยไม่มีรางวัล
จนถึงตอนนี้ ECHO คือ GRPO ที่มี auxiliary environment loss verifier ยังคงบอก agent ว่ามันแก้ไขงานได้หรือไม่ และ GRPO อัปเดตโมเดลบน action tokens ดังนั้นจึงเป็น RL มาตรฐาน โดยมีเทอมพิเศษเล็กน้อย
แต่ถ้า ECHO กำลังสอนนโยบายเกี่ยวกับพฤติกรรมของ terminal อย่างแท้จริง บางทีเราอาจไม่ต้องการสัญญาณจาก verifier เลยก็ได้
เราถามว่า: จะเกิดอะไรขึ้นถ้าเราปิด verifier? ไม่มีรางวัลให้เรียนรู้ มีแค่นี้:
นั่นคือ โมเดลลงมือกระทำ สังเกตการณ์ อัปเดตโดยการทำนาย outputs ของ terminal เท่านั้น อันเป็นผลจากการกระทำของมันเอง
ฟังดูเหมือนมันไม่ควรจะปรับปรุงประสิทธิภาพของงาน ไม่มีป้ายกำกับว่าการกระทำไหนดี ถ้านโยบายดีขึ้น มันต้องเป็นเพราะการเรียนรู้ที่จะทำนาย terminal ได้เปลี่ยนแปลง action priors ของนโยบายโดยอ้อม
เราก็เลยลอง!
เราเอา checkpoint Qwen3-8B+ECHO ที่แข็งแกร่งที่สุดของเรา ลบเทอม GRPO ทิ้งทั้งหมด และฝึกต่ออีก 100 ขั้นตอนบนงานที่แยกออกมา (held-out) โดยใช้เฉพาะ environment cross-entropy loss คำถามคือ โมเดลสามารถปรับปรุงบนงาน OOD ที่มันไม่เคยเห็นมาก่อนได้หรือไม่ โดยการโต้ตอบกับสภาพแวดล้อมและทำนายสิ่งที่ตอบกลับมา
ไอเดียบ้าๆ นี้ได้ผลหรือไม่? ได้ผลนิดหน่อย!

บน val100 (in-distribution): +3.8 จุดเปอร์เซ็นต์ บน ITD: +5.2 จุดเปอร์เซ็นต์ บน PyTerm (ชุด OOD ที่แยกออกมาซึ่งเป็นงาน terminal ที่ใช้ Python หนัก): +10.0 จุดเปอร์เซ็นต์หลังจากกรองให้เหลือเฉพาะ trajectories ที่ใช้ tool-call ที่สะอาด
การฝึกด้วย env-only สามารถปรับปรุงนโยบายได้เมื่อ output ของ terminal เป็นการกำกับดูแลที่มีประโยชน์ โดยไม่มีสัญญาณรางวัล โมเดลจะฝึกเพื่อทำนาย outputs ที่เกิดจากการกระทำของมันเองเท่านั้น ดังนั้นผลประโยชน์จึงขึ้นอยู่กับว่า outputs เหล่านั้นเปิดเผยพลวัตที่มีประโยชน์หรือไม่
บน val100 ซึ่งใกล้เคียงกับชุดฝึก ผลประโยชน์มีอยู่จริงแต่เล็กน้อย: +3.8 จุดเปอร์เซ็นต์ก่อนถึงจุดอิ่มตัว นโยบายได้เรียนรู้พลวัตในท้องถิ่นส่วนใหญ่แล้วระหว่างการฝึก ECHO
บน ITD นโยบายเริ่มต้นที่อ่อนแอกว่าจะสร้าง trajectories ที่มีสัญญาณรบกวน — คำสั่งที่ไม่ถูกต้อง, parse errors, ลูปที่ไร้ทางออก การกรองให้เหลือเฉพาะ rollouts ที่สะอาดจะช่วยลดสัญญาณรบกวนและให้ +5.2 จุดเปอร์เซ็นต์
อย่างไรก็ตาม Trajectories ที่สะอาดเพียงอย่างเดียวยังไม่พอ การกรองแบบเดียวกันไม่ได้ปรับปรุง TBLite อย่างสม่ำเสมอ ในขณะที่ PyTerm เริ่มต้นจากอัตราการผ่านที่ใกล้เคียงกันแต่ดีขึ้นภายใต้สูตรเดียวกัน — ซึ่งชี้ให้เห็นว่าอุปสรรคไม่ได้อยู่ที่ความแข็งแกร่งของนโยบายเพียงอย่างเดียว ความแตกต่างสำคัญคือข้อมูลที่ได้จากการสังเกตการณ์นั้นมีข้อมูลมากแค่ไหน: งาน Python ให้ feedback ที่เชื่อมโยงกับการกระทำอย่างหนาแน่น — โค้ด → traceback → แก้ไข — ในขณะที่งาน terminal ทั่วไปเปิดเผยสถานะทางอ้อมมากกว่าผ่านไฟล์ คอนฟิก และการตั้งค่าหลายขั้นตอน
เราเชื่อว่าการปรับตัวโดยไม่มี verifier (verifier-free adaptation) เป็นไปได้: เมื่อ RL สร้างโมเดลที่สำรวจได้ดีพอแล้ว agent สามารถปรับปรุงต่อไปได้จากผลที่ตามมาเพียงอย่างเดียว — แต่เฉพาะเมื่อ rollouts ของมันสะอาดและ feedback จาก terminal มีข้อมูล นั่นคือส่วนที่น่าประหลาดใจ ไม่ใช่ที่ agent พัฒนาตนเองได้อย่างสมบูรณ์แบบ แต่ที่มันพัฒนาตนเองได้เลย จากแค่การลงมือทำและทำนายสิ่งที่ตอบกลับมา
สิ่งนี้ทำให้เราอยู่ที่ไหน
บทเรียนหลักของ ECHO นั้นง่าย: agent rollouts มีการกำกับดูแลมากกว่าแค่รางวัลสุดท้าย และเราควรใช้มัน
ทุกคำสั่งที่ agent รันจะสร้างการตอบสนองจาก terminal — stdout, errors, traces, ไฟล์, logs ฯลฯ — และ RL มาตรฐานใช้ tokens เหล่านั้นเป็นเพียงบริบทสำหรับการกระทำถัดไป ECHO เปลี่ยนพวกมันให้เป็นเป้าหมายการฝึก ไม่ต้องมี teacher model, rollouts เพิ่ม, หรือ world model แยกต่างหาก เราแค่หยุดทิ้ง environment tokens ที่อยู่ใน transcript อยู่แล้ว
การเปลี่ยนแปลงเล็กๆ น้อยๆ นั้นนำไปสู่ผลลัพธ์ที่น่าประหลาดใจสามประการ: ประสิทธิภาพ RL ที่แข็งแกร่งขึ้น, การพึ่งพา expert SFT น้อยลงมาก, และในบางสถานการณ์ การพัฒนาตนเองโดยไม่มี verifier จากการโต้ตอบกับสภาพแวดล้อมเพียงอย่างเดียว เราไม่คิดว่าสิ่งนี้หมายความว่ารางวัลหรือการสาธิตนั้นล้าสมัย Trajectories จากผู้เชี่ยวชาญยังคงสอนกลยุทธ์ และ verifiers ยังคงให้สัญญาณระดับงานที่สะอาดที่สุด แต่ ECHO ชี้ให้เห็นว่าระหว่าง "เลียนแบบผู้เชี่ยวชาญ" และ "รอรางวัลที่稀疏" มีแหล่งการกำกับดูแลที่หนาแน่นและถูกใช้น้อยเกินไป: ผลที่ตามมาจากการกระทำของ agent เอง
แนวคิดที่กว้างขึ้นคือความต่อเนื่องของการทำนายเสริม (auxiliary prediction) ซึ่งมีประวัติอันยาวนานใน RL และงานล่าสุดได้ฟื้นฟูเป้าหมายการสร้างแบบจำลองโลก (world-modeling objectives) สำหรับ LLM agents เช่น Agent Learning via Early Experience ใช้สัญญาณการกระทำ-ผลที่ตามมาเป็นขั้นตอนก่อน RL, VAGEN เพิ่มรางวัลการสร้างแบบจำลองโลกสำหรับ VLM agents, RWML pre-trains เกี่ยวกับการทำนายสถานะถัดไป และ CWM mid-trains โมเดลโค้ดบน trajectories การสังเกตการณ์-การกระทำ ECHO เป็นเวอร์ชันออนไลน์ ในวง RL (in-the-RL-loop) เฉพาะ CLI ของแนวคิดเดียวกัน
แนวคิดนี้จะไปได้ไกลแค่ไหน?
ขั้นตอนต่อไปคือการทำให้สัญญาณสภาพแวดล้อมนี้มีประสิทธิภาพมากขึ้น — และทดสอบว่ามันสามารถสรุปทั่วไป (generalize) ได้ไกลแค่ไหน ECHO ใช้ outputs ดิบของ terminal เพราะมันอยู่ใน rollout อยู่แล้ว แต่เป้าหมายการเรียนรู้ที่ดีที่สุดอาจเป็นตัวแทนที่สะอาดกว่าและกะทัดรัดกว่า: บทสรุป หรือมุมมองที่เกี่ยวข้องกับงานของสถานะ นอกจากนี้: การสังเกตการณ์ใดที่เราควรฝึก? เมื่อใดที่เราควรกรอง trajectories? เราควรให้น้ำหนักการทำนายสภาพแวดล้อมเทียบกับการปรับนโยบายให้เหมาะสมอย่างไร? แนวคิดเดียวกันนี้สามารถทำงานนอกเหนือจาก terminal ได้หรือไม่: สำหรับ browser agents, ระบบที่มีเครื่องมือหลายอย่าง, coding agents ที่มีขอบเขตระยะยาว, หรือผู้ช่วยที่หันหน้าเข้าหาผู้ใช้ซึ่งการติดตามผล การแก้ไข และความชอบเป็น feedback รูปแบบหนึ่งของการโต้ตอบ?
การเดิมพันของเราคือ ที่ใดก็ตามที่ agent กระทำและโลกตอบสนองเป็น tokens tokens การตอบสนองเหล่านั้น — หรือการแสดงแทนที่ดีกว่าของมัน — ควรเป็นส่วนหนึ่งของสัญญาณการเรียนรู้ ECHO เป็นเวอร์ชันที่ง่ายที่สุดของแนวคิดนั้นที่เรานึกออก และเราสงสัยว่า ภายในสิ้นปี 2026 การทำนาย environment tokens ในรูปแบบใดรูปแบบหนึ่งจะกลายเป็นมาตรฐานในเทรนเนอร์ RL สำหรับ agent
อ่าน paper ฉบับเต็มได้ และ โค้ด ที่สร้างจาก SkyRL
ลองใช้ ECHO และบอกเราว่า agent ของคุณเทรนได้เร็วขึ้นแค่ไหน
เชิงอรรถ: การฝึก maze world model บนแล็ปท็อปของฉัน... ประมาณนั้น
จำได้ไหมตอนที่ฉันบอกว่าฉัน "มีส่วนร่วมในการทดลอง maze เล็กๆ ที่ดูโง่ๆ"? นี่คือการทดลอง maze เล็กๆ ที่ดูโง่ๆ
การตั้งค่าคือ ECHO เวอร์ชันเล็กจิ๋ว: เขาวงกตแบบตารางใน terminal เล็กๆ Agent (transformer 10M ในลูป) ออกทิศทาง — บน, ล่าง, ซ้าย, ขวา — และ terminal ตอบกลับด้วยว่าตอนนี้ agent อยู่ตรงไหนเมื่อเทียบกับ "เพื่อนบ้าน" ของมัน (โดยพื้นฐานแล้วมันคือปัญหาการหาเส้นทางในตาราง 2D), และระยะทางไปยังจุดหมาย ดังนั้น rollout จะมีลักษณะเหมือน rollout ของ CLI agent ทุกประการ (สำหรับค่าเล็กๆ ของ "ทุกประการ") เพียงแต่เรียบง่ายกว่ามาก 😊: action→ environment response → action → environment response ฯลฯ
ฉันทดสอบสองเงื่อนไขบน transformer 10M ที่เทรนจากศูนย์: 1) ฝึกเฉพาะ action tokens 2) ฝึกบน action tokens และการตอบสนองของ terminal (เพื่อนบ้าน, ระยะทาง ฯลฯ) ทั้งหมดฝึกบนเขาวงกต 6×6 / 7×7 / 8×8 ใหม่ทุกครั้ง

เรื่องเขาวงกตนี้เป็น Nature paper หรือไม่? ไม่ แต่: ฉันคิดว่ามีประเด็นที่ฉันพูดมาตลอดซึ่งยังคงใช้ได้ทั่วไป
เกือบทุกไอเดียที่ชัดเจนมีพิภพเล็ก (microcosm): เวอร์ชันที่ย่อส่วนซึ่งคุณสามารถรันบนแล็ปท็อปในเย็นวันหนึ่ง ซึ่งบอกคุณได้ว่าไอเดียนั้นคุ้มค่าที่จะขยายขนาดหรือไม่
เขาวงกตไม่ได้พิสูจน์ว่า ECHO จะใช้ได้ มันทำให้ฉันมีความเชื่อมั่นมากพอที่จะส่งข้อความ Teams ถึง Vaish แทนที่จะลืมไอเดียนั้น ปรากฎว่า Vaish ก็วนเวียนอยู่กับไอเดียเดียวกันโดยอิสระ และเมื่อการรันคลัสเตอร์ครั้งแรกของเธอกลับมาพร้อมผลลัพธ์ ฉันรู้สึกตื่นเต้นและประหลาดใจจริงๆ ECHO maze ได้บอกใบ้ว่าทิศทางนั้นถูกต้อง แต่มันไม่สามารถทำนายได้ว่าจะทำให้คะแนน TerminalBench เพิ่มเป็นสองเท่า กู้คืน expert SFT ได้เกือบทั้งหมด หรือพัฒนาตนเองโดยไม่มีรางวัล สิ่งเหล่านั้นคือผลลัพธ์ของ Vaish "การแก้เขาวงกต 6×6 ได้ประมาณหนึ่ง" กับ "การเพิ่มคะแนน TerminalBench เป็นสองเท่า" เป็นสภาวะทางญาณวิทยาที่แตกต่างกันมาก
แต่ประเด็นของภาคผนวกนี้ไม่ใช่การที่แล็ปท็อปมาแทนที่การทดลองบนคลัสเตอร์ แต่ประเด็นคือ ความคิดส่วนใหญ่ของฉันผิด และการทดลองบนแล็ปท็อป (ด้วยความช่วยเหลือจาก Claude Code และ Codex) บอกฉันว่าควรทิ้งความคิดไหนก่อนที่จะทำให้คนอื่นเสียเวลา บางครั้ง ความคิดหนึ่งก็รอดชีวิต และเมื่อมันรอด ก็อาจจะได้รับสิทธิ์ให้ใช้เวลาและ GPU ของผู้ร่วมงานได้
ECHO เป็นหนึ่งในนั้น





