กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see


News

news อดีตทีมงาน Tensorflow โชว์การพอร์ตซอฟต์แวร์จาก C ไป Rust ด้วยการเทียบอินพุดเอาท์พุตแล้วให้ LLM แก้ให้ทำงานเหมือนกัน

News 

Active member

Staff member
Moderator
Distributor
อดีตทีมงาน Tensorflow โชว์การพอร์ตซอฟต์แวร์จาก C ไป Rust ด้วยการเทียบอินพุดเอาท์พุตแล้วให้ LLM แก้ให้ทำงานเหมือนกัน
Body

Russell Power นักวิจัยด้าน machine learning อดีต principle engineer ของกูเกิลรายงานนถึงการพอร์ตโค้ดไลบรารีบีบอัด Zopfli ด้วย Large Language Model (LLM) โดยอาศัยเทคนิคการสร้างชุดทดสอบด้วย LLM เองจากนั้นตรวจดูว่าผลที่ได้เหมือนหรือต่างกันอย่างไร และแก้ไขไปเรื่อยๆ จนกว่าผลจะเหมือนกันทุกประการ

แนวทางการพอร์ต Zopfli ของ Russell อาศัยการสร้างกราฟของฟังก์ชั่นต่างๆ ว่าฟังก์ชั่นใดขึ้นกับฟังก์ชั่นใดบ้าง จากนั้นเริ่มพอร์ตจากฟังก์ชั่นที่พื้นฐานที่สุดไม่ได้เรียกฟังก์ชั่นอื่นอีก แล้วสร้างฟังก์ชั่น Rust ชื่อเดียวกัน แล้วสร้างชุดทดสอบฟังก์ชั่นแล้วยิงอินพุตเข้าทั้งสองฟังก์ชั่นเพื่อเทียบพฤติกรรมไปเรื่อยๆ หากผลออกมาต่างกันก็จะให้ LLM แก้ไขจนกว่าจะเหมือนกัน

จากการทดลองเขาพบว่า Gemini 2.5 Pro สามารถพอร์ตโค้ดได้ถึง 90% และส่วนที่เหลือใช้ Claude Code ตัว Russell เขียนโค้ดเองเฉพาะการแก้ไขคำเตือนต่างๆ เท่านั้น แต่ระหว่างทางที่ Gemini พอร์ตโค้ด Russell เองก็แก้พรอมพ์ไปบ้าง

ข้อเสียของโครงการนี้คือโค้ดที่ได้ทั้งหมดยังมีอินเทอร์เฟซเป็น C และเป็นโค้ดแบบ unsafe ก่อนหน้านี้มีโครงการ Syzygy ที่ใช้ LLM เหมือนกันแต่สามารถแปลงโค้ดแบบ safe ได้ในตัว และการทำงานของ Zopfli นั้นเป็นไลบรารีที่ไม่มี state ภายใน การพอร์ตซอฟต์แวร์ที่มี state ภายในอาจจะได้ผลต่างออกไป

ค่า LLM รวมสำหรับการพอร์ตโค้ดครั้งนี้อยู่ที่ 50 ดอลลาร์

ที่มา - Russell Power

lew Sat, 21/06/2025 - 08:14

Continue reading...
 



กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see
Back
Top Bottom