Agent Dev Thai Academyprinciples · patterns · architecture

อธิบายเรื่องเดิมให้ AI ฟังทุก session

ต้องเล่าเรื่องเดิมให้ AI ฟังทุก session เพราะ memory ไม่มีใครแจก repo เปล่ากับ CLAUDE.md และ decisions.md ที่ทุกบรรทัดมีวันที่กับเหตุผล และมีวันรีวิว ทำเองได้คืนนี้

เปิด session ใหม่ทีไร ต้องเล่าเรื่องเดิมให้ฟังใหม่ทุกที

โปรเจกต์นี้ใช้ pnpm ไม่ใช่ npm. อย่าแก้ไฟล์ใน migrations. test ต้องรันก่อน commit. พิมพ์ไปแล้วสิบรอบ ยังต้องพิมพ์อีก

ตอนแรกคิดว่าเป็นปัญหาของตัวเอง จำไม่ได้ว่าบอกไปหรือยัง

จริงๆ ไม่ใช่ ปีนี้บริษัทใหญ่ทั้งวงการทำเรื่องนี้กันหมด


ผมเจอปัญหานี้ตั้งแต่มีนา ตอนเปิด 3 terminal พร้อมกัน

backend หนึ่ง frontend หนึ่ง contract หนึ่ง แต่ละตัวจำคนละเรื่อง

terminal นึงรู้ว่าเปลี่ยน schema แล้ว อีกสองตัวไม่รู้ พอถามอะไรที่คาบเกี่ยวกัน แต่ละตัวตอบไม่เหมือนกัน แล้วทุกตัวมั่นใจเท่ากันหมด

เลยเขียน kanly ขึ้นมา ให้ทุก terminal อ่านจากไฟล์ชุดเดียวกัน ใครเปลี่ยนอะไรลงไฟล์ อีกสองตัวเห็นตอนเปิดรอบหน้า

ไม่ได้คิดว่ามันเป็นของใหญ่อะไร แค่เบื่อที่ต้องมาไล่ว่าอันไหนพูดจริง


เดือนนี้ Tencent open source ของที่ทำเรื่องเดียวกันเป๊ะ

TeamAI-CLI ใช้ในบริษัทมาตั้งแต่มีนา เพิ่งปล่อยออกมา

หลักการเดียวกัน: skills กับ rules กับ docs อยู่ใน git repo เดียว แก้ผ่าน merge request agent ทุกตัวดึงตอนเปิด session

มีของที่ผมไม่ได้ทำอยู่อย่างนึง คือมันให้คะแนน rule แต่ละข้อจากการใช้งานจริง ข้อไหนได้ผลบ่อยจะถูกดันขึ้นมาก่อน ข้อไหนไม่มีใครใช้จะจมลงไปเอง

Notion ก็ปล่อย Lore ออกมา แนวคิดใกล้กัน แต่เก็บใน Notion database แทน git


ที่น่าสนใจกว่าคือเจ้าที่ไม่ปล่อย

ปีนี้เกือบทุกเจ้าแจก skills ออกมาหมด Anthropic, Vercel, AWS, JetBrains, Shopify, Stripe

แต่ memory เกือบทุกเจ้าเก็บไว้ในโปรดักต์ตัวเอง

GitHub Copilot มี memory แล้ว แต่ จำได้ 28 วัน แล้วลืม

Cloudflare ทำเป็น managed binding ยังไม่เปิด AWS อยู่บน Bedrock IBM เป็น flag ในโปรดักต์

skills คือของที่แจกแล้วคนมาใช้แพลตฟอร์มคุณ memory คือของที่แจกแล้วคนย้ายไปไหนก็ได้


ของแบบนี้ทำเองได้ ไม่ต้องรอใคร

ไม่ต้องลง อะไรเลย สร้าง repo เปล่าหนึ่งอัน

team-context/
  CLAUDE.md          <- rules ที่ทุก agent ต้องอ่าน
  decisions.md       <- ตัดสินใจอะไรไปแล้วบ้าง พร้อมวันที่
  skills/            <- ของที่ใช้ซ้ำ

แล้ว symlink หรือ clone เข้าไปในทุก repo ที่ทำงานด้วย

สองอย่างที่ทำให้มันไม่ตายใน 2 อาทิตย์

หนึ่ง ทุกบรรทัดใน decisions.md ต้องมีวันที่กับเหตุผล ไม่ใช่แค่ว่าตัดสินใจอะไร แต่ตัดสินใจเพราะอะไร อีกสามเดือนกลับมาอ่านจะได้รู้ว่ายังใช้ได้อยู่ไหม

สอง ต้องมีวันรีวิว อันไหนหมดอายุแล้วต้องรู้ ไม่งั้นไฟล์จะกลายเป็นสุสาน rule ที่ไม่มีใครกล้าลบ

ข้อสองนี่คือข้อที่ Lore ไม่มี ทั้งที่เป็นของ Notion เอง


ไม่ต้องรอ Tencent ไม่ต้องรอ Notion

repo เปล่ากับไฟล์ markdown สองไฟล์ ทำคืนนี้ได้เลย