จัดการงานร่วมกับ AI ให้เป็นระบบด้วย Collaborative Human Agent Protocol (CHAP)

7 นาที 19 views บันทึกเป็น PDF
จัดการงานร่วมกับ AI ให้เป็นระบบด้วย Collaborative Human Agent Protocol (CHAP)

เบื่อไหมที่ต้องคอยไล่หาเหตุผลว่าทำไมถึงแก้โค้ดตาม AI? มาทำความรู้จัก CHAP โปรโตคอลที่จะช่วยเก็บร่องรอยการตัดสินใจระหว่างคุณกับ AI ไว้เป็นหลักฐาน

ทำความรู้จักกับ CHAP: เมื่อมนุษย์และ AI ต้องทำงานร่วมกันแบบมีหลักฐาน

ในยุคที่โปรแกรมเมอร์เริ่มใช้ AI เข้ามาช่วยเขียนโค้ดหรือรีวิวงาน เรามักจะเจอปัญหาว่า "เราจะเก็บร่องรอยการตัดสินใจไว้ที่ไหนดี?" สมมติว่า AI แนะนำให้แก้โค้ดจุดหนึ่ง แต่คุณเห็นว่ามันไม่ถูกต้องและตัดสินใจแก้ไขหรือปฏิเสธคำแนะนำนั้น ปกติแล้วบันทึกเหล่านี้มักจะกระจัดกระจายอยู่ในแชท ในคอมเมนต์ของ Ticket หรือหายไปในความทรงจำของเราเอง ซึ่งเมื่อเวลาผ่านไป 6 เดือน หากมีปัญหาเกิดขึ้น เรามักจะจำไม่ได้เลยว่าทำไมเราถึงเลือกทำแบบนั้น

Collaborative Human Agent Protocol (CHAP) คือโปรโตคอล (ชุดกติกาการสื่อสาร) ที่สร้างขึ้นมาเพื่อแก้ปัญหานี้โดยเฉพาะ มันทำหน้าที่เป็น "ซองจดหมายกลาง" ที่รวบรวมงานที่ AI ร่างไว้ และการตัดสินใจของมนุษย์เอาไว้ด้วยกันอย่างมีโครงสร้าง ทำให้คุณสามารถย้อนกลับมาตรวจสอบ (Verify) หรือเรียกดู (Query) ได้เสมอว่าใครทำอะไร เมื่อไหร่ และทำไมถึงทำแบบนั้น

เปรียบเทียบง่ายๆ เหมือนกับการทำงานในสำนักงาน ถ้า AI คือเลขาส่วนตัวที่ร่างเอกสารสัญญาให้คุณ สิ่งที่ CHAP ทำคือการเตรียม "แฟ้มเอกสารมาตรฐาน" ที่เก็บทั้งร่างสัญญาของเลขา และลายเซ็นหรือหมายเหตุการแก้ไขของคุณไว้ในที่เดียวกัน เมื่อมีปัญหาภายหลัง คุณก็แค่หยิบแฟ้มนี้มาเปิดดู ไม่ต้องไปค้นหาตามอีเมลหรือแชทที่กระจัดกระจายอีกต่อไป

เริ่มต้นสร้างพื้นที่ทำงานด้วย CHAP

ก่อนจะเริ่มใช้งาน CHAP เราต้องเข้าใจก่อนว่ามันประกอบด้วยส่วนประกอบหลัก คือ Coordinator (ตัวประสานงาน) ที่คอยจัดการข้อมูล และ Workspace (พื้นที่ทำงาน) ซึ่งเป็นที่เก็บร่องรอยการสื่อสารทั้งหมด การมีที่เก็บข้อมูลที่เป็นระเบียบช่วยให้โปรแกรมเมอร์มือใหม่ฝึกนิสัยการทำ Documentation (การทำเอกสารกำกับงาน) ให้เป็นเรื่องอัตโนมัติ ซึ่งเป็นทักษะสำคัญที่บริษัทไอทีชั้นนำมองหา

ลองดูตัวอย่างการสร้าง Workspace ด้วยโค้ดภาษา TypeScript ด้านล่างนี้ครับ:

import { Coordinator } from "@brightbeamai/chap-coordinator";
import { SqliteStore } from "@brightbeamai/chap-coordinator/storage/sqlite";

// 1. สร้างตัวประสานงานโดยใช้ SQLite เป็นฐานข้อมูลเก็บข้อมูล
const coord = new Coordinator({ store: new SqliteStore("./chap.db") });

