สามกลุ่มของ attribution
- AI: hook หรือ client ระบุชัดว่าเป็นงานที่ AI ช่วย และอาจส่งชื่อ agent กับจำนวนบรรทัด
- Human: editor รายงาน keystroke หรือ character ที่พิมพ์เองและการเปลี่ยนแปลงที่วัดได้
- Unattributed: ระบบเห็นการเปลี่ยนแปลงแต่พิสูจน์ไม่ได้ว่าเกิดจากแหล่งใด
ยอด canonical ทำให้ทั้งสามกลุ่มไม่ทับกัน Unattributed คือหลักฐานที่ขาด ไม่ใช่คำพ้องกับ human และไม่ใช่เหตุผลให้ระบบเดา
หลักฐานมาจากไหน
AI attribution มาจาก field ที่ hook หรือ client ที่รองรับส่งมาโดยตรง เช่น ชื่อ agent, is_ai_generated และ line counts ส่วน human attribution ใช้ข้อมูลกิจกรรมจาก editor เช่น keystroke และ character editor ที่รองรับ protocol อาจส่งเวลาได้โดยไม่ส่ง attribution ครบ field ที่ไม่มีจึงคงเป็นข้อมูลที่ขาด
{
"is_ai_generated": true,
"ai_agent": "your-agent-name",
"ai_lines_added": 42,
"ai_lines_deleted": 3
}Coverage หมายถึงอะไร
Line coverage คำนวณจากยอด canonical ชุดเดียวกัน คือ line change ของ AI และ human ที่มีหลักฐาน หารด้วยยอดที่มีหลักฐานรวมกับ Unattributed response ยังแสดง denominator และ status และถ้าไม่มี activity จะไม่สร้างเปอร์เซ็นต์ 0% ปลอม
ตัวอย่างสมมติ: AI 40 + human 35 + Unattributed 25 = 100 บรรทัด
line coverage: (40 + 35) / 100 = 75%AI share ในบรรทัดที่รู้ กับ coverage ของหลักฐานทั้งช่วงเวลาเป็นคนละเรื่อง จึงควรอ่านทั้งยอดและ status
เปรียบเทียบ agent อย่างไร
- ใช้ช่วงเวลาและ filter project เดียวกันก่อนเทียบ agent
- ตรวจว่าเครื่องมือมี bundled hook หรือ adapter เฉพาะ provider ก่อนคาดหวัง attribution อัตโนมัติ
- อย่าแปลจำนวนบรรทัดเป็นความถูกต้อง คุณภาพ เวลาที่ประหยัด หรือคุณค่าทางธุรกิจ
- เก็บ Unattributed ให้เห็นเมื่อเครื่องมือส่ง activity แต่ไม่มี metadata ของ attribution
ขอบเขตความเป็นส่วนตัว
Attribution ส่ง label, identifier และจำนวน ไม่ต้องส่ง source code, prompt หรือข้อความตอบของ AI Provider usage อาจเพิ่ม token metadata แต่ไม่ส่งข้อความ transcript
ทบทวนและตรวจสอบ
ดูหน้าติดตาม AI coding activity สำหรับ hook ที่รองรับ และดู denominator ใน dashboard analytics เมื่อต้องการตรวจยอด ผู้ทบทวน: ทีมผลิตภัณฑ์ AtoAxis อัปเดตล่าสุด: 20 กันยายน 2026