พายพไลน์แบบกึ่งอัตโนมัติที่ประกอบด้วยเอเจนต์ 4 ตัว สามารถลดอาการประสาทหลอน (hallucinations) ในการวิเคราะห์ข้อมูลเชิงสำรวจ (EDA) ได้ โดยการแยกโมเดลภาษาขนาดใหญ่ (LLMs) ออกจากการคำนวณตัวเลข และให้ทำหน้าที่เพียงแค่การตัดสินใจเท่านั้น การออกแบบนี้ช่วยให้โมเดลตัดสินใจได้ว่า ควร ตรวจสอบอะไร ในขณะที่โค้ดธรรมดาซึ่งรันอยู่ใน sandbox จะทำหน้าที่คำนวณจริง ซึ่งจะให้ผลลัพธ์ที่สามารถตรวจสอบได้ทีละขั้นตอน
ทำไมการเรียกใช้ LLM เพียงครั้งเดียวถึงมีความเสี่ยง
การสั่ง (Prompting) ให้ LLM "ดูสเปรดชีตนี้แล้วบอกฉันหน่อยว่ามีอะไรน่าสนใจบ้าง" จะได้ผลลัพธ์ออกมาเป็นข้อความเพียงก้อนเดียว โมเดลจะสร้างตัวเลขขึ้นมาเอง ผสมผสานการใช้เหตุผลเข้ากับผลลัพธ์ และไม่มีร่องรอยให้เห็นว่าข้อสรุปนั้นมาได้อย่างไร เมื่อเกิดอาการประสาทหลอน (hallucinate)—เช่น สถิติที่กุขึ้นมาหรือความสัมพันธ์ที่ไม่มีอยู่จริง—ก็ไม่มีจุดตรวจสอบ (checkpoint) เพื่อดักจับข้อผิดพลาดก่อนที่จะส่งถึงมือผู้ใช้
แนวคิดเบื้องหลังพายพไลน์แบบกึ่งอัตโนมัติ
เวิร์กโฟลว์ใหม่นี้จะแบ่ง EDA ออกเป็น 4 ขั้นตอนที่แน่นอน โดยแต่ละขั้นตอนจะจัดการโดยเอเจนต์ของตัวเอง เอเจนต์เหล่านี้จะใช้รูปแบบ "วางแผนแล้วจึงลงมือทำ" (plan-then-act) กล่าวคือ พวกเขาจะตัดสินใจก่อนว่าต้องใช้การดำเนินการ แบบใด จากนั้นจึงส่งการดำเนินการนั้นไปยังโค้ดใน sandbox เพื่อรันจริง LLM จะไม่ทำการคำนวณทางคณิตศาสตร์หรือจัดการไฟล์ด้วยตัวเอง แต่จะทำหน้าที่เพียงแค่ตัดสินใจเกี่ยวกับความเกี่ยวข้องเท่านั้น
เอเจนต์ทั้งสี่ตัว
- Data-cleaning agent – ตรวจสอบประเภทของคอลัมน์ ระบุค่าที่หายไป (missing values) และตัดสินใจเกี่ยวกับกลยุทธ์การเติมค่า (imputation) หรือการแปลงประเภทข้อมูล
- Column-analysis agent – เลือกการแสดงผลข้อมูลด้วยภาพ (visualisations) ที่เหมาะสม (เช่น histograms, box plots และอื่นๆ) สำหรับแต่ละตัวแปร โดยอิงจากประเภทข้อมูลและการกระจายตัว
- Relationship-analysis agent – ประเมินคู่คอลัมน์ทุกคู่ เลือกคู่ที่ควรได้รับการทดสอบทางสถิติเชิงลึก และจัดลำดับตามข้อมูลเชิงลึกที่มีศักยภาพ
- Report-writing agent – แปลงแผนภูมิที่สร้างขึ้นและสถิติที่คำนวณได้ให้เป็นคำอธิบายด้วยภาษาธรรมชาติ โดยเน้นรูปแบบที่น่าสนใจและข้อควรระวัง
แต่ละขั้นตอนทำงานอย่างเป็นอิสระต่อกัน ดังนั้นเอเจนต์ column-analysis และ relationship-analysis จึงสามารถทำงานแบบขนาน (parallel) ได้ ซึ่งช่วยลดเวลาในเวิร์กโฟลว์โดยรวมลง
วิธีการจำกัดขอบเขตความเป็นอัตโนมัติ
กฎความปลอดภัยของพายพไลน์นี้เรียบง่ายมาก: โค้ดใดก็ตามที่โมเดลเขียนขึ้นจะรันอยู่ภายใน sandbox ซึ่งแยกออกจากระบบหลัก (host system) หากการรันล้มเหลว ข้อผิดพลาดจะถูกส่งกลับไปยังโมเดล ซึ่งจะมีโอกาสแก้ไขสคริปต์ได้สูงสุดสองครั้งก่อนที่พายพไลน์จะหยุดทำงาน วิธีนี้ช่วยป้องกันการเกิดลูปที่ไม่สิ้นสุด (runaway loops) และรับประกันว่าโมเดลจะไม่จัดการไฟล์หรือทำการคำนวณทางคณิตศาสตร์โดยตรง
เนื่องจากบทบาทของโมเดลถูกจำกัดไว้เพียงการตัดสินใจว่า ควร คำนวณอะไร ตัวเลขจริงจึงมาจากโค้ดที่ทำงานแบบ deterministic เสมอ หากเอเจนต์ relationship-analysis สงสัยว่ามีความเชื่อมโยงระหว่าง "Order ID" และ "Month" sandbox จะรันฟังก์ชันหาความสัมพันธ์ (correlation function) และส่งค่าที่แม่นยำกลับมา จากนั้นโมเดลจึงค่อยให้ความเห็นว่าความสัมพันธ์นั้นน่าจะเป็นเหตุเป็นผลกัน (causal) หรือเป็นเพียงเรื่องบังเอิญ (coincidental)
สิ่งที่แก้ปัญหาได้ – และสิ่งที่ต้องแลก
ลดอาการประสาทหลอน (Reduced hallucinations). ด้วยการแยกการใช้เหตุผลออกจากการคำนวณ พายพไลน์นี้จึงกำจัดแหล่งที่มาที่พบบ่อยที่สุดของสถิติที่กุขึ้นมา นั่นคือการที่โมเดลเดาตัวเลขแทนที่จะปล่อยให้โค้ดเป็นตัวสร้างตัวเลขเหล่านั้น
ความสามารถในการปรับเปลี่ยน (Modularity). การเพิ่มขั้นตอนใหม่ เช่น เอเจนต์พยากรณ์อนุกรมเวลา (time-series forecasting agent) ไม่จำเป็นต้องเขียน prompt ใหม่ทั้งหมด เอเจนต์แต่ละตัวเป็นโมดูลที่ทำงานได้ด้วยตัวเองและสามารถเสียบเข้ากับลำดับขั้นตอนที่กำหนดไว้ได้
ความเร็วที่เพิ่มขึ้น (Speed gains). การทำงานแบบขนานของเอเจนต์ที่เป็นอิสระต่อกันช่วยลดเวลาที่ใช้จริง (wall-clock time) เมื่อเทียบกับการเรียกใช้ LLM แบบรวมศูนย์ (monolithic) ที่ต้องทำทุกขั้นตอนแบบเรียงลำดับ (serialize)
ภาระด้านความซับซ้อน (Complexity overhead). สิ่งที่ต้องแลกคือสถาปัตยกรรมที่ซับซ้อนขึ้น ทีมงานจำเป็นต้องดูแลรักษาสภาพแวดล้อมของ sandbox จัดการลูปการส่งคืนข้อผิดพลาด และประสานงานเอเจนต์หลายตัว
สิ่งที่ควรจับตามองต่อไป
- การรวมเครื่องมือ (Tooling integrations). เฟรมเวิร์กโอเพนซอร์สที่ช่วยลดความซับซ้อนในขั้นตอนการรันใน sandbox อาจช่วยลดภาระด้านวิศวกรรมและทำให้รูปแบบนี้เข้าถึงได้ง่ายขึ้น
- ข้อกำหนดมาตรฐานของเอเจนต์ (Standardised agent contracts). เมื่อมีทีมนำพายพไลน์แบบหลายเอเจนต์มาใช้มากขึ้น อินเทอร์เฟซที่เป็นมาตรฐานสำหรับเอเจนต์แบบ "plan-then-act" อาจเกิดขึ้น ซึ่งจะช่วยให้การทำงานร่วมกันทำได้ง่ายขึ้น
บทเรียนสำคัญนั้นชัดเจน: ให้เสรีภาพแก่ LLM ในการคิด แต่อย่าให้พลังในการคำนวณ ด้วยการจำกัดความเป็นอัตโนมัติไว้เพียงการตัดสินใจ และส่งตัวเลขทุกตัวผ่านโค้ดที่แยกส่วน พายพไลน์ EDA แบบกึ่งอัตโนมัติจะให้ผลลัพธ์ที่คุณสามารถตรวจสอบ เชื่อถือ และแบ่งปันได้ โดยไม่ต้องกังวลเรื่องตัวเลขที่ไม่มีอยู่จริง
Source: https://dev.to/sraveend/agentic-but-only-semi-autonomous-designing-an-eda-pipeline-you-can-trust-4ha9
Community discussion: https://t.me/GyaanSetuAi