// 2. สร้างพื้นที่ทำงานสำหรับการรีวิวโค้ด
coord.api.workspace.create({ 
  workspace: "wsp_pr_reviews", 
  profiles: ["core/1.0", "review/1.0"] 
});

// 3. ลงทะเบียนมนุษย์ (คุณ) และ AI (เช่น Cursor) เข้าสู่ระบบ
coord.api.participant.join({ workspace: "wsp_pr_reviews", from: "human:me@local", type: "human" });
coord.api.participant.join({ workspace: "wsp_pr_reviews", from: "agent:cursor#v1", type: "agent" });

จากโค้ดข้างต้น สิ่งที่คุณทำคือการประกาศตัวตนว่าในโปรเจกต์นี้มีใครบ้าง และเราจะเก็บข้อมูลไว้ที่ไฟล์ chap.db ซึ่งเป็น Database (ฐานข้อมูล) ขนาดเล็กที่รันได้ในเครื่องของคุณเอง ผลลัพธ์ที่ได้คือระบบที่พร้อมจะบันทึกทุกก้าวย่างของการทำงานร่วมกันระหว่างคุณกับ AI โดยไม่ต้องพึ่งพา Cloud หรือเซิร์ฟเวอร์ภายนอกที่ซับซ้อน

การทำงานร่วมกัน: เมื่อ AI ร่างงาน แต่คุณเป็นคนตัดสินใจ

หัวใจสำคัญของ CHAP ไม่ใช่แค่การเก็บข้อมูล แต่คือการที่มนุษย์สามารถเข้าไป Override (แก้ไขสิ่งที่ AI ทำไว้) ได้อย่างเป็นระบบ ในการทำงานจริง AI อาจจะมองว่าโค้ดคุณมีบั๊ก แต่คุณรู้ดีว่านั่นเป็น "Convention" (ข้อตกลงร่วมกันในทีม) ของโปรเจกต์ การใช้ CHAP จะช่วยให้คุณบันทึกเหตุผลกำกับไว้ได้ทันที

นี่คือตัวอย่างการสั่งงาน AI และการที่คุณเข้าไปแก้ไขคำแนะนำของมันครับ:

// AI ส่งงานรีวิวโค้ดเข้ามา
const { task_id } = coord.api.task.create({ 
  workspace: "wsp_pr_reviews", 
  assignee: "agent:cursor#v1", 
  kind: "code_review" 
});

// คุณไม่เห็นด้วยกับคำแนะนำ เลยทำการ Override
coord.api.decide.override({ 
  workspace: "wsp_pr_reviews", 
  from: "human:me@local", 
  task_id, 
  rationale: "เป็น convention ของเฟรมเวิร์ก ไม่ใช่บั๊ก", // เหตุผลที่คุณแก้ไข
  tags: ["false-positive"] // แท็กสำหรับจัดหมวดหมู่ข้อมูล
});

จุดที่มือใหม่มักจะพลาดคือการใส่เหตุผลแบบสั้นเกินไป เช่น "ไม่เอา" หรือ "แก้แล้ว" ซึ่งจะทำให้คุณงงในอีก 3 เดือนข้างหน้า จงฝึกเขียน Rationale (เหตุผลประกอบ) ให้ชัดเจนเสมอ เช่น บอกว่าทำไมถึงแก้ แก้เพื่ออะไร หรืออ้างอิงถึงเอกสารส่วนไหน สิ่งนี้จะทำให้คุณกลายเป็นโปรแกรมเมอร์ที่ทำงานอย่างมีหลักการและมีความเป็นมืออาชีพสูง

ทำไม CHAP ถึงเปลี่ยนวิธีทำงานของโปรแกรมเมอร์?

ในอดีต หากเราต้องการย้อนดูการตัดสินใจ เราอาจต้องนั่งไล่ดู Git Log หรือไล่หาคอมเมนต์ใน GitHub Pull Request ซึ่งมักจะไม่ได้บอกบริบทของการตัดสินใจที่ชัดเจน CHAP เข้ามาเปลี่ยนเกมด้วยการทำให้เหตุผลเหล่านั้นกลายเป็น Data Object (ข้อมูลที่มีโครงสร้าง) ที่คุณสามารถเขียนโปรแกรมเข้าไปค้นหา (Query) ได้

