ผมสร้าง Local Control Plane สำหรับ Coding Agents ของผม
การใช้ AI agent หลายตัวเคยเป็นเรื่องที่วุ่นวายมาก
ผมใช้ Copilot, Claude Code และ OpenCode แต่ละเครื่องมือมี home directory, การตั้งค่า และหน่วยความจำ (memory) เป็นของตัวเอง ทุกครั้งที่ผมเพิ่มทักษะหรือกฎใหม่ๆ ผมต้องคอยถามว่า: เครื่องมือตัวนี้คาดหวังให้เก็บไว้ที่ไหน?
home directory ของผมกลายเป็นเหมือนลิ้นชักเก็บของจิปาถะที่เต็มไปด้วยโฟลเดอร์ AI
ผมลองใช้ไฟล์ Markdown เพื่อส่งต่อแผนงานระหว่าง agent มันช่วยได้บ้างแต่ก็ยังไม่ได้ผล เพราะ agent ตัวหนึ่งอาจจะข้ามสมมติฐานบางอย่างไป และ agent ตัวถัดไปก็จะให้ผลลัพธ์ที่ผิดพลาด ไฟล์ช่วยให้ข้อมูลได้ แต่ไม่สามารถให้บริบท (context) ที่ใช้ร่วมกันได้
ผมต้องการวิธีที่จะ:
- เขียนกฎระดับสูงเพียงครั้งเดียว
- เก็บกฎการอนุญาตไว้ในที่เดียว
- เลิกคัดลอกทักษะด้วยตัวเอง
- แชร์หน่วยความจำข้ามโปรเจกต์และเซสชันต่างๆ
ผมจึงสร้าง local control plane ขึ้นมาเพื่อแก้ปัญหานี้
หัวใจสำคัญของการตั้งค่าของผมคือไดเรกทอรีเดียว: ~/.ai.
แทนที่จะใช้โฟลเดอร์ที่กระจัดกระจาย ผมใช้ symlinks แทน เครื่องมือต่างๆ จะคิดว่าพวกมันอยู่ในพื้นที่ของตัวเอง แต่โครงสร้างที่แท้จริงนั้นรวมอยู่ที่เดียว ผมส่งทราฟฟิกของโมเดลทั้งหมดผ่าน local proxy และใช้ฐานข้อมูล SQLite ร่วมกันสำหรับหน่วยความจำผ่าน MCP
สิ่งนี้ช่วยแยกงานสองอย่างออกจากกัน:
- Routing: คำขอของโมเดลจะผ่าน local proxy ก่อนจะส่งไปยังผู้ให้บริการ
- Memory: ข้อมูลที่เป็นข้อเท็จจริงระยะยาวจะถูกเก็บไว้ในที่เก็บข้อมูลในเครื่อง (local store)
ถ้าโมเดลทำงานแปลกๆ ผมจะเช็คที่ proxy ถ้า agent ลืมรายละเอียดบางอย่าง ผมจะเช็คที่ memory สิ่งนี้ทำให้การดีบั๊ก (debugging) เป็นเรื่องง่าย
หน่วยความจำที่ใช้ร่วมกันของผมจะเก็บสิ่งที่ต้องใช้ความพยายามสูงในการค้นพบใหม่:
- การตัดสินใจในโปรเจกต์
- บันทึกเกี่ยวกับสถาปัตยกรรม
- ความชอบในเวิร์กโฟลว์
- บั๊กที่เกิดขึ้นซ้ำๆ
ผมยังรวมศูนย์ความปลอดภัยไว้ด้วย ผมใช้ไฟล์ที่ใช้ร่วมกันสำหรับมาตรฐานการเขียนโค้ดและคำสั่งที่ถูกสั่งห้าม สิ่งนี้ช่วยให้มั่นใจได้ว่าการสลับจาก agent ตัวหนึ่งไปยังอีกตัวหนึ่งจะไม่ทำให้ความปลอดภัยของสภาพแวดล้อมเปลี่ยนไป
นี่ไม่ใช่เรื่องของการหา agent ที่สมบูรณ์แบบเพียงตัวเดียว แต่มันคือการทำให้มั่นใจว่า agent ของผมมีบริบทที่เพียงพอต่อการแบ่งปัน เพื่อที่การสลับไปมาระหว่างพวกมันจะไม่รู้สึกเหมือนต้องเริ่มนับหนึ่งใหม่
Source: https://dev.to/sperekrestova/i-built-a-local-control-plane-for-my-coding-agents-1bf7
Optional learning community: https://t.me/GyaanSetuAi