SongRyeon Core - การทดลองรันไทม์เอเจนต์แบบโลคัลที่แยกข้อมูลที่ LLM เขียนออกจากข้อมูลที่โค้ดยืนยันแล้ว
(github.com/Junghoo-developer)สวัสดีครับ ผมคือจองฮู กำลังเรียนเขียนโค้ดไปพร้อมกับทดลองรันไทม์เอเจนต์ AI ด้วยตัวเอง
SongRyeon Core เป็นการทดลองเล็ก ๆ แบบ local-first (agent runtime) ที่แยกการจัดการระหว่าง “การตัดสินที่ LLM พูดออกมา” กับ “ข้อเท็จจริงที่โค้ดตรวจสอบจริงแล้ว”
ช่วงนี้พอได้ลองสร้างเอเจนต์ที่อิงกับ LLM ก็รู้สึกว่ามักเจอปัญหาต่อไปนี้บ่อยครั้ง
- แสดงเนื้อหาที่ LLM คาดเดาเหมือนเป็นข้อเท็จจริงของระบบ
- fallback หรือ heuristic ที่โค้ดสร้างขึ้นปะปนเหมือนเป็นการตัดสินของ LLM
- จำนวนเอกสารที่อ่าน หรือการรันใดเกิดขึ้นจริง กลับแสดงไม่ตรงกันในแต่ละหน้าจอ
- คำตอบสุดท้ายไม่สอดคล้องกับสถานะภายในของรันไทม์
ดังนั้นในโปรเจกต์นี้จึงแบ่งข้อมูลออกเป็น 3 ประเภทใหญ่ ๆ ดังนี้
- ข้อมูลสัมบูรณ์: ค่าที่ตรวจสอบได้จาก code/trace/schema/tool result
- ข้อมูลสัมพัทธ์: การตัดสินของ LLM ที่สอดคล้องกับข้อมูลสัมบูรณ์หนึ่งรายการ
- ข้อมูลผสม: การตัดสินของ LLM ที่อ้างอิงจากหลาย source bundle
ตอนนี้ยังเป็นเพียงเวอร์ชันฝึกหัดขนาดเล็ก แต่กำลังทดลองโครงสร้างประมาณนี้อยู่
- node_0 memory supplier
- node_1 router
- L loop
- node_3 reporter
- node_4 verifier
- การตรวจสอบ regression บนพื้นฐาน smoke-test
- การตรวจสอบความซื่อตรงของ runtime terminal/final renderer
เป้าหมายไม่ใช่การทำ “เดโมสวย ๆ” แต่คือการสร้างรันไทม์ขนาดเล็กที่พยายามไม่ปกปิดให้มากที่สุดว่า AI เอเจนต์พูดอะไรโดยอิงจากหลักฐานแบบไหน
ตอนนี้ผมยังอยู่ระหว่างเรียนเขียนโค้ด เลยยังมีหลายส่วนที่ค่อนข้างหยาบอยู่
หากช่วยให้คำแนะนำเกี่ยวกับโครงสร้าง, README, การทดสอบ, นิยามคำศัพท์, และการออกแบบ agent runtime ได้ จะขอบคุณมากจริง ๆ ครับ
1 ความคิดเห็น
ขอเสริมครับ
ตอนนี้ SongRyeon Core เป็นการทดลองรันไทม์ที่เน้น CLI บนเครื่อง / smoke-test มากกว่าจะเป็นบริการเว็บ
สิ่งที่ลองตรวจสอบได้ทันทีคือวิธีรันใน README และ:
ครับ
โดยเฉพาะส่วนที่อยากได้ฟีดแบ็กคือดังนี้
ยังเป็นโปรเจกต์ที่อยู่ระหว่างเรียนรู้ จึงมีจุดที่ยังหยาบอยู่มาก ขอบคุณมากครับหากช่วยชี้จุดได้อย่างสบาย ๆ