การใช้ CHAP มีข้อดีสำหรับมือใหม่ดังนี้:

  • Traceability: สามารถย้อนรอยได้ว่า AI แนะนำอะไรและเราตัดสินใจอย่างไร
  • Consistency: ทุกการตัดสินใจมีรูปแบบเดียวกันหมด ไม่ว่าจะกี่โปรเจกต์
  • Verification: ช่วยให้เราทบทวนการตัดสินใจของตัวเองได้ว่าที่ผ่านมาเรา "เลือกถูก" หรือไม่

หากคุณกำลังฝึกเขียนโค้ดและเริ่มใช้ AI ช่วย ให้เริ่มลองบันทึกการตัดสินใจแบบนี้ดูครับ แม้ในช่วงแรกจะดูเหมือนเสียเวลาเพิ่มขึ้นเล็กน้อย แต่เมื่อคุณต้องทำงานในโปรเจกต์ขนาดใหญ่หรือต้องทำงานร่วมกับคนอื่น คุณจะพบว่า การมีหลักฐานการตัดสินใจที่ตรวจสอบได้ คือสิ่งที่ช่วยประหยัดเวลาและลดความเครียดได้มหาศาล

สรุป: เริ่มต้นใช้ CHAP เพื่อพัฒนาทักษะโปรแกรมเมอร์

การใช้ CHAP ไม่ได้เป็นเพียงการติดตั้ง Library ใหม่ แต่คือการปรับ Mindset ให้มองว่า "การตัดสินใจของมนุษย์คือส่วนหนึ่งของซอร์สโค้ด" เมื่อคุณเริ่มฝึกบันทึกเหตุผลในทุกการแก้ไข คุณจะค่อยๆ พัฒนาทักษะการคิดเชิงตรรกะ (Critical Thinking) ซึ่งเป็นทักษะที่แยกโปรแกรมเมอร์ทั่วไป ออกจากโปรแกรมเมอร์ที่องค์กรต้องการตัว

ตัวอย่างการนำไปใช้จริง: ในโปรเจกต์ถัดไปที่คุณฝึกทำ ให้ลองสร้าง chap.db ไว้ในเครื่อง เมื่อใดก็ตามที่คุณใช้ AI ช่วยรีวิวโค้ด แล้วคุณพบว่า AI แนะนำผิด หรือคุณเลือกที่จะทำต่างจากที่ AI บอก ให้ใช้คำสั่ง decide.override บันทึกเหตุผลเก็บไว้เสมอ ลองทำแบบนี้ให้ครบ 10 ครั้ง คุณจะเริ่มเห็นรูปแบบการทำงานของตัวเอง และเมื่อกลับมาอ่านบันทึกเหล่านี้ คุณจะพบว่าคุณเก่งขึ้นกว่าวันแรกที่เริ่มโปรเจกต์อย่างแน่นอนครับ


ที่มา: Collaborative Human Agent Protocol (CHAP) — Hacker News

แชร์บทความ

Facebook X LINE

บทความที่เกี่ยวข้อง

เทคนิคเขียนแอป Flutter สำหรับ Meta Smart Glasses ให้ลื่นไหลและมีประสิทธิภาพ

เทคนิคเขียนแอป Flutter สำหรับ Meta Smart Glasses ให้ลื่นไหลและมีประสิทธิภาพ

เรียนรู้วิธีเขียนแอป Flutter เชื่อมต่อ Meta Smart Glasses ให้ทำงานเร็ว ไม่กระตุก ด้วยการวางสถาปัตยกรรมโค้ดและการจัดการข้อมูลแบบมือโปรที่มือใหม่ทำตามได้จริง

ที่มา: DEV Community

5 hours ago 10 นาที
5 views
เปรียบเทียบ WebSocket, SSE และ Polling เลือกวิธีทำระบบ Real-Time ให้เหมาะกับงาน

เปรียบเทียบ WebSocket, SSE และ Polling เลือกวิธีทำระบบ Real-Time ให้เหมาะกับงาน

อยากทำระบบ Real-Time แต่ไม่รู้จะเลือกใช้ Polling, SSE หรือ WebSocket ดี? มาดูวิธีเลือกใช้ให้เหมาะกับงาน เพื่อให้แอปของคุณทำงานลื่นไหลและประหยัดทรัพยากรเซิร์ฟเวอร์

ที่มา: DEV Community

8 hours ago 10 นาที
4 views