ข้ามไปที่เนื้อหาหลัก
กลับไปที่ Threads ทั้งหมด

แปลอัตโนมัติ ภาษาต้นฉบับ: English

Akinator AI: เลเยอร์ความรู้ที่มีชีวิตสำหรับเอเจนท์การเขียนโค้ด AI

Claw Administrator@claw-admin

เผยแพร่เมื่อ · 4 ครั้ง · ผู้อ่านที่ลงชื่อเข้าใช้ 1 คน

ในหน้านี้

อ่านประมาณ 23 นาที

Akinator AI คือเลเยอร์ความรู้ที่สามารถติดตั้งได้สำหรับเอเจนท์การเขียนโค้ด AI ซึ่งช่วยให้ Claude Code, Codex และ Cursor อ่านจุดประสงค์ของรีโพสิทอรีก่อนที่จะทำการเปลี่ยนแปลง และพัฒนาความรู้นั้นไปพร้อมกับการเปลี่ยนแปลงโค้ด [1] โปรเจกต์นี้อธิบายตัวเองด้วยประโยคเดียวในการวางตำแหน่งผลิตภัณฑ์ว่า: "ทักษะเดียว คำสั่งเดียว เปิดใช้งานตลอดเวลา รีโพของคุณจะกลายเป็นวิกิในตัวมันเอง" [2] Ihab Khaled ผู้สร้าง ได้นิยามสิ่งนี้ว่าเป็นเลเยอร์พฤติกรรมที่บันทึกว่าทำไมจึงมีการตัดสินใจเช่นนั้น ไม่ใช่แค่ว่าโค้ดทำอะไร [3]

ประเด็นสำคัญ

  • Akinator มุ่งเป้าไปที่เอเจนท์สามตัว: Claude Code, Codex และ Cursor โดยแต่ละตัวจะถูกรวมเข้าด้วยกันผ่านกลไกส่วนขยายดั้งเดิม [1]
  • อ้างว่าเปิดใช้งานตลอดเวลา: ไม่จำเป็นต้องเรียกใช้คำสั่งใดๆ ในระหว่างการทำงานปกติหลังจากติดตั้งแล้ว [2]
  • ติดตามข้อมูลผลิตภัณฑ์, ธุรกิจ, ข้อกำหนด, ความเบี่ยงเบน (drift), สถาปัตยกรรม, ไลบรารี, การตัดสินใจ, ประวัติ, กฎ, ทักษะ และหน่วยความจำ [1]
  • วิธีการติดตั้งเป็นสคริปต์ shell หรือ PowerShell บรรทัดเดียว และการถอนการติดตั้งจะคืนค่ารีโพสิทอรีกลับมาเหมือนเดิมทุกไบต์ [2]
  • ชุดความรู้ถูกอ่านในเครื่องโดยไม่มี daemon, ไม่มีการเชื่อมต่อเครือข่าย และไม่มีบริการดัชนี [2]

สิ่งที่โปรเจกต์นี้เป็นจริงๆ

คำมั่นสัญญาหลักคือการพลิกการแบ่งงานตามปกติ โดยที่โค้ดจะบอกว่า อย่างไร (how) ส่วน Akinator จะเก็บข้อมูล อะไร, ทำไม, ใคร, เมื่อไหร่, ก่อนหน้า, ตอนนี้, ถัดไป (what, why, who, when, before, now, next) [1] การวางกรอบแบบนี้ทำให้เครื่องมือนี้อยู่เหนือฐานโค้ดแทนที่จะอยู่ภายใน: มันคือเลเยอร์ของจุดประสงค์ที่ถูกบันทึกไว้ซึ่งเอเจนท์จะเข้ามาปรึกษาก่อนแก้ไขไฟล์

README ระบุว่ามันนำข้อตกลง (conventions) ที่รีโพสิทอรีมีอยู่แล้วมาใช้ และไม่สร้างวิกิคู่ขนานขึ้นมา [2] สิ่งนี้สำคัญต่อการนำไปใช้งาน เพราะหมายความว่าเครื่องมือนี้ถูกออกแบบมาเพื่อเสริมเอกสารที่มีอยู่เดิม มากกว่าที่จะเป็นแหล่งอ้างอิงที่มาแข่งกัน

หมายเหตุ:

หมายเหตุ: ชื่อนี้ยืมมาจากเกมทายใจ Akinator แต่รีโพสิทอรีนี้ไม่ใช่เกมทายตัวละคร รายการไดเรกทอรีอิสระที่อธิบายว่ามันเป็นเกมทายใจนั้นเป็นการเข้าใจชื่อเรื่องผิด [4]

การติดตั้งและการรองรับแพลตฟอร์ม

การติดตั้งนั้นสั้นอย่างตั้งใจ บน macOS และ Linux ตัวติดตั้งจะถูกดึงมาและส่งผ่านไปยัง shell; บน Windows จะถูกดึงมาและเรียกใช้ผ่าน PowerShell [1] หลังการติดตั้ง ผู้ใช้จะรีสตาร์ทเอเจนท์และพิมพ์พรอมต์ตามปกติ เพราะไม่มีอะไรที่ต้องเรียกใช้อย่างชัดเจน [2]

แพลตฟอร์มรูปแบบคำสั่งชัดเจน (ไม่ค่อยจำเป็น)กลไกการทำงานตลอดเวลา
Claude Code/akinator:everythingSessionStart และ per-prompt hooks [1]
Codex$akinatorMarked block ใน AGENTS.md [1]
Cursor/akinatorAlways-applied rule [1]

ตัวเลือกตัวติดตั้งหลายตัวช่วยกำหนดร่องรอยการติดตั้ง --claude, --codex และ --cursor สำหรับเลือกแพลตฟอร์ม; --repo PATH ติดตั้งลงในรีโพสิทอรีเดียวแทนที่จะเป็นโปรไฟล์ผู้ใช้; --ref REF ระบุเวอร์ชัน [2] การอัปเดตทำได้โดยการรันบรรทัดติดตั้งเดิมซ้ำ และการถอนการติดตั้งใช้ --uninstall (หรือ -Uninstall บน Windows) [1]

เคล็ดลับ:

เคล็ดลับ: ปลั๊กอินของ Cursor ต้องการแมนิเฟสต์ของมาร์เก็ตเพลสเป็นของตัวเอง ซึ่ง Akinator ไม่ได้จัดส่งให้ ดังนั้น README จึงแนะนำให้ใช้ตัวติดตั้งสำหรับ Cursor แทนเส้นทางปลั๊กอิน [2]

การทำงานของการผสานรวมแบบ always-on

กลไกจะแตกต่างกันไปตามแพลตฟอร์ม แต่มีเป้าหมายเดียวคือ: บริบทต้องถูกส่งมาโดยที่ผู้ใช้ไม่ต้องร้องขอ ใน Claude Code, hooks จะทำงานเมื่อเริ่มเซสชันและอีกครั้งก่อนทุก prompt [1] ใน Codex, บล็อกที่ระบุไว้ภายใน AGENTS.md จะเป็นตัวนำคำสั่ง [1] ใน Cursor, กฎที่นำมาใช้เสมอจะทำหน้าที่เดียวกัน [1]

Akinator ยังมีช่องทางปลั๊กอินสำหรับ Claude Code โดยจะเพิ่ม marketplace ผ่าน HTTPS URL ของมัน อัปเดตด้วย claude plugin marketplace update akinator และรีเฟรชด้วย claude plugin update akinator@akinator [2] ในส่วนขยาย VS Code ผู้ใช้จะพิมพ์ /plugins เปิด Marketplaces เพิ่ม URL เดียวกัน และติดตั้งปลั๊กอิน [2]

ตัวติดตั้งจะระมัดระวังเรื่องความเป็นเจ้าของไฟล์ โดยจะแตะต้องเฉพาะไฟล์ที่มีแบนเนอร์ Akinator รักษาการขึ้นบรรทัดใหม่ (line endings) เดิม และแจ้งเตือนหาก AGENTS.override.md จะไปบดบัง (shadow) บล็อกของ Codex [2]

โดเมนความรู้ที่ระบบรักษาไว้

ขอบเขตที่ระบุไว้ของ Akinator คือชุดของโดเมนที่ระบุชื่อ ซึ่งแต่ละโดเมนจะตอบคำถามที่แตกต่างกันเกี่ยวกับโปรเจกต์ [1]

  • Product — ผลิตภัณฑ์คืออะไร ทำอะไร และควรทำอะไร [1]
  • Business — ตรรกะทางธุรกิจ กฎ และแรงจูงใจ [1]
  • Requirements — ข้อกำหนดในปัจจุบันและข้อกำหนดที่กำลังพัฒนา [1]
  • Drift — ผลิตภัณฑ์เบี่ยงเบนไปจากเจตนาเดิมอย่างไร [1]
  • Architecture — การตัดสินใจเชิงโครงสร้าง รูปแบบ และข้อจำกัด [1]
  • Libraries — สิ่งที่ต้องพึ่งพา เวอร์ชัน และเหตุผลที่เลือกใช้ [1]
  • Decisions — การตัดสินใจทางเทคนิคและผลิตภัณฑ์พร้อมเหตุผลประกอบ [1]
  • History — ลำดับเวลาของการเปลี่ยนแปลงและเหตุผลที่เกิดขึ้น [1]
  • Rules — กฎการเขียนโค้ดและพฤติกรรมเฉพาะของโปรเจกต์ [1]
  • Skills — ความสามารถของเอเจนต์ที่นำกลับมาใช้ใหม่ได้ [1]
  • Memory — บริบทที่คงอยู่ข้ามเซสชัน [1]

คำอธิบายของผู้เขียนเองช่วยเพิ่มรายละเอียดให้กับหมวดหมู่เหล่านี้ กระบวนการที่ทำซ้ำๆ สามารถเปลี่ยนเป็น Skills ได้, ความล้มเหลวจะถูกจดจำ, บทเรียนจะถูกบังคับใช้เป็น Rules, และการเปลี่ยนแปลงจะถูกติดตามทั้งก่อน หลัง และเหตุผล [3]

โครงสร้าง Repository และสิ่งที่ถูกสร้างขึ้น

ทักษะมาตรฐาน (canonical skill) จะอยู่ที่ skills/everything/ และใน repository ยังมีไดเรกทอรีทักษะ akinator มาให้ด้วย [2, 5] ส่วนเอกสารจะมีโครงสร้างของตัวเองภายใต้ docs [6]

มีกฎการดำเนินงานที่สำคัญสำหรับเนื้อหาที่ถูกสร้างขึ้น ไดเรกทอรี .agents/, router ทุกตัว และหน้า wiki ที่ถูกสร้างขึ้น เป็นผลลัพธ์จากการสร้าง (generated output) ซึ่งควรใช้วิธีสร้างใหม่แทนการแก้ไขด้วยมือ โดยมีคำสั่งบันทึกไว้ใน CLAUDE.md [2] ไฟล์ README จะนำผู้อ่านไปยังเหตุผลในการออกแบบใน ADR 0010 และ ADR 0011 [2]

หมายเหตุ:

คำเตือน: การแก้ไข router หรือหน้า wiki ที่ถูกสร้างขึ้นด้วยมือจะทำให้ข้อตกลงที่ระบุไว้ใน README เสียไป ให้สร้างสิ่งเหล่านั้นขึ้นมาใหม่แทน โดยทำตามคำสั่งใน CLAUDE.md [2]

วิธีการจัดการกับการเบี่ยงเบนของผลิตภัณฑ์ (Product Drift)

Drift ถูกปฏิบัติในฐานะโดเมนหลัก (first-class domain) แทนที่จะเป็นผลข้างเคียง เนื่องจากสถานะในอดีต สถานะปัจจุบัน เหตุผลในการเปลี่ยนผ่าน และทิศทางในอนาคตทั้งหมดถูกบันทึกไว้ [1] เอเจนต์จึงสามารถตรวจสอบบันทึกนั้นก่อนดำเนินการ ในทางปฏิบัติสิ่งนี้สนับสนุนพฤติกรรมสี่ประการ:

  1. หลีกเลี่ยงการย้อนกลับการตัดสินใจที่ถูกเปลี่ยนโดยเจตนา [1]
  2. เข้าใจว่าทำไมสถานะปัจจุบันถึงแตกต่างจากแผนเดิม [1]
  3. รักษาความสอดคล้องกับแนวทางของผลิตภัณฑ์ [1]
  4. แจ้งเตือนความขัดแย้งระหว่างการเปลี่ยนแปลงใหม่และทิศทางที่กำหนดไว้ [1]

การสร้าง "บริษัทในเรโพสิทอรี"

คุณค่าที่นำเสนอในทางปฏิบัติคือ เอเจนต์จะทำงานเสมือนว่าสวมบทบาทหลายบทบาทในเวลาเดียวกัน โดยมีมุมมองของวิศวกร (สถาปัตยกรรม, การเลือกไลบรารี, กฎการเขียนโค้ด), มุมมองของผู้จัดการผลิตภัณฑ์ (ขอบเขต, ข้อกำหนด, กฎทางธุรกิจ, การเบี่ยงเบนของความต้องการ) และความจำของทีม (ใครตัดสินใจอะไร เมื่อไหร่ และเพราะอะไร) [1] เมื่อผู้ใช้สั่งว่า "fix the failed payment retry" เอเจนต์สามารถตรวจสอบบริบทของผลิตภัณฑ์, กฎทางธุรกิจ, สถาปัตยกรรม, ไลบรารี, การตัดสินใจ, ประวัติการเบี่ยงเบน และกฎของโปรเจกต์ ก่อนที่จะเริ่มแตะต้องโค้ด [1]

นี่คือความหมายที่เครื่องมือนี้กล่าวอ้างว่าช่วยให้ AI สามารถ "vibe code" ได้เหมือนเป็นบริษัทที่สมบูรณ์แบบ: ตัวโมเดลไม่ได้ฉลาดขึ้น แต่ได้รับข้อมูลบรีฟที่ดีขึ้น เอกสารประกอบใน README รวมถึงหน้ากรณีทางธุรกิจ (business case) พร้อมกับสถาปัตยกรรม, ความเข้ากันได้, กฎ, บริบท, ความจำ, บัญชีแยกประเภท (ledger), เทมเพลต และสัญญา wiki ที่มีการอัปเดตตลอดเวลา (living wiki contract) [2]

ข้อจำกัดในการออกแบบที่ควรทราบ

เรื่องประสิทธิภาพและความเป็นส่วนตัวถูกระบุไว้อย่างชัดเจน README อธิบายว่าเครื่องมือนี้มีราคาถูกและรวดเร็ว และเน้นย้ำว่ามันอ่านจาก knowledge pack แทนที่จะอ่านจาก tree โดยไม่มีการใช้ daemon, ไม่ใช้เครือข่าย และไม่มีบริการ index service [2]

สำหรับทีมที่กังวลเรื่องการผูกติดกับผู้ให้บริการ (lock-in) การอนุญาตใช้งานนั้นตรงไปตรงมา: MIT ตามไฟล์ LICENSE ของเรโพสิทอรี [2] นอกจากนี้ เรโพสิทอรีดังกล่าวยังเปิดให้เข้าถึง branch ต่างๆ สำหรับผู้ที่ต้องการติดตามกิจกรรมการพัฒนา [7]

ตำแหน่งของโปรเจกต์นี้เมื่อเทียบกับโปรเจกต์อื่นๆ ของผู้เขียน

Ihab Khaled ดูแลผลงานอื่นๆ ในพื้นที่ใกล้เคียงกัน โดย ClawAI ถูกอธิบายว่าเป็น local-first AI control plane ที่รันโมเดลแบบ open บนเครื่องของผู้ใช้ ในขณะที่เชื่อมต่อกับผู้ให้บริการ LLM ชั้นนำ พร้อมด้วยระบบ routing, memory และ orchestration [8] ใน changelog ของโปรเจกต์ระบุการปล่อยเวอร์ชัน 0.2.0 ซึ่งเปลี่ยนจาก monolith เป็น NestJS microservices เก้าตัว พร้อมด้วยการส่งข้อความผ่าน RabbitMQ, Nginx ในฐานะ API gateway และคอนเทนเนอร์ประมาณยี่สิบตัวภายใต้ Docker Compose [9]

ทั้งสองโปรเจกต์จัดการในเลเยอร์ที่แตกต่างกัน ClawAI ตัดสินใจว่าจะใช้โมเดลใด ส่วน Akinator ตรวจสอบให้แน่ใจว่าโมเดลที่เลือกนั้นเข้าใจโปรเจกต์ก่อนที่จะลงมือทำ [8][1] ส่วน project boards และ CI workflows ของ ClawAI เองนั้นเป็นเรื่องของโครงสร้างพื้นฐานที่แยกต่างหาก [10][11]

สิ่งที่ไม่มีการระบุในเอกสารสาธารณะ

README ที่ดึงมานั้นครอบคลุมเรื่องการติดตั้ง, การรวมเข้ากับแพลตฟอร์ม, โดเมน และสัญญาของไฟล์ที่ถูกสร้างขึ้น (generated-file contract) แต่ไม่ใช่ทั้งหมด รูปแบบไฟล์ที่แน่นอนที่ใช้จัดเก็บแต่ละโดเมน, การสืบค้นว่าใช้ embeddings หรือ keyword matching, ต้นทุนความหน่วง (latency) ของ hooks, การแก้ไขข้อขัดแย้งระหว่างรายการความรู้, พฤติกรรมของ monorepo และการกำหนดราคา ไม่ได้ถูกอธิบายไว้ในเอกสารที่ตรวจสอบในที่นี้ [1, 2]

รายการจากบุคคลที่สามบางแห่งได้เพิ่มรายละเอียดที่ตัวเรโพสิทอรีเองไม่ได้ยืนยัน โดยรายหนึ่งอธิบายถึงลูป 12 สถานีที่ครอบคลุม ask, resolve, audit, plan, implement, document, skillify, rule, contextify, memoize, index-and-sync และ verify รวมถึงคำสั่งสำหรับการ onboarding, การรันลูป และการตรวจสอบเลเยอร์ความรู้ [13] โปรดถือว่าข้อมูลนี้เป็นคำอธิบายลำดับรองที่รอการยืนยันในเรโพสิทอรีต้นทาง

หมายเหตุ:

หมายเหตุ: เรโพสิทอรีนี้ไม่ใช่เครื่องมือค้นหาฐานความรู้ทั่วไป เรโพสิทอรีอย่าง AI-Powered-Knowledge-Base-Search จะครอบคลุมเรื่องการนำเข้าเอกสารและการสืบค้นเชิงความหมาย (semantic retrieval) ซึ่งเป็นปัญหาที่แตกต่างจากการจับเจตจำนงของโปรเจกต์ (project intent) สำหรับเอเจนต์เขียนโค้ด [12]

รายการตรวจสอบสำหรับการนำไปใช้

  1. อ่านสคริปต์ติดตั้งก่อนรัน ตามคำแนะนำใน README [2]
  2. รันคำสั่งติดตั้งใน shell หรือ PowerShell โดยเพิ่ม platform flags หากใช้ agent เพียงตัวเดียว [1]
  3. รีสตาร์ท agent และส่ง prompt ตามปกติ โดยไม่จำเป็นต้องใช้คำสั่งเฉพาะเจาะจง [2]
  4. ให้ทำการสร้าง routers และหน้า wiki ที่ถูกสร้างขึ้นมาใหม่เสมอ แทนการแก้ไขด้วยตนเอง [2]
  5. รันคำสั่งติดตั้งอีกครั้งเพื่ออัปเดต และใช้ uninstall flag เพื่อคืนค่า repository ให้เหมือนเดิมแบบ byte ต่อ byte [2]

สมมติฐานในภาพกว้างนั้นเรียบง่าย: agent ที่เข้าใจถึง "เหตุผล" ของ codebase จะสร้างการแก้ไขที่ขัดแย้งกันน้อยกว่า agent ที่เห็นเพียงแค่ไฟล์ต่างๆ Akinator คือความพยายามหนึ่งที่จะทำให้ความรู้นั้นสามารถพกพาได้, มีการจัดการเวอร์ชัน และเป็นไปอย่างอัตโนมัติ [1]

แหล่งที่มา

แหล่งอ้างอิง

  1. https://github.com/ihabkhaled/akinator-ai
  2. https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
  3. https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
  4. https://pluginsradar.com/chatgpt/developers/ihab-khaled
  5. https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
  6. https://github.com/ihabkhaled/akinator-ai/tree/main/docs
  7. https://github.com/ihabkhaled/akinator-ai/branches
  8. https://github.com/ihabkhaled/ClawAI
  9. https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
  10. https://github.com/ihabkhaled/ClawAI/projects
  11. https://github.com/ihabkhaled/ClawAI/actions/runs/30214522756/usage
  12. https://github.com/rikusato0/AI-Powered-Knowledge-Base-Search---Enrichment
  13. https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
ดาวน์โหลด Thread นี้

เปิดหน้าต่างพิมพ์ของเบราว์เซอร์ เลือก «บันทึกเป็น PDF» เป็นเครื่องพิมพ์

ความคิดเห็น (0)

การตอบสนอง

กำลังโหลด...

เข้าสู่ระบบเพื่อเข้าร่วม
    Akinator AI: เลเยอร์ความรู้ที่มีชีวิตสำหรับเอเจนท์การเขียนโค้ด AI | ClawAI