▶SUBTHAIแปลไทย · ซับ · พากย์⚙
บทความแปลภาษาไทย · YouTube

I Put an Agent Skill on the Solana Blockchain (Real Code Bytes)

0:000:00
เล่นเสียงต้นฉบับของวิดีโอ พร้อมแสดงซับไทยซิงก์ตามเวลา
กำลังโหลดวิดีโอ…
01

สรุปย่อ

ประเด็นสำคัญจากวิดีโอ

- **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~21 นาที · **ลิงก์:** https://www.youtube.com/watch?v=tVED0r3vGrQ

# สรุป: I Put an Agent Skill on the Solana Blockchain (Real Code Bytes)
- **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~21 นาที · **ลิงก์:** https://www.youtube.com/watch?v=tVED0r3vGrQ

## ประเด็นหลัก
- ผู้สร้างสร้างโปรเจกต์ "Gitlana" เพื่อจัดเก็บ agent skill (โค้ดจริง) ไว้บน Solana blockchain แบบถาวร ไม่ใช่ลิงก์หรือไฟล์สำรอง แต่เป็น bytes จริงใน account เดียว
- แนวคิดเริ่มจากคำถาน่าสนใจ "ถ้า repo สามารถเป็น NFT ได้ล่ะ?" และพัฒนาเป็นบ้านถาวรที่ตรวจสอบได้สำหรับแพ็กเกจซอฟต์แวร์ขนาดเล็ก
- เหตุผลหลักในการทำ: (1) พื้นที่เก็บข้อมูลที่ไม่มีใครแตะต้องได้ (2) มี wallet ติดกับทุกแพ็กเกจเป็น identity (3) "คิดว่ามันเท่"
- ใช้ Metaplex Core standard โดยเก็บ manifest ไว้ใน attributes plugin และตัวโค้ดเองใน app data plugin
- แพ็กเกจตัวอย่างมีขนาด 3,297 bytes บน mainnet ใช้เวลาสร้างด้วย Claude Code + Fable และ Hermes agent (GPT-5.6 Sol)
- deterministic packaging ทำให้ source เดียวกันได้ archive ตรงกันทุก byte บนทุกเครื่อง ใครก็ rebuild แล้วยืนยัน fingerprint ได้
- การ publish บน mainnet เสียค่าใช้จ่ายประมาณ 0.05 SOL (~$4) และเป็นเงินมัดจำที่คืนได้ ทั้งยังมี proposal จะลดอีก 10 เท่า
- รองรับ versioning เหมือน GitHub: update แทนที่ในตำแหน่งเดิม (เสียค่าใช้จ่ายน้อย) และ release เป็น snapshot แยกที่ immutable
- การเข้าถึงฟรีทั้งหมด เพียงเรียก get account info ไม่ต้อง login ตรวจสอบ fingerprint แล้วก็ unpack + ติดตั้งได้
- เดโมจริง: ให้ Hermes agent ตัวใหม่เอี่ยมดึงและติดตั้ง skill จาก address เดียว สำเร็จในราว 4 นาที
- Road map: Phase 2 เป็น provenance (เชื่อม wallet กับผู้เขียนตั้งต้นด้วย NPM provenance tech), Phase 3 คือ machine payments (Tempos / X402)
- โค้ดทั้งหมดเป็น public บน GitHub (Tomb Studios/Gitlana) และมี CLI ให้ใช้สำหรับ mint package ได้

## ความเห็นสรุป
โปรเจกต์นี้เป็นการทดลองที่น่าสนใจและมีเทคนิคที่ค่อนข้างแข็งแรง โดยอาศัยความสามารถของ Metaplex Core app data plugin ในการเก็บ raw bytes บน chain แบบถาวรจริงๆ แม้ว่าข้อจำกัดเรื่องขนาดและต้นทุนยังทำให้ใช้ได้กับแพ็กเกจขนาดเล็กเท่านั้น แต่แนวคิดดังกล่าวเปิดทางใหม่ในการกระจายซอฟต์แวร์อย่างไม่มีศูนย์กลาง คุ้มค่ากับการติดตามต่อสำหรับทิศทาง phase 2 และ 3 ครับ
02

คำแปลเต็ม

แปลตามบทสนทนาต้นฉบับ ปรับเป็นภาษาไทยธรรมชาติ

ตัวเลขพวกนี้บนสไลด์ด้านบนอาจจะดูเหมือนแค่ตัวเลขสุ่มที่ผมเอามาใส่เพื่อทำสไลด์ให้ดูเท่ นะครับ แต่จริงๆ แล้วมันเป็นข้อมูลจริงทั้งหมด มันคือ bytes จริงๆ ของแพ็กเกจซอฟต์แวร์และ agent skill ที่ผมสร้างขึ้น และมันอาศัยอยู่ภายใน account เดียวบน Solana blockchain ไม่ใช่ลิงก์ไปหามัน ไม่ใช่ข้อมูลสำรอง ไม่ใช่ตัวชี้ มันคือตัวโค้ดเองจริงๆ นะครับ นี่เป็นโปรเจกต์ที่ผมสร้างด้วยตัวเอง ตอนนี้ผมตั้งชื่อมันว่า Gitlana และในวิดีโอนี้ผมจะแนะนำแนวคิดให้คุณรู้จัก ว่าผมสร้างมันยังไง ผมจะพาคุณดู transaction หนึ่งตัว เพื่อพิสูจน์ว่าโค้ดและ skill นี้อยู่บน Solana blockchain จริงๆ ไม่ใช่ไฟล์ที่โฮสต์ไว้ที่ไหน ไม่ใช่เซิร์ฟเวอร์ของผมเอง แล้วสุดท้ายเราจะเอา AI agent ตัวใหม่ที่สด fresh หนึ่งตัว คือ Hermes agent แล้วก็ให้มันไปดึง skill นี้และติดตั้งตรงจาก blockchain เลย โดยที่ต้องรู้แค่สิ่งเดียวคือ address บน mainnet beta นี้ มาเริ่มกันเลยครับ

สิ่งหนึ่งเกี่ยวกับการได้เข้าถึงเครื่องมือ AI พวกนี้ทั้งหมดก็คือ มันจุดประกายจินตนาการได้จริงๆ อย่างน้อยก็สำหรับผมนะครับ ไอเดียสุ่มๆ อะไรก็ตาม ความอยากรู้อยากเห็นอะไรก็ตาม ผมสามารถคุยกับ agent ของผมเกี่ยวกับมันได้ ให้มันไปค้นคว้า แล้วลองดูว่ามีอะไรที่พอจะเป็นไอเดียที่ไม่เลยเหมือนกันหรือเปล่า และพูดตามตรงเก้าจากสิบครั้ง หรืออาจจะมากกว่านั้นด้วยซ้ำ ไอเดียนั้นก็ไม่ใช่ไอเดียที่ดีนัก และไอเดียนี้ก็เริ่มต้นด้วยศักยภาพแบบนั้นเหมือนกัน เมื่อผมถามมันว่า "ถ้า repo สามารถเป็น NFT ได้ล่ะ?"

ก็นั่นคือไอเดียครับ คือ mint code repository ให้เป็น NFT ทำให้ metadata เป็นตัวโค้ดเอง แล้วให้ agent ดึงซอฟต์แวร์มาได้จาก address และในธรรมเนียมการตั้งชื่อโปรเจกต์ Solana ที่แสนจะแห้งและเน้นไปที่สัตว์ตัว Sol กับ NFT กันใช่ไหมครับ ก็มี Sol bears, Sol llamas พวกนี้ ผมเลยตัดสินใจตั้งชื่อโปรเจกต์นี้ว่า Gitlana แต่ข้อเท็จจริงที่ต้องยอมรับก็คือ metadata ของ NFT โดยทั่วไปก็มักจะเป็นแค่ลิงก์ไปยังไฟล์ที่โฮสต์ไว้ที่อื่น แม้แต่ตัว NFT เองในแบบดั้งเดิม ก็มักจะเป็นแค่ลิงก์ไปยังไฟล์ที่เก็บไว้บน Arweave หรืออะไรแบบนั้น ดังนั้นไอเดียก็เลยถูกปรับปรุงให้กลายเป็น ไม่ใช่ Git บน blockchain โดยตรง แต่เป็นบ้านถาวรที่ตรวจสอบได้สำหรับแพ็กเกจซอฟต์แวร์ขนาดเล็ก โดยมี address เหมือนเงิน อ่านได้โดยใครก็ได้ ตลอดไป

คุณอาจจะถามว่า ทำไมต้องทำแบบนี้ใช่ไหมครับ ผมมีเหตุผลอยู่สามข้อ ข้อแรกคือพื้นที่เก็บข้อมูลที่ไม่มีใครแตะต้องได้ blockchain เป็นระบบกระจายศูนย์ ตอนปล่อยออกไปแล้วมันจะถูก freeze ไว้ bytes จะถูกคัดลอกไปทั่วเครือข่ายเครื่องจักรอิสระทั่วโลก ดังนั้นจึงไม่มี host ให้ใครมากดดัน ไม่มีปุ่มลบให้กดใช่ไหมครับ GitHub repo ก็เคยถูกลบออกตามคำขอจากผมเชื่อว่ารัฐบาล หรือแน่นอนว่าบริษัทเอกชน ถ้าเขียนไว้บน Solana blockchain มันจะเป็นระบบกระจายศูนย์อย่างสมบูรณ์และอยู่นอกเหนือการควบคุมของพวกเขา

ข้อสองคือจะมี wallet ติดอยู่กับทุกแพ็กเกจ ทุกแพ็กเกจจะถูก mint โดย Solana wallet ดังนั้นคุณจะมี identity ในตัวและมีวิธีสนับสนุนนักพัฒนาแบบ built-in แล้วผมคิดว่าสิ่งนี้จะถูกพัฒนาเพิ่มขึ้น ใน road map ของผม ผมมีแผนสำหรับ cryptographic proof ว่าใครเป็นคน publish มัน ซึ่งผมมีแผนที่ค่อนข้างชัดเจนสำหรับเรื่องนั้น แล้วในที่สุดผมคิดว่าน่าจะมีทางทำ payment gate ได้ แต่ผมยังคงศึกษาเรื่องนั้นในอนาคตอยู่ครับ

และเหตุผลข้อที่สาม ซึ่งอาจจะเป็นเหตุผลหลัก ก็คือ ผมไม่รู้สิ ผมว่ามันเท่ดี ซึ่งจริงๆ แล้วเป็นเหตุผลเดียวที่ผมต้องการจะลองทำอะไรซักอย่าง มันอาจจะโง่ อาจจะไม่มีค่า แต่ผมไม่รู้สิ ผมว่าการเอาโค้ดไปไว้บน blockchain มันเท่ดีนะ ผมเลยตัดสินใจลองทำดูครับ

ก็เคยมีความพยายามอื่นๆ ในเรื่องนี้มาก่อน และบางโปรเจกต์ก็ค่อนข้างประสบความสำเร็จพอสมควร ผมจะไม่พูดถึงทั้งหมดนะครับ แต่ protocol หลายตัวก็ค่อยๆ ตายลงไปด้วยเหตุผลอะไรบางอย่าง และบางตัวก็มีสถาปัตยกรรมที่ต่างออกไป คือมันไปชี้ไปที่ไฟล์หรือเซิร์ฟเวอร์นอก chain ซึ่งไม่ใช่สิ่งที่ผมต้องการทำเป๊ะๆ แต่ก็มีกรณีที่พิสูจน์แล้วว่าทำได้ เช่น Ordinals บน Bitcoin repo เหล่านี้ถูก inscribe ลงบน Bitcoin จริงๆ และ Olas น่าจะเป็นตัวที่ใกล้เคียงที่สุด พวกเขา mint agent เป็น NFT แต่ตัวโค้ดเองนั้นอยู่บน IPFS ซึ่งเป็น off-chain และอาจจะมีตัวอย่างอื่นๆ อีก แต่ผมไม่เห็นใครทำเป๊ะกับสิ่งที่ผมอยากทำบน Solana mainnet เลย

ผมสร้างโปรเจกต์นี้โดยใช้ทั้ง Claude Code ร่วมกับ Fable และ Hermes agent โดยใช้ GPT-5.6 Sol แน่นอนครับ และนี่คือกฎห้าข้อที่เราวางไว้ ข้อแรกคือไอเดียไม่ใช่การสร้าง Git ใหม่ GitHub ก็ใช้ได้อยู่แล้วสำหรับสิ่งที่มันเป็น แต่จงขายในสิ่งที่ GitHub ทำไม่ได้ นั่นคือความถาวร การตรวจสอบที่มา และการชำระเงิน ข้อสอง การอ่านฟรี การ publish เสียเงิน ค่า mint จะเป็นตัวกรองสแปมเพราะการ mint NFT พวกนี้ก็ต้องเสียเงินจริงๆ ข้อสามเป็นส่วนที่ยังอยู่ใน road map คือต้องแสดงให้เห็นว่าใครเป็นคน sign ไม่ใช่แค่มี badge ยืนยันอย่างเดียว คุณต้องมี identity ที่ชัดเจนว่าใครเป็นคนสร้างสิ่งนี้ขึ้นมาจริงๆ ข้อสี่ NFT คือการกระจาย ไม่ใช่ของที่ระลึก มันไม่ใช่ของสะสมหรืออะไรแบบนั้นจริงๆ และข้อห้า unit ต้องมีขนาดเล็ก repo ทั้งหมดยังใส่ไม่ไหวในเชิงเศรษฐกิจในตอนนี้กับเทคโนโลยีที่เรามี

ผมเลยโฟกัสไปที่ agent skills เป็นหลัก ซึ่งค่อนข้างเบา ปกติแล้วมีขนาดไม่กี่กิโลไบต์ ส่วนใหญ่เป็นไฟล์ markdown หรืออาจจะเป็นสคริปต์ Python เล็กๆ แต่ไม่ใช่ codebase ขนาดมหึมาในกรณีส่วนใหญ่นะครับ ก็มีการเคลื่อนไหวไปทาง agent และ on-chain identity อยู่พอสมควร Ethereum มีระบบของตัวเอง Solana Foundation ก็เปิดตัวในเดือนมีนาคม สร้าง identity reputation validation สำหรับ agent แต่สิ่งที่เราพบก็คือยังไม่มี agent skill ทั้งตัวอยู่บน chain บน Solana mainnet ที่สามารถ resolve ได้ด้วย address เพียงอย่างเดียว

เราเลยสร้างมันขึ้นมา และนี่คือสถาปัตยกรรมครับ ผมรู้ว่าหลายคนอาจจะไม่ค่อยคุ้นเคยกับ Solana หรือ blockchain ผมเลยขออธิบายสั้นๆ นะครับ หนึ่ง มันคือ global ledger ตัวเดียว คือบันทึกที่ใช้ร่วมกันซึ่งถูกซิงค์โดย validator อิสระหลายร้อยตัวทั่วโลก รวมเป็น node หลายพันตัว ดังนั้นจึงไม่มีเซิร์ฟเวอร์เครื่องเดียวที่เป็นศูนย์กลางนะครับ สอง ข้อมูลอยู่ในสิ่งที่เรียกว่า account มันเป็น container ไบต์เล็กๆ ที่ validator ทุกตัวเก็บสำเนาไว้ address ก็เปรียบเหมือนหมายเลขกล่องนั่นเอง สาม การเขียน bytes ต้องจ่ายเงินมัดจำเรียกว่า rent และมันคืนได้ แต่การอ่าน account ใดๆ นั้นฟรีทั้งหมด ทันที และไม่ต้อง login คุณแค่ต้องการ address ก็พอ และสำหรับ NFT ก็คือ account ที่มี identity นี่ไม่ใช่ NFT ในความหมายดั้งเดิมแบบรูปภาพหรือ PFP หรอกครับ มันเป็นแค่ non-fungible token มันมีอยู่แค่ตัวเดียว และมี identity ติดมาด้วย เราจะใช้มาตรฐาน Metaplex Core ซึ่งผมจะพูดถึงอีกเล็กน้อยในภายหลัง

แล้ว Metaplex Core คืออะไร? การจะสร้าง NFT ซึ่งก็คือ entity ที่ไม่ซ้ำใครและมีเจ้าของบน chain คุณต้องทำตามมาตรฐานหนึ่ง นั่นคือรูปแบบที่ตกลงกันว่า asset จะมีหน้าตาแบบไหนบน chain Metaplex เป็น toolkit ที่อยู่เบื้องหลัง NFT บน Solana ส่วนใหญ่ และ Core คือเวอร์ชันล่าสุดที่ทันสมัยที่สุด ส่วนที่ดีก็คือ Core asset เป็น account เดียวที่ lean มันมีแค่ name, owner, และ update key ซึ่งต่างจากดีไซน์เก่าที่เอา account หลายตัวมาต่อกัน ความสามารถใหม่ที่ยิ่งใหญ่ก็คือ plugin ตัวนี้แหละครับ และมันสำคัญมากสำหรับสถาปัตยกรรมของเรา คุณสามารถ attach plugin เข้ากับ asset เพื่อให้มันมีข้อมูลหรือพฤติกรรมเพิ่มเติมได้ ให้คิดว่ามันเหมือนการลงแอปบนมือถือคุณนะครับ แล้วเราจะใช้สองตัวที่นี่ ตัวหนึ่งเก็บ manifest ขนาดเล็กมาก อีกตัวเก็บ code payload ทั้งหมด ตัวที่สองนี่แหละคือเทคนิคที่สำคัญจริงๆ manifest อยู่ใน attributes ส่วนตัวโค้ดเองอยู่ใน app data

app data คืออะไร? app data เป็น plugin อย่างที่บอก และมัน attach raw bytes โดยตรงเข้ากับ account ของ asset และถูกเก็บบน chain ภายในตัว asset เอง ความสามารถเดียวนั้นแหละคือสิ่งที่เปลี่ยน "โค้ดบน blockchain" จากการพูดเปรียบเปรยให้กลายเป็นเรื่องจริงตามตัวอักษรเลย อย่างที่บอก NFT ปกติจะมี account มีลิงก์บางอย่าง แล้วก็ไฟล์บนเซิร์ฟเวอร์ Arweave เป็นที่นิยมมากที่สุดสำหรับ PFP NFT พวกนี้ใช่ไหมครับ แต่กับ app data ไม่มีลิงก์เลย bytes ก็คือตัว account เอง ดังนั้นจึงไม่มีอะไรให้ชี้ ไม่มีอะไรให้สูญหาย validator ทุกตัวเก็บสำเนาไว้

และอย่างที่บอก attributes plugin เก็บ label text ขนาดเล็ก ซึ่งก็คือที่ที่เราใส่ manifest, ชื่อ, เวอร์ชัน, และ fingerprint พอเอาทั้งหมดมารวมกัน นี่คือแพ็กเกจทั้งหมด มันเป็นแค่ account เดียวนะครับ แต่มีขนาด 3,297 bytes บน mainnet และนั่นคือทุกอย่างสำหรับ agent skill ที่ผมสร้างขึ้น และในเดโมนี้ ผมจะใช้ skill ที่สอน agent วิธีการดึง skill เหล่านี้จาก on chain มาดูกันสักเล็กน้อยนะครับ ที่ด้านบนมี identity ประกอบด้วย name, owner, update key, update authority ซึ่งปกติจะเป็นคนที่ mint NFT นั้น แล้วก็อย่างที่บอก attributes คือ manifest มันแสดงมาตรฐาน เวอร์ชัน entry point แล้วก็ตรงนี้ content SHA256 นี่คือ fingerprint ที่ใครก็สามารถตรวจสอบซ้ำได้ แล้วก็ตัว code เอง ซึ่งอยู่ในรูป compressed archive ซึ่งจริงๆ แล้วก็คือ skill หนึ่งตัวแล้วก็สคริปต์เล็กๆ หนึ่งตัว และมีเรื่องหนึ่งที่สำคัญ คือมี deterministic packaging ดังนั้น source file เดียวกันจะให้ archive ที่เหมือนกันทุก byte บนเครื่องไหนก็ตาม fingerprint นี้จึงไม่ใช่เรื่องที่คุณต้องเชื่อผมแค่ฝ่ายเดียว ใครก็สามารถ rebuild จาก source แล้วยืนยันได้

แต่ก็มีข้อจำกัดอยู่ และมันเป็นข้อจำกัดที่ค่อนข้างใหญ่ด้วย คือ Solana transaction เดียวปัจจุบันรับได้ประมาณ 1.2 กิโลไบต์ ซึ่งแน่นอนว่าเล็กกว่าแพ็กเกจส่วนใหญ่ แล้วเราจะเอาไฟล์ที่ใหญ่กว่านั้นเข้าไปได้ยังไงล่ะ? มีสามขั้นตอนครับ ขั้นแรก stage คุณเขียน archive ทีละ chunk เข้าไปใน temporary buffer account จากนั้น copy ซึ่งเป็น instruction เดียวที่ดูด buffer ทั้งหมดเข้าไปในแพ็กเกจของคุณในครั้งเดียว แล้วสุดท้าย reclaim คุณลบ buffer ทิ้ง และเงินมัดจำก็คืนมาหาคุณทันที

แล้วมันเสียเงินเท่าไหร่จริงๆ? นี่คือตัวเลขจริงจากการ launch ที่เราทำ การ publish บน mainnet ทั้งหมดของเรา ทั้งแพ็กเกจและ frozen snapshot รวมเป็นประมาณ 0.05 SOL หรือราวๆ 4 ดอลลาร์ตามราคา SOL ปัจจุบัน และนี่คืนได้ถ้าคุณปิดมัน และมันน่าจะถูกลงไปอีก ตามที่เข้าใจ ยังไม่ได้ตัดสินใจขาดลอย แต่มี Solana proposal ที่จะลดค่ามัดจำพื้นที่เก็บข้อมูลลง 10 เท่า และมันจะค่อยๆ ออกมาเป็นขั้นตอน โดยขั้นแรกตั้งเป้าไว้กลางเดือนสิงหาคม ซึ่ง timing ก็ค่อนข้างดีทีเดียว

สิ่งที่ GitHub มีคือ versioning ใช่ไหมครับ ผมก็เลยอยากเพิ่มองค์ประกอบนั้นใน Gitlana ของผม แต่มันอาจจะแพง อย่างที่เพิ่งเห็น เพราะทุกครั้งที่ publish มันจะต้องเสียเงิน ดังนั้นเวลาที่คุณอัปเดตโค้ดเอง เวอร์ชันใหม่จะเข้าไปแทนที่ payload ในตำแหน่งเดิม เหมือนกับ Git push โดย address ไม่เปลี่ยน ทุกคนที่ถืออยู่ก็จะได้รับการอัปเดต และมันแทบจะไม่ต้องเสียเงินเลย แล้วก็มี releases ซึ่งเป็นประวัติศาสตร์มากกว่า release หมายถึง snapshot แยกต่างหาก และมันจะทำลาย update key ของตัวเอง มันจึงเป็น immutable และ snapshot เหล่านั้นจะเชื่อมกลับไปยัง parent ของมัน และมีประวัติเวอร์ชันแบบเต็มที่เดินได้บน chain ทั้งหมด

คุณอาจจะไม่จำเป็นต้องเอาทุก push ไปทำเป็น release แยก แต่ release ใหญ่ๆ คุณสามารถ freeze แบบนี้ได้ คุณก็จะเห็นประวัติศาสตร์ได้ และผมก็ได้ทดสอบเรื่องนี้จริงๆ ครับ immutability ถูกบังคับโดยเครือข่าย ไม่ใช่สัญญาของใครคนใดคนหนึ่ง ผมลองทดสอบแล้ว เราพยายามจะ override frozen snapshot ของตัวเอง ด้วย wallet ที่สร้างมันขึ้นมาเลยด้วยซ้ำ แต่มันถูกปฏิเสธครับ ดังนั้น frozen ก็คือ frozen มันเป็น immutable สำหรับทุกคน รวมถึงคนที่เขียนมันขึ้นมาด้วย

แล้วจะเข้าถึงยังไง? มันง่ายมากครับ ก็แค่เลข มันคือการเรียก API ฟรีหนึ่งครั้ง เรียกว่า get account info ไปยัง node ใดก็ได้ ไม่ต้อง login หรืออะไร เครื่องจักรทำได้เลย คุณสามารถอ่าน manifest และ bytes ได้ แล้วก็คำนวณ fingerprint ใหม่ ถ้ามันไม่ตรงกับ manifest ก็หยุด แล้วก็ unpack อย่างปลอดภัย แสดงไฟล์และสิทธิ์ แล้วให้คนยืนยัน แล้วก็ติดตั้ง ดังนั้น address นี้จึงพิสูจน์ integrity ของมัน bytes ที่คุณได้มาคือ bytes ที่ถูก publish จริงๆ และการตรวจสอบ fingerprint ทำให้การแก้ไขตรวจจับได้โดยใครก็ตาม

สิ่งที่ยังทำไม่ได้ตอนนี้คือเรื่อง authorship ใช่ไหมครับ ตอนนี้ใครก็สามารถ mint สำเนาของโค้ดใครก็ได้ แต่ผมกำลังทำเรื่องนั้นอยู่ ผมมีแผนที่ค่อนข้างชัดเจนสำหรับ phase two ที่จะพิสูจน์ว่าใครเป็นคน publish โดยการพิสูจน์ว่าใครเป็นคน publish มัน ผมจะมาอัปเดตให้คุณฟังเรื่องนั้นเมื่อมันเสร็จนะครับ แต่จากการวิจัยและแผนที่ผมได้พัฒนาขึ้น มันดูเหมือนจะเป็นไปได้ค่อนข้างสูง

โอเค คุณคงเบื่อสไลด์แล้วใช่ไหมครับ มาดูของจริงกันสักหน่อยดีกว่า และถ้าคุณใช้ Hermes Agent อยู่แล้วและอยากเข้าถึง LM wiki ที่ผมเองใช้ทำวิจัยและสร้างวิดีโอพวกนี้จริงๆ ลองแวะดูโปรเจกต์ของผมที่ agentwikis.com ได้นะครับ ผมให้ wiki ทั้งหมดนี้ฟรีในหัวข้อต่างๆ ที่หลากหลาย และคุณก็สามารถสมัคร pro account ในราคา 9.99 ดอลลาร์ต่อเดือนได้ ซึ่งจะให้สิทธิ์เข้าถึง wiki ขนาดใหญ่พิเศษ มีจำนวนหน้ามากกว่าและรายละเอียดมากกว่าในแต่ละหัวข้อ กลับเข้าเรื่องวิดีโอกันต่อนะครับ

นี่คือตอนที่ผมกำลังทำงานอยู่ใน Fable หรือทำงานใน Claude Code กับ Fable ผมเริ่มจาก brainstorm file นั้น ซึ่งเป็นความคิดสุ่มๆ ของผม ผมให้มันรัน sub-agent หลายตัวเพื่อตรวจสอบความเป็นไปได้ของเรื่องนี้ และมันเป็นเรื่องค่อนข้าง... พองานวิจัยจาก Fable เสร็จ มันก็ค่อนข้างง่ายเลย มันหาวิธีทำได้แล้ว และนี่ก็เป็นวิธีเดียวกับที่เราทำอยู่เป๊ะเลย แล้วเราก็คุยกันว่ามันเหมาะกับ Git push และอะไรพวกนั้นไหม และเราคุยกันถึงตัวเลือกต่างๆ แต่สุดท้ายเราก็เลือกวิธีที่ผมเพิ่งแนะนำไปก่อนหน้านี้

ผมถามคำถามต่างๆ มากมายเกี่ยวกับเรื่องนี้ รวมถึงความเสี่ยงด้านความปลอดภัย ไม่มีอะไรน่ากังวลมากนัก ตราบใดที่คุณไม่เอา key ของคุณไปเผยแพร่สาธารณะ ส่วนที่น่าห่วงที่สุดก็คงจะเป็นขั้นตอนต่อไป ถ้าคุณเชื่อม wallet ของคุณกับ identity สาธารณะ ถึงอย่างนั้นก็ตาม มีหลายวิธีที่คนทำแบบนั้นอยู่แล้ว แต่นั่นก็จะเป็นส่วนที่เลือกได้ด้วยเช่นกัน

จากนั้นเราก็ทำ devnet test ของเรื่องนี้ ผลปรากฏว่าสำเร็จ แล้วเราก็ทำ mainnet test และ mainnet test ก็ผ่านเช่นกัน นี่คือ mutable head ซึ่งเป็น address หลักของมัน ถ้าผมตรวจสอบ address นี้บน Solscan มันจะออกมาหน้าตาแบบนี้ครับ นี่คือสิ่งที่มันดูเหมือน ผมจะใส่ address นี้ในคำอธิบายไว้ ถ้าคุณต้องการตรวจสอบเอง คุณจะเห็นมันได้ที่นี่เลย และ owner นี้คือ wallet address ของผมที่ใช้สำหรับเรื่องนี้ คุณจะเห็นว่า owner program คือ Metaplex Core และมันจะแสดงชื่อว่า on-chain skill resolver ซึ่งเป็นชื่อของ agent skill ตัวนี้ คุณจะเห็น metadata ตรงนี้ mint แล้วก็ update authority ส่วน Solscan เองจะไม่แสดงส่วนนี้ ผมต้องไปดูใน... นี่คือ core.metaplex.com explorer ของพวกเขา นี่คือสิ่งที่เขามี ซึ่งมีรายละเอียดมากกว่า on-chain skill resolver ก็คืออันเดียวกันเลย owner คือ address ของผม ซึ่งก็เป็น update authority ด้วย

คุณเห็น attributes ตรงนี้ นี่คือ manifest ที่ผมพูดถึง มันมี content SHA ซึ่งก็คือ fingerprint และก็มี name, version และข้อมูลทั้งหมด แล้วถ้าคุณดูตรงนี้ นี่คือ app data และนี่ก็คือ plugin ด้วย นี่คือข้อมูลที่ถูกเก็บไว้ ตัวเลขพวกนี้อาจจะดูเหมือนตัวเลขสุ่ม แต่มันก็คือตัวเลขสุ่มจริงๆ มันคือ raw bytes ในรูปแบบ hexadecimal ของ agent skill นั่นเอง ถ้าผม copy มันมา แล้วผมจะเอามาใส่ตรงนี้ คุณไม่จำเป็นต้องทำแบบนี้ด้วยมือนะครับ agent ในแบบที่มันถูกออกแบบมา agent จะอ่านมันเอง แต่เพื่อจะแสดงให้คุณเห็น นี่คือเครื่องมือที่เรียกว่า CyberChef มันมีหลายวิธีในการอ่าน binary และ hexadecimal ต่างกันไป นี่คือ input ซึ่งก็คือสิ่งที่คุณเห็น แล้วผมกด bake และนี่คือ output พบไฟล์สามไฟล์จากการนี้ คุณจะเห็น skill MD, scripts directory แล้วก็ fetch script ซึ่งก็แค่ helper สำหรับดึงข้อมูลแบบง่ายๆ skill MD คือไฟล์หลัก และคุณจะเห็นว่ามันหน้าตาเหมือนไฟล์ markdown ปกติเลยใช่ไหมครับ on-chain skill resolver ใช้เมื่อไหร่ วิธีการเก็บ on-chain skills กระบวนการดึงข้อมูล

มันบอก agent ว่าต้องทำยังไง security rules, publisher attestation, ตัวอย่าง ใช่ครับ failure modes ทุกอย่างที่คุณจะได้ในไฟล์ skill ปกติเลย และทั้งหมดนี้อยู่บน chain ในรูปแบบ hexadecimal อยู่บน Metaplex Core plugin ตัวนี้คือ app data plugin ทั้งหมดนี้อยู่บน chain อย่างสมบูรณ์ และคุณสามารถตรวจสอบได้บน explorer.solana.com ด้วย ดังนั้นมันคือ Metaplex compressed NFT ในทางเทคนิค และมันมี raw data อยู่ raw data ถ้าคุณ copy มันอีกครั้ง มันก็คือสิ่งเดียวกับที่ผมเพิ่งแสดงให้คุณเห็น ก็มีเท่านี้ครับ เราเอามันขึ้น Solana mainnet แล้ว มันเป็น skill จริง

และตอนนี้เราจะให้ agent ตัวใหม่ที่สด fresh ตัวที่ไม่มี memory หรือความรู้เกี่ยวกับโปรเจกต์นี้เลย ลองดึงมันมา และเป็นครั้งเดียวที่ผมจะให้ prompt นี้กับมัน เพราะมันไม่รู้อะไรเลย นี่คือ prompt ที่ผมจะให้ และผมก็ไม่รู้เหมือนกันว่ามันจะทำงานได้จริงไหม ผมยังไม่ได้ทดสอบมันเลย แต่นี่คือ prompt ที่จะใช้ มี software package หนึ่งที่ถูกเก็บไว้ใน Solana account นี้ ผมจะให้ address กับมัน ให้ดึงมันมาด้วย get account info call ครั้งเดียว หา manifest และ gzip archive ใน bytes ตรวจสอบ fingerprint แล้วก็ unpack มันและอ่าน skill MD ก่อนเป็นอันดับแรก skill ที่มันดึงมาได้จะเป็น instructions ที่เหมือนกับที่ผมเพิ่งแสดงให้คุณเห็นสำหรับ on-chain skill resolver มาลองทำกันเลยครับ ใน Hermes agent ไปกันเลย

ตอนนี้เราอยู่ใน Hermes chat ใช้ GPT-5.6 Sol แน่นอนครับ ผมให้ prompt ที่คุณเพิ่งเห็นกับมัน แล้วมาดูกันว่ามันจะสามารถดึงมันมาได้จริงไหมจาก address เดียวนี้ มันไม่มี skill พิเศษอื่น ไม่มี MCP อื่น ไม่มี plugin นี่เป็น agent ตัวใหม่เอี่ยมเลย

โอเค มันกำลังทำงานอยู่ และมันทำได้แล้ว ใช้เวลาไปราวๆ 4 นาที เกือบ 4 นาทีเลย ดึง ตรวจสอบ และ unpack สำเร็จ account owner มันได้ skill มาแล้ว มันตรวจสอบ integrity จริงๆ ด้วย คุณจะเห็นว่า fingerprint ตรงกันอย่างถูกต้อง มันสามารถดึง skill และสคริปต์มาได้ และคุณจะเห็นว่า skill MD ถูก extract ออกมา โดยอธิบายว่าเป็น read-only resolver สำหรับการดึงและตรวจสอบ Hermes-style skills ที่เก็บอยู่ใน Metaplex Core account state นี่คือสิ่งที่ skill ทำเป๊ะเลย

ตอนนี้ผมก็สามารถติดตั้ง skill ตรงนี้ได้ โอเค ติดตั้งเรียบร้อยแล้ว คุณจะเห็นตรงนี้เลยใน Hermes skill ของผม ในหมวด software development on-chain skill resolver นั่นคือกระบวนการทั้งหมดตั้งแต่ต้นจนจบ การ mint NFT นี้แล้วให้ agent ดึง skill มาตรงจาก blockchain ได้เลย

แล้วเราจะไปต่อยังไงจากตรงนี้? Phase one ส่งมอบไปได้ค่อนข้างดีเลย ผมพอใจกับผลลัพธ์นี้มาก Phase two คือเรื่อง provenance และอย่างที่บอก ผมมี road map ที่ค่อนข้างชัดเจนว่าจะทำยังไง มันจะใช้เทคโนโลยีที่อยู่เบื้องหลัง NPM provenance ซึ่งผมคิดว่าสามารถนำมา reuse ในกรณีนี้ได้ เพื่อเชื่อมต่อ wallet กับผู้เขียนตั้งต้นของ GitHub repo หรือ NPM package จริงๆ แล้ว phase three คือเรื่องที่ผมกำลังศึกษาอยู่ ผมยังล็อกไว้ไม่แน่นเท่า phase two แต่ก็คงจะเป็นระบบ machine payments บางรูปแบบ ไม่ว่าจะใช้ Tempos machine payments protocol ซึ่งมี Stripe และ Paradigm เป็นแบ็กเอนด์ หรือ X402 บน Solana เพื่อทำ payment gate ให้กับโค้ดบน chain โดยที่ wallet ของผู้เขียนสามารถรับเงินจากโค้ดที่เขาเขียนได้โดยตรง แน่นอนว่ามีหลายวิธีที่จะทำแบบนี้แบบ off-chain แต่ผมไม่รู้สิ ผมว่าการลองทำแบบนี้ทั้งหมดบน chain มันเท่ดีนะ

และถ้าคุณอยากตรวจสอบเรื่องนี้ด้วยตัวเอง รวมถึงบน GitHub แบบเก่าๆ ผมได้ publish มันไว้แล้ว ตอนนี้เป็น public นะครับ ที่ Gitlana ใน Tomb Studios / Gitlana คุณสามารถเข้าไปดูได้เลย agent skill packages จริงๆ มันเป็นโค้ดอะไรก็ได้ แต่ผมแค่คิดว่า agent skills เหมาะสมที่สุดกับเรื่องนี้ และ repo นี้จะให้ข้อมูลทุกอย่างที่คุณจำเป็นต้องรู้ ทั้งการ mint package เอง หรือให้ agent ของคุณชี้ไปที่มัน และจริงๆ มันเป็น CLI ที่คุณสามารถติดตั้งได้ โดยใช้ git clone แล้วก็ npm install เพื่อให้คุณสามารถใช้คำสั่งง่ายๆ เหล่านี้ได้ แทนที่จะต้องคุยกับ agent โดยตรง คุณก็แค่ใช้คำสั่ง CLI ที่ผมสร้างขึ้นเพื่อให้มันง่ายขึ้นนิดหน่อย แต่มันมีข้อมูลทุกอย่างเกี่ยวกับวิธี publish skill บน chain รวมถึง formatting และอย่างอื่นทั้งหมด และการอัปเดตใดๆ ของ road map ที่ผมพูดถึงเรื่องอื่นๆ ก็จะอยู่ที่ repo นี้ทั้งหมด

ก็มีเท่านี้ครับ ทุกเรื่องที่พูดถึงในวิดีโอนี้มีอยู่ที่ address นี้บน Solana mainnet มัน live อยู่ตอนนี้ ผมจะใส่ address ไว้ในคำอธิบายเพื่อให้คุณตรวจสอบได้ด้วยตัวเอง สิ่งที่เริ่มจากคำถามสุ่มๆ กับ agent ของผม กลายเป็นโค้ดจริงบน chain ไปแล้ว ก็คงจะมีเท่านี้สำหรับวิดีโอนี้นะครับ รบกวนแสดงความคิดเห็นด้วยนะว่าคิดอย่างไร ผมรู้ว่าเรื่องนี้อาจจะดูโง่สำหรับคนส่วนใหญ่ แต่ผมว่ามันเป็นไอเดียที่เท่ดี และมันอยู่บนจุดตัดระหว่าง blockchain และ AI ซึ่งเป็นขอบเขตที่ผมสนใจ ถึงแม้ว่าผมจะยังไม่ได้ทำงานในพื้นที่ on-chain AI garage ที่เรียกว่าเร็วๆ นี้ก็ตาม แต่ผมก็มีไอเดียนี้ขึ้นมา ถ้าคุณชอบวิดีโอนี้ ฝากกด like ด้วยนะครับ กด subscribe ด้วย แล้วเจอกันใหม่วิดีโอหน้า ขอบคุณที่รับชมครับ

03

หมายเหตุการแปล

ความโปร่งใสเกี่ยวกับความไม่แน่นอนในต้นฉบับ

  • ## ส่วนที่ไม่แน่ใจ / ไม่ชัดเจน
  • ไม่มีส่วนที่ฟังไม่ชัดจนต้องใส่ `[ฟังไม่ชัด]`
04

อภิธานศัพท์เทคนิค

คำศัพท์และชื่อผลิตภัณฑ์ที่คงรูปภาษาอังกฤษ

ศัพท์คำแปล / คำอธิบาย
Solanaเครือข่าย blockchain ความเร็วสูง
blockchainบัญชีแยกประเภทแบบกระจายศูนย์
agent skillชุดคำสั่ง/ความรู้ที่สอน AI agent ให้ทำงานบางอย่าง
Hermes Agentแพลตฟอร์ม AI agent ของ Nous Research
Gitlanaชื่อโปรเจกต์ที่ผู้สร้างตั้ง (Git + Solana)
NFTnon-fungible token (โทเค็นที่ไม่สามารถแทนกันได้)
Metaplex Coreมาตรฐาน NFT ล่าสุดบน Solana ใช้ account เดียวแบบ lean
app data pluginplugin ที่เก็บ raw bytes ลงบน chain ในตัว asset เอง
attributes pluginplugin ที่เก็บ label text ขนาดเล็ก เช่น manifest
manifestข้อมูลเมตาของแพ็กเกจ เช่น ชื่อ เวอร์ชัน entry point
fingerprintลายนิ้วมือของไฟล์ (content SHA256) ใช้ตรวจสอบ integrity
mainnetเครือข่ายหลักของ blockchain (ไม่ใช่ทดลอง)
mainnet betaเครือข่ายหลักของ Solana ในช่วงเริ่มต้น
devnetเครือข่ายทดลองสำหรับนักพัฒนา
accountcontainer ไบต์บน blockchain ที่ validator ทุกตัวเก็บสำเนา
validatorเครื่องที่ช่วยซิงค์และยืนยันธุรกรรมบนเครือข่าย
nodeเครื่องในเครือข่าย blockchain
addressตัวระบุของ account (เหมือนหมายเลขกล่อง)
transactionธุรกรรมบน blockchain
rentเงินมัดจำสำหรับการเขียน bytes ลงบน account (คืนได้)
mintสร้าง NFT หรือ token ใหม่ขึ้นมา
walletกระเป๋าเงินดิจิทัลบน blockchain
update authorityผู้มีสิทธิ์อัปเดต asset
immutableไม่สามารถเปลี่ยนแปลงได้
provenanceการตรวจสอบที่มาและความเป็นเจ้าของ
Arweaveเครือข่ายจัดเก็บข้อมูลถาวร
IPFSระบบไฟล์แบบกระจายศูนย์
Ordinalsระบบ inscribe ข้อมูลลงบน Bitcoin
Olasโปรเจกต์ที่ mint agent เป็น NFT
Claude Codeเครื่องมือเขียนโค้ดของ Anthropic
Fableเครื่องมือ AI ที่ใช้ร่วมกับ Claude Code
GPT-5.6 Solโมเดล AI ที่ใช้ใน Hermes agent
GitHubแพลตฟอร์มจัดเก็บโค้ด
deterministic packagingการที่ source เดียวกันได้ archive ตรงกันทุก byte
SHA256อัลกอริทึมแฮชใช้สร้าง fingerprint
CyberChefเครื่องมือแปลงและวิเคราะห์ข้อมูล hexadecimal/binary
get account infoการเรียก API เพื่ออ่านข้อมูล account (ฟรี)
gzip archiveไฟล์บีบอัดที่เก็บโค้ดและสคริปต์
NPMระบบจัดการแพ็กเกจของ Node.js
Temposmachine payments protocol ที่มี Stripe และ Paradigm สนับสนุน
X402protocol สำหรับการชำระเงินบน Solana
PFPprofile picture NFT แบบดั้งเดิม
LM wikiฐานความรู้สำหรับ AI agent ใช้ค้นคว้า
CLIcommand-line interface
05

ซับไตเติ้ลภาษาไทย

ดาวน์โหลดหรือดูซับทั้งหมด

1
00:00:00,000 --> 00:00:05,924
ตัวเลขพวกนี้บนสไลด์ด้านบนอาจจะดูเหมือนแค่ตัวเลขสุ่มที่ผมเอามาใส่เพื่อทำสไลด์ให้ดูเท่

2
00:00:05,924 --> 00:00:09,520
นะครับ แต่จริงๆ แล้วมันเป็นข้อมูลจริงทั้งหมด มันคือ

3
00:00:09,520 --> 00:00:13,822
bytes จริงๆ ของแพ็กเกจซอฟต์แวร์และ agent skill ที่ผมสร้างขึ้น

4
00:00:13,822 --> 00:00:17,630
และมันอาศัยอยู่ภายใน account เดียวบน Solana blockchain
thai-subtitles.srt
SubRip — ใช้กับเครื่องเล่นวิดีโอส่วนใหญ่
↓ ดาวน์โหลด
thai-subtitles.vtt
WebVTT — ใช้กับเว็บ / YouTube
↓ ดาวน์โหลด
เปิดดูซับไตเติ้ลทั้งหมด (315 segments)
1
00:00:00,000 --> 00:00:05,924
ตัวเลขพวกนี้บนสไลด์ด้านบนอาจจะดูเหมือนแค่ตัวเลขสุ่มที่ผมเอามาใส่เพื่อทำสไลด์ให้ดูเท่

2
00:00:05,924 --> 00:00:09,520
นะครับ แต่จริงๆ แล้วมันเป็นข้อมูลจริงทั้งหมด มันคือ

3
00:00:09,520 --> 00:00:13,822
bytes จริงๆ ของแพ็กเกจซอฟต์แวร์และ agent skill ที่ผมสร้างขึ้น

4
00:00:13,822 --> 00:00:17,630
และมันอาศัยอยู่ภายใน account เดียวบน Solana blockchain

5
00:00:17,630 --> 00:00:21,086
ไม่ใช่ลิงก์ไปหามัน ไม่ใช่ข้อมูลสำรอง ไม่ใช่ตัวชี้

6
00:00:21,086 --> 00:00:25,599
มันคือตัวโค้ดเองจริงๆ นะครับ นี่เป็นโปรเจกต์ที่ผมสร้างด้วยตัวเอง

7
00:00:25,599 --> 00:00:30,676
ตอนนี้ผมตั้งชื่อมันว่า Gitlana และในวิดีโอนี้ผมจะแนะนำแนวคิดให้คุณรู้จัก

8
00:00:30,676 --> 00:00:34,273
ว่าผมสร้างมันยังไง ผมจะพาคุณดู transaction หนึ่งตัว

9
00:00:34,273 --> 00:00:38,222
เพื่อพิสูจน์ว่าโค้ดและ skill นี้อยู่บน Solana blockchain

10
00:00:38,222 --> 00:00:42,383
จริงๆ ไม่ใช่ไฟล์ที่โฮสต์ไว้ที่ไหน ไม่ใช่เซิร์ฟเวอร์ของผมเอง

11
00:00:42,383 --> 00:00:45,697
แล้วสุดท้ายเราจะเอา AI agent ตัวใหม่ที่สด fresh

12
00:00:45,697 --> 00:00:49,153
หนึ่งตัว คือ Hermes agent แล้วก็ให้มันไปดึง skill

13
00:00:49,153 --> 00:00:53,596
นี้และติดตั้งตรงจาก blockchain เลย โดยที่ต้องรู้แค่สิ่งเดียวคือ

14
00:00:53,596 --> 00:00:59,731
address บน mainnet beta นี้ มาเริ่มกันเลยครับ สิ่งหนึ่งเกี่ยวกับการได้เข้าถึงเครื่องมือ

15
00:00:59,731 --> 00:01:03,328
AI พวกนี้ทั้งหมดก็คือ มันจุดประกายจินตนาการได้จริงๆ

16
00:01:03,328 --> 00:01:06,642
อย่างน้อยก็สำหรับผมนะครับ ไอเดียสุ่มๆ อะไรก็ตาม

17
00:01:06,642 --> 00:01:10,097
ความอยากรู้อยากเห็นอะไรก็ตาม ผมสามารถคุยกับ agent

18
00:01:10,097 --> 00:01:17,079
ของผมเกี่ยวกับมันได้ ให้มันไปค้นคว้า แล้วลองดูว่ามีอะไรที่พอจะเป็นไอเดียที่ไม่เลยเหมือนกันหรือเปล่า

19
00:01:17,079 --> 00:01:20,958
และพูดตามตรงเก้าจากสิบครั้ง หรืออาจจะมากกว่านั้นด้วยซ้ำ

20
00:01:20,958 --> 00:01:26,740
ไอเดียนั้นก็ไม่ใช่ไอเดียที่ดีนัก และไอเดียนี้ก็เริ่มต้นด้วยศักยภาพแบบนั้นเหมือนกัน

21
00:01:26,740 --> 00:01:30,266
เมื่อผมถามมันว่า "ถ้า repo สามารถเป็น NFT ได้ล่ะ?"

22
00:01:30,266 --> 00:01:33,933
ก็นั่นคือไอเดียครับ คือ mint code repository ให้เป็น

23
00:01:33,933 --> 00:01:37,248
NFT ทำให้ metadata เป็นตัวโค้ดเอง แล้วให้ agent

24
00:01:37,248 --> 00:01:41,620
ดึงซอฟต์แวร์มาได้จาก address และในธรรมเนียมการตั้งชื่อโปรเจกต์

25
00:01:41,620 --> 00:01:44,935
Solana ที่แสนจะแห้งและเน้นไปที่สัตว์ตัว Sol กับ

26
00:01:44,935 --> 00:01:48,531
NFT กันใช่ไหมครับ ก็มี Sol bears, Sol llamas พวกนี้

27
00:01:48,531 --> 00:01:53,891
ผมเลยตัดสินใจตั้งชื่อโปรเจกต์นี้ว่า Gitlana แต่ข้อเท็จจริงที่ต้องยอมรับก็คือ

28
00:01:53,891 --> 00:01:58,968
metadata ของ NFT โดยทั่วไปก็มักจะเป็นแค่ลิงก์ไปยังไฟล์ที่โฮสต์ไว้ที่อื่น

29
00:01:58,968 --> 00:02:03,975
แม้แต่ตัว NFT เองในแบบดั้งเดิม ก็มักจะเป็นแค่ลิงก์ไปยังไฟล์ที่เก็บไว้บน

30
00:02:03,975 --> 00:02:08,489
Arweave หรืออะไรแบบนั้น ดังนั้นไอเดียก็เลยถูกปรับปรุงให้กลายเป็น

31
00:02:08,489 --> 00:02:14,835
ไม่ใช่ Git บน blockchain โดยตรง แต่เป็นบ้านถาวรที่ตรวจสอบได้สำหรับแพ็กเกจซอฟต์แวร์ขนาดเล็ก

32
00:02:14,835 --> 00:02:18,361
โดยมี address เหมือนเงิน อ่านได้โดยใครก็ได้ ตลอดไป

33
00:02:18,361 --> 00:02:22,734
คุณอาจจะถามว่า ทำไมต้องทำแบบนี้ใช่ไหมครับ ผมมีเหตุผลอยู่สามข้อ

34
00:02:22,734 --> 00:02:26,048
ข้อแรกคือพื้นที่เก็บข้อมูลที่ไม่มีใครแตะต้องได้

35
00:02:26,048 --> 00:02:29,997
blockchain เป็นระบบกระจายศูนย์ ตอนปล่อยออกไปแล้วมันจะถูก

36
00:02:29,997 --> 00:02:34,652
freeze ไว้ bytes จะถูกคัดลอกไปทั่วเครือข่ายเครื่องจักรอิสระทั่วโลก

37
00:02:34,652 --> 00:02:38,953
ดังนั้นจึงไม่มี host ให้ใครมากดดัน ไม่มีปุ่มลบให้กดใช่ไหมครับ

38
00:02:38,953 --> 00:02:42,550
GitHub repo ก็เคยถูกลบออกตามคำขอจากผมเชื่อว่ารัฐบาล

39
00:02:42,550 --> 00:02:46,499
หรือแน่นอนว่าบริษัทเอกชน ถ้าเขียนไว้บน Solana blockchain

40
00:02:46,499 --> 00:02:51,365
มันจะเป็นระบบกระจายศูนย์อย่างสมบูรณ์และอยู่นอกเหนือการควบคุมของพวกเขา

41
00:02:51,365 --> 00:02:55,385
ข้อสองคือจะมี wallet ติดอยู่กับทุกแพ็กเกจ ทุกแพ็กเกจจะถูก

42
00:02:55,385 --> 00:03:01,026
mint โดย Solana wallet ดังนั้นคุณจะมี identity ในตัวและมีวิธีสนับสนุนนักพัฒนาแบบ

43
00:03:01,026 --> 00:03:04,341
built-in แล้วผมคิดว่าสิ่งนี้จะถูกพัฒนาเพิ่มขึ้น

44
00:03:04,341 --> 00:03:07,937
ใน road map ของผม ผมมีแผนสำหรับ cryptographic proof

45
00:03:07,937 --> 00:03:12,803
ว่าใครเป็นคน publish มัน ซึ่งผมมีแผนที่ค่อนข้างชัดเจนสำหรับเรื่องนั้น

46
00:03:12,803 --> 00:03:16,259
แล้วในที่สุดผมคิดว่าน่าจะมีทางทำ payment gate ได้

47
00:03:16,259 --> 00:03:20,420
แต่ผมยังคงศึกษาเรื่องนั้นในอนาคตอยู่ครับ และเหตุผลข้อที่สาม

48
00:03:20,420 --> 00:03:24,228
ซึ่งอาจจะเป็นเหตุผลหลัก ก็คือ ผมไม่รู้สิ ผมว่ามันเท่ดี

49
00:03:24,228 --> 00:03:28,459
ซึ่งจริงๆ แล้วเป็นเหตุผลเดียวที่ผมต้องการจะลองทำอะไรซักอย่าง

50
00:03:28,459 --> 00:03:32,831
มันอาจจะโง่ อาจจะไม่มีค่า แต่ผมไม่รู้สิ ผมว่าการเอาโค้ดไปไว้บน

51
00:03:32,831 --> 00:03:37,697
blockchain มันเท่ดีนะ ผมเลยตัดสินใจลองทำดูครับ ก็เคยมีความพยายามอื่นๆ

52
00:03:37,697 --> 00:03:42,210
ในเรื่องนี้มาก่อน และบางโปรเจกต์ก็ค่อนข้างประสบความสำเร็จพอสมควร

53
00:03:42,210 --> 00:03:46,019
ผมจะไม่พูดถึงทั้งหมดนะครับ แต่ protocol หลายตัวก็ค่อยๆ

54
00:03:46,019 --> 00:03:50,673
ตายลงไปด้วยเหตุผลอะไรบางอย่าง และบางตัวก็มีสถาปัตยกรรมที่ต่างออกไป

55
00:03:50,673 --> 00:03:56,174
คือมันไปชี้ไปที่ไฟล์หรือเซิร์ฟเวอร์นอก chain ซึ่งไม่ใช่สิ่งที่ผมต้องการทำเป๊ะๆ

56
00:03:56,174 --> 00:03:59,488
แต่ก็มีกรณีที่พิสูจน์แล้วว่าทำได้ เช่น Ordinals

57
00:03:59,488 --> 00:04:02,944
บน Bitcoin repo เหล่านี้ถูก inscribe ลงบน Bitcoin

58
00:04:02,944 --> 00:04:06,611
จริงๆ และ Olas น่าจะเป็นตัวที่ใกล้เคียงที่สุด พวกเขา

59
00:04:06,611 --> 00:04:09,996
mint agent เป็น NFT แต่ตัวโค้ดเองนั้นอยู่บน IPFS

60
00:04:09,996 --> 00:04:16,201
ซึ่งเป็น off-chain และอาจจะมีตัวอย่างอื่นๆ อีก แต่ผมไม่เห็นใครทำเป๊ะกับสิ่งที่ผมอยากทำบน

61
00:04:16,201 --> 00:04:19,516
Solana mainnet เลย ผมสร้างโปรเจกต์นี้โดยใช้ทั้ง

62
00:04:19,516 --> 00:04:22,971
Claude Code ร่วมกับ Fable และ Hermes agent โดยใช้

63
00:04:22,971 --> 00:04:26,638
GPT-5.6 Sol แน่นอนครับ และนี่คือกฎห้าข้อที่เราวางไว้

64
00:04:26,638 --> 00:04:32,421
ข้อแรกคือไอเดียไม่ใช่การสร้าง Git ใหม่ GitHub ก็ใช้ได้อยู่แล้วสำหรับสิ่งที่มันเป็น

65
00:04:32,421 --> 00:04:35,877
แต่จงขายในสิ่งที่ GitHub ทำไม่ได้ นั่นคือความถาวร

66
00:04:35,877 --> 00:04:39,262
การตรวจสอบที่มา และการชำระเงิน ข้อสอง การอ่านฟรี

67
00:04:39,262 --> 00:04:43,140
การ publish เสียเงิน ค่า mint จะเป็นตัวกรองสแปมเพราะการ

68
00:04:43,140 --> 00:04:47,442
mint NFT พวกนี้ก็ต้องเสียเงินจริงๆ ข้อสามเป็นส่วนที่ยังอยู่ใน

69
00:04:47,442 --> 00:04:51,391
road map คือต้องแสดงให้เห็นว่าใครเป็นคน sign ไม่ใช่แค่มี

70
00:04:51,391 --> 00:04:57,456
badge ยืนยันอย่างเดียว คุณต้องมี identity ที่ชัดเจนว่าใครเป็นคนสร้างสิ่งนี้ขึ้นมาจริงๆ

71
00:04:57,456 --> 00:05:02,957
ข้อสี่ NFT คือการกระจาย ไม่ใช่ของที่ระลึก มันไม่ใช่ของสะสมหรืออะไรแบบนั้นจริงๆ

72
00:05:02,957 --> 00:05:09,727
และข้อห้า unit ต้องมีขนาดเล็ก repo ทั้งหมดยังใส่ไม่ไหวในเชิงเศรษฐกิจในตอนนี้กับเทคโนโลยีที่เรามี

73
00:05:09,727 --> 00:05:13,464
ผมเลยโฟกัสไปที่ agent skills เป็นหลัก ซึ่งค่อนข้างเบา

74
00:05:13,464 --> 00:05:17,272
ปกติแล้วมีขนาดไม่กี่กิโลไบต์ ส่วนใหญ่เป็นไฟล์ markdown

75
00:05:17,272 --> 00:05:20,939
หรืออาจจะเป็นสคริปต์ Python เล็กๆ แต่ไม่ใช่ codebase

76
00:05:20,939 --> 00:05:24,606
ขนาดมหึมาในกรณีส่วนใหญ่นะครับ ก็มีการเคลื่อนไหวไปทาง

77
00:05:24,606 --> 00:05:27,991
agent และ on-chain identity อยู่พอสมควร Ethereum

78
00:05:27,991 --> 00:05:31,941
มีระบบของตัวเอง Solana Foundation ก็เปิดตัวในเดือนมีนาคม

79
00:05:31,941 --> 00:05:35,396
สร้าง identity reputation validation สำหรับ agent

80
00:05:35,396 --> 00:05:39,204
แต่สิ่งที่เราพบก็คือยังไม่มี agent skill ทั้งตัวอยู่บน

81
00:05:39,204 --> 00:05:42,660
chain บน Solana mainnet ที่สามารถ resolve ได้ด้วย

82
00:05:42,660 --> 00:05:47,526
address เพียงอย่างเดียว เราเลยสร้างมันขึ้นมา และนี่คือสถาปัตยกรรมครับ

83
00:05:47,526 --> 00:05:50,911
ผมรู้ว่าหลายคนอาจจะไม่ค่อยคุ้นเคยกับ Solana หรือ

84
00:05:50,911 --> 00:05:54,366
blockchain ผมเลยขออธิบายสั้นๆ นะครับ หนึ่ง มันคือ

85
00:05:54,366 --> 00:05:58,597
global ledger ตัวเดียว คือบันทึกที่ใช้ร่วมกันซึ่งถูกซิงค์โดย

86
00:05:58,597 --> 00:06:02,617
validator อิสระหลายร้อยตัวทั่วโลก รวมเป็น node หลายพันตัว

87
00:06:02,617 --> 00:06:06,848
ดังนั้นจึงไม่มีเซิร์ฟเวอร์เครื่องเดียวที่เป็นศูนย์กลางนะครับ

88
00:06:06,848 --> 00:06:10,163
สอง ข้อมูลอยู่ในสิ่งที่เรียกว่า account มันเป็น

89
00:06:10,163 --> 00:06:13,830
container ไบต์เล็กๆ ที่ validator ทุกตัวเก็บสำเนาไว้

90
00:06:13,830 --> 00:06:17,638
address ก็เปรียบเหมือนหมายเลขกล่องนั่นเอง สาม การเขียน

91
00:06:17,638 --> 00:06:21,093
bytes ต้องจ่ายเงินมัดจำเรียกว่า rent และมันคืนได้

92
00:06:21,093 --> 00:06:24,902
แต่การอ่าน account ใดๆ นั้นฟรีทั้งหมด ทันที และไม่ต้อง

93
00:06:24,902 --> 00:06:28,569
login คุณแค่ต้องการ address ก็พอ และสำหรับ NFT ก็คือ

94
00:06:28,569 --> 00:06:33,364
account ที่มี identity นี่ไม่ใช่ NFT ในความหมายดั้งเดิมแบบรูปภาพหรือ

95
00:06:33,364 --> 00:06:37,807
PFP หรอกครับ มันเป็นแค่ non-fungible token มันมีอยู่แค่ตัวเดียว

96
00:06:37,807 --> 00:06:41,262
และมี identity ติดมาด้วย เราจะใช้มาตรฐาน Metaplex

97
00:06:41,262 --> 00:06:45,000
Core ซึ่งผมจะพูดถึงอีกเล็กน้อยในภายหลัง แล้ว Metaplex

98
00:06:45,000 --> 00:06:50,077
Core คืออะไร? การจะสร้าง NFT ซึ่งก็คือ entity ที่ไม่ซ้ำใครและมีเจ้าของบน

99
00:06:50,077 --> 00:06:54,097
chain คุณต้องทำตามมาตรฐานหนึ่ง นั่นคือรูปแบบที่ตกลงกันว่า

100
00:06:54,097 --> 00:06:57,764
asset จะมีหน้าตาแบบไหนบน chain Metaplex เป็น toolkit

101
00:06:57,764 --> 00:07:01,220
ที่อยู่เบื้องหลัง NFT บน Solana ส่วนใหญ่ และ Core

102
00:07:01,220 --> 00:07:04,605
คือเวอร์ชันล่าสุดที่ทันสมัยที่สุด ส่วนที่ดีก็คือ

103
00:07:04,605 --> 00:07:08,272
Core asset เป็น account เดียวที่ lean มันมีแค่ name,

104
00:07:08,272 --> 00:07:11,727
owner, และ update key ซึ่งต่างจากดีไซน์เก่าที่เอา

105
00:07:11,727 --> 00:07:15,535
account หลายตัวมาต่อกัน ความสามารถใหม่ที่ยิ่งใหญ่ก็คือ

106
00:07:15,535 --> 00:07:19,696
plugin ตัวนี้แหละครับ และมันสำคัญมากสำหรับสถาปัตยกรรมของเรา

107
00:07:19,696 --> 00:07:25,408
คุณสามารถ attach plugin เข้ากับ asset เพื่อให้มันมีข้อมูลหรือพฤติกรรมเพิ่มเติมได้

108
00:07:25,408 --> 00:07:30,204
ให้คิดว่ามันเหมือนการลงแอปบนมือถือคุณนะครับ แล้วเราจะใช้สองตัวที่นี่

109
00:07:30,204 --> 00:07:33,659
ตัวหนึ่งเก็บ manifest ขนาดเล็กมาก อีกตัวเก็บ code

110
00:07:33,659 --> 00:07:37,467
payload ทั้งหมด ตัวที่สองนี่แหละคือเทคนิคที่สำคัญจริงๆ

111
00:07:37,467 --> 00:07:40,782
manifest อยู่ใน attributes ส่วนตัวโค้ดเองอยู่ใน

112
00:07:40,782 --> 00:07:44,096
app data app data คืออะไร? app data เป็น plugin

113
00:07:44,096 --> 00:07:47,552
อย่างที่บอก และมัน attach raw bytes โดยตรงเข้ากับ

114
00:07:47,552 --> 00:07:51,148
account ของ asset และถูกเก็บบน chain ภายในตัว asset

115
00:07:51,148 --> 00:07:54,815
เอง ความสามารถเดียวนั้นแหละคือสิ่งที่เปลี่ยน "โค้ดบน

116
00:07:54,815 --> 00:07:59,470
blockchain" จากการพูดเปรียบเปรยให้กลายเป็นเรื่องจริงตามตัวอักษรเลย

117
00:07:59,470 --> 00:08:02,855
อย่างที่บอก NFT ปกติจะมี account มีลิงก์บางอย่าง

118
00:08:02,855 --> 00:08:06,945
แล้วก็ไฟล์บนเซิร์ฟเวอร์ Arweave เป็นที่นิยมมากที่สุดสำหรับ

119
00:08:06,945 --> 00:08:10,753
PFP NFT พวกนี้ใช่ไหมครับ แต่กับ app data ไม่มีลิงก์เลย

120
00:08:10,753 --> 00:08:14,420
bytes ก็คือตัว account เอง ดังนั้นจึงไม่มีอะไรให้ชี้

121
00:08:14,420 --> 00:08:17,734
ไม่มีอะไรให้สูญหาย validator ทุกตัวเก็บสำเนาไว้

122
00:08:17,734 --> 00:08:21,119
และอย่างที่บอก attributes plugin เก็บ label text

123
00:08:21,119 --> 00:08:25,069
ขนาดเล็ก ซึ่งก็คือที่ที่เราใส่ manifest, ชื่อ, เวอร์ชัน,

124
00:08:25,069 --> 00:08:29,088
และ fingerprint พอเอาทั้งหมดมารวมกัน นี่คือแพ็กเกจทั้งหมด

125
00:08:29,088 --> 00:08:32,755
มันเป็นแค่ account เดียวนะครับ แต่มีขนาด 3,297 bytes

126
00:08:32,755 --> 00:08:36,070
บน mainnet และนั่นคือทุกอย่างสำหรับ agent skill

127
00:08:36,070 --> 00:08:39,455
ที่ผมสร้างขึ้น และในเดโมนี้ ผมจะใช้ skill ที่สอน

128
00:08:39,455 --> 00:08:44,250
agent วิธีการดึง skill เหล่านี้จาก on chain มาดูกันสักเล็กน้อยนะครับ

129
00:08:44,250 --> 00:08:47,847
ที่ด้านบนมี identity ประกอบด้วย name, owner, update

130
00:08:47,847 --> 00:08:51,373
key, update authority ซึ่งปกติจะเป็นคนที่ mint NFT

131
00:08:51,373 --> 00:08:55,675
นั้น แล้วก็อย่างที่บอก attributes คือ manifest มันแสดงมาตรฐาน

132
00:08:55,675 --> 00:08:59,060
เวอร์ชัน entry point แล้วก็ตรงนี้ content SHA256

133
00:08:59,060 --> 00:09:03,009
นี่คือ fingerprint ที่ใครก็สามารถตรวจสอบซ้ำได้ แล้วก็ตัว

134
00:09:03,009 --> 00:09:06,605
code เอง ซึ่งอยู่ในรูป compressed archive ซึ่งจริงๆ

135
00:09:06,605 --> 00:09:10,202
แล้วก็คือ skill หนึ่งตัวแล้วก็สคริปต์เล็กๆ หนึ่งตัว

136
00:09:10,202 --> 00:09:14,010
และมีเรื่องหนึ่งที่สำคัญ คือมี deterministic packaging

137
00:09:14,010 --> 00:09:18,030
ดังนั้น source file เดียวกันจะให้ archive ที่เหมือนกันทุก

138
00:09:18,030 --> 00:09:23,812
byte บนเครื่องไหนก็ตาม fingerprint นี้จึงไม่ใช่เรื่องที่คุณต้องเชื่อผมแค่ฝ่ายเดียว

139
00:09:23,812 --> 00:09:28,326
ใครก็สามารถ rebuild จาก source แล้วยืนยันได้ แต่ก็มีข้อจำกัดอยู่

140
00:09:28,326 --> 00:09:31,711
และมันเป็นข้อจำกัดที่ค่อนข้างใหญ่ด้วย คือ Solana

141
00:09:31,711 --> 00:09:35,237
transaction เดียวปัจจุบันรับได้ประมาณ 1.2 กิโลไบต์

142
00:09:35,237 --> 00:09:41,301
ซึ่งแน่นอนว่าเล็กกว่าแพ็กเกจส่วนใหญ่ แล้วเราจะเอาไฟล์ที่ใหญ่กว่านั้นเข้าไปได้ยังไงล่ะ?

143
00:09:41,301 --> 00:09:44,616
มีสามขั้นตอนครับ ขั้นแรก stage คุณเขียน archive

144
00:09:44,616 --> 00:09:48,283
ทีละ chunk เข้าไปใน temporary buffer account จากนั้น

145
00:09:48,283 --> 00:09:54,277
copy ซึ่งเป็น instruction เดียวที่ดูด buffer ทั้งหมดเข้าไปในแพ็กเกจของคุณในครั้งเดียว

146
00:09:54,277 --> 00:09:59,002
แล้วสุดท้าย reclaim คุณลบ buffer ทิ้ง และเงินมัดจำก็คืนมาหาคุณทันที

147
00:09:59,002 --> 00:10:02,669
แล้วมันเสียเงินเท่าไหร่จริงๆ? นี่คือตัวเลขจริงจากการ

148
00:10:02,669 --> 00:10:06,336
launch ที่เราทำ การ publish บน mainnet ทั้งหมดของเรา

149
00:10:06,336 --> 00:10:09,792
ทั้งแพ็กเกจและ frozen snapshot รวมเป็นประมาณ 0.05

150
00:10:09,792 --> 00:10:14,517
SOL หรือราวๆ 4 ดอลลาร์ตามราคา SOL ปัจจุบัน และนี่คืนได้ถ้าคุณปิดมัน

151
00:10:14,517 --> 00:10:18,607
และมันน่าจะถูกลงไปอีก ตามที่เข้าใจ ยังไม่ได้ตัดสินใจขาดลอย

152
00:10:18,607 --> 00:10:22,556
แต่มี Solana proposal ที่จะลดค่ามัดจำพื้นที่เก็บข้อมูลลง

153
00:10:22,556 --> 00:10:27,916
10 เท่า และมันจะค่อยๆ ออกมาเป็นขั้นตอน โดยขั้นแรกตั้งเป้าไว้กลางเดือนสิงหาคม

154
00:10:27,916 --> 00:10:31,583
ซึ่ง timing ก็ค่อนข้างดีทีเดียว สิ่งที่ GitHub มีคือ

155
00:10:31,583 --> 00:10:35,391
versioning ใช่ไหมครับ ผมก็เลยอยากเพิ่มองค์ประกอบนั้นใน

156
00:10:35,391 --> 00:10:39,834
Gitlana ของผม แต่มันอาจจะแพง อย่างที่เพิ่งเห็น เพราะทุกครั้งที่

157
00:10:39,834 --> 00:10:43,783
publish มันจะต้องเสียเงิน ดังนั้นเวลาที่คุณอัปเดตโค้ดเอง

158
00:10:43,783 --> 00:10:47,168
เวอร์ชันใหม่จะเข้าไปแทนที่ payload ในตำแหน่งเดิม

159
00:10:47,168 --> 00:10:52,527
เหมือนกับ Git push โดย address ไม่เปลี่ยน ทุกคนที่ถืออยู่ก็จะได้รับการอัปเดต

160
00:10:52,527 --> 00:10:55,842
และมันแทบจะไม่ต้องเสียเงินเลย แล้วก็มี releases

161
00:10:55,842 --> 00:10:59,579
ซึ่งเป็นประวัติศาสตร์มากกว่า release หมายถึง snapshot

162
00:10:59,579 --> 00:11:03,528
แยกต่างหาก และมันจะทำลาย update key ของตัวเอง มันจึงเป็น

163
00:11:03,528 --> 00:11:06,984
immutable และ snapshot เหล่านั้นจะเชื่อมกลับไปยัง

164
00:11:06,984 --> 00:11:10,722
parent ของมัน และมีประวัติเวอร์ชันแบบเต็มที่เดินได้บน

165
00:11:10,722 --> 00:11:14,600
chain ทั้งหมด คุณอาจจะไม่จำเป็นต้องเอาทุก push ไปทำเป็น

166
00:11:14,600 --> 00:11:18,549
release แยก แต่ release ใหญ่ๆ คุณสามารถ freeze แบบนี้ได้

167
00:11:18,549 --> 00:11:22,569
คุณก็จะเห็นประวัติศาสตร์ได้ และผมก็ได้ทดสอบเรื่องนี้จริงๆ

168
00:11:22,569 --> 00:11:27,364
ครับ immutability ถูกบังคับโดยเครือข่าย ไม่ใช่สัญญาของใครคนใดคนหนึ่ง

169
00:11:27,364 --> 00:11:30,961
ผมลองทดสอบแล้ว เราพยายามจะ override frozen snapshot

170
00:11:30,961 --> 00:11:34,416
ของตัวเอง ด้วย wallet ที่สร้างมันขึ้นมาเลยด้วยซ้ำ

171
00:11:34,416 --> 00:11:37,731
แต่มันถูกปฏิเสธครับ ดังนั้น frozen ก็คือ frozen

172
00:11:37,731 --> 00:11:41,892
มันเป็น immutable สำหรับทุกคน รวมถึงคนที่เขียนมันขึ้นมาด้วย

173
00:11:41,892 --> 00:11:45,982
แล้วจะเข้าถึงยังไง? มันง่ายมากครับ ก็แค่เลข มันคือการเรียก

174
00:11:45,982 --> 00:11:49,437
API ฟรีหนึ่งครั้ง เรียกว่า get account info ไปยัง

175
00:11:49,437 --> 00:11:53,316
node ใดก็ได้ ไม่ต้อง login หรืออะไร เครื่องจักรทำได้เลย

176
00:11:53,316 --> 00:11:56,701
คุณสามารถอ่าน manifest และ bytes ได้ แล้วก็คำนวณ

177
00:11:56,701 --> 00:12:00,086
fingerprint ใหม่ ถ้ามันไม่ตรงกับ manifest ก็หยุด

178
00:12:00,086 --> 00:12:04,317
แล้วก็ unpack อย่างปลอดภัย แสดงไฟล์และสิทธิ์ แล้วให้คนยืนยัน

179
00:12:04,317 --> 00:12:08,055
แล้วก็ติดตั้ง ดังนั้น address นี้จึงพิสูจน์ integrity

180
00:12:08,055 --> 00:12:11,440
ของมัน bytes ที่คุณได้มาคือ bytes ที่ถูก publish

181
00:12:11,440 --> 00:12:16,094
จริงๆ และการตรวจสอบ fingerprint ทำให้การแก้ไขตรวจจับได้โดยใครก็ตาม

182
00:12:16,094 --> 00:12:19,973
สิ่งที่ยังทำไม่ได้ตอนนี้คือเรื่อง authorship ใช่ไหมครับ

183
00:12:19,973 --> 00:12:24,909
ตอนนี้ใครก็สามารถ mint สำเนาของโค้ดใครก็ได้ แต่ผมกำลังทำเรื่องนั้นอยู่

184
00:12:24,909 --> 00:12:29,493
ผมมีแผนที่ค่อนข้างชัดเจนสำหรับ phase two ที่จะพิสูจน์ว่าใครเป็นคน

185
00:12:29,493 --> 00:12:36,263
publish โดยการพิสูจน์ว่าใครเป็นคน publish มัน ผมจะมาอัปเดตให้คุณฟังเรื่องนั้นเมื่อมันเสร็จนะครับ

186
00:12:36,263 --> 00:12:41,270
แต่จากการวิจัยและแผนที่ผมได้พัฒนาขึ้น มันดูเหมือนจะเป็นไปได้ค่อนข้างสูง

187
00:12:41,270 --> 00:12:45,713
โอเค คุณคงเบื่อสไลด์แล้วใช่ไหมครับ มาดูของจริงกันสักหน่อยดีกว่า

188
00:12:45,713 --> 00:12:49,098
และถ้าคุณใช้ Hermes Agent อยู่แล้วและอยากเข้าถึง

189
00:12:49,098 --> 00:12:52,694
LM wiki ที่ผมเองใช้ทำวิจัยและสร้างวิดีโอพวกนี้จริงๆ

190
00:12:52,694 --> 00:12:56,150
ลองแวะดูโปรเจกต์ของผมที่ agentwikis.com ได้นะครับ

191
00:12:56,150 --> 00:12:59,605
ผมให้ wiki ทั้งหมดนี้ฟรีในหัวข้อต่างๆ ที่หลากหลาย

192
00:12:59,605 --> 00:13:03,978
และคุณก็สามารถสมัคร pro account ในราคา 9.99 ดอลลาร์ต่อเดือนได้

193
00:13:03,978 --> 00:13:10,536
ซึ่งจะให้สิทธิ์เข้าถึง wiki ขนาดใหญ่พิเศษ มีจำนวนหน้ามากกว่าและรายละเอียดมากกว่าในแต่ละหัวข้อ

194
00:13:10,536 --> 00:13:14,979
กลับเข้าเรื่องวิดีโอกันต่อนะครับ นี่คือตอนที่ผมกำลังทำงานอยู่ใน

195
00:13:14,979 --> 00:13:18,505
Fable หรือทำงานใน Claude Code กับ Fable ผมเริ่มจาก

196
00:13:18,505 --> 00:13:21,819
brainstorm file นั้น ซึ่งเป็นความคิดสุ่มๆ ของผม

197
00:13:21,819 --> 00:13:26,474
ผมให้มันรัน sub-agent หลายตัวเพื่อตรวจสอบความเป็นไปได้ของเรื่องนี้

198
00:13:26,474 --> 00:13:29,788
และมันเป็นเรื่องค่อนข้าง... พองานวิจัยจาก Fable

199
00:13:29,788 --> 00:13:36,065
เสร็จ มันก็ค่อนข้างง่ายเลย มันหาวิธีทำได้แล้ว และนี่ก็เป็นวิธีเดียวกับที่เราทำอยู่เป๊ะเลย

200
00:13:36,065 --> 00:13:40,014
แล้วเราก็คุยกันว่ามันเหมาะกับ Git push และอะไรพวกนั้นไหม

201
00:13:40,014 --> 00:13:45,726
และเราคุยกันถึงตัวเลือกต่างๆ แต่สุดท้ายเราก็เลือกวิธีที่ผมเพิ่งแนะนำไปก่อนหน้านี้

202
00:13:45,726 --> 00:13:50,803
ผมถามคำถามต่างๆ มากมายเกี่ยวกับเรื่องนี้ รวมถึงความเสี่ยงด้านความปลอดภัย

203
00:13:50,803 --> 00:13:55,669
ไม่มีอะไรน่ากังวลมากนัก ตราบใดที่คุณไม่เอา key ของคุณไปเผยแพร่สาธารณะ

204
00:13:55,669 --> 00:13:59,548
ส่วนที่น่าห่วงที่สุดก็คงจะเป็นขั้นตอนต่อไป ถ้าคุณเชื่อม

205
00:13:59,548 --> 00:14:03,144
wallet ของคุณกับ identity สาธารณะ ถึงอย่างนั้นก็ตาม

206
00:14:03,144 --> 00:14:08,363
มีหลายวิธีที่คนทำแบบนั้นอยู่แล้ว แต่นั่นก็จะเป็นส่วนที่เลือกได้ด้วยเช่นกัน

207
00:14:08,363 --> 00:14:12,312
จากนั้นเราก็ทำ devnet test ของเรื่องนี้ ผลปรากฏว่าสำเร็จ

208
00:14:12,312 --> 00:14:16,191
แล้วเราก็ทำ mainnet test และ mainnet test ก็ผ่านเช่นกัน

209
00:14:16,191 --> 00:14:19,505
นี่คือ mutable head ซึ่งเป็น address หลักของมัน

210
00:14:19,505 --> 00:14:23,807
ถ้าผมตรวจสอบ address นี้บน Solscan มันจะออกมาหน้าตาแบบนี้ครับ

211
00:14:23,807 --> 00:14:27,827
นี่คือสิ่งที่มันดูเหมือน ผมจะใส่ address นี้ในคำอธิบายไว้

212
00:14:27,827 --> 00:14:31,212
ถ้าคุณต้องการตรวจสอบเอง คุณจะเห็นมันได้ที่นี่เลย

213
00:14:31,212 --> 00:14:35,302
และ owner นี้คือ wallet address ของผมที่ใช้สำหรับเรื่องนี้

214
00:14:35,302 --> 00:14:39,815
คุณจะเห็นว่า owner program คือ Metaplex Core และมันจะแสดงชื่อว่า

215
00:14:39,815 --> 00:14:43,412
on-chain skill resolver ซึ่งเป็นชื่อของ agent skill

216
00:14:43,412 --> 00:14:47,008
ตัวนี้ คุณจะเห็น metadata ตรงนี้ mint แล้วก็ update

217
00:14:47,008 --> 00:14:51,098
authority ส่วน Solscan เองจะไม่แสดงส่วนนี้ ผมต้องไปดูใน...

218
00:14:51,098 --> 00:14:55,471
นี่คือ core.metaplex.com explorer ของพวกเขา นี่คือสิ่งที่เขามี

219
00:14:55,471 --> 00:14:58,785
ซึ่งมีรายละเอียดมากกว่า on-chain skill resolver

220
00:14:58,785 --> 00:15:02,593
ก็คืออันเดียวกันเลย owner คือ address ของผม ซึ่งก็เป็น

221
00:15:02,593 --> 00:15:05,908
update authority ด้วย คุณเห็น attributes ตรงนี้

222
00:15:05,908 --> 00:15:09,786
นี่คือ manifest ที่ผมพูดถึง มันมี content SHA ซึ่งก็คือ

223
00:15:09,786 --> 00:15:13,312
fingerprint และก็มี name, version และข้อมูลทั้งหมด

224
00:15:13,312 --> 00:15:17,050
แล้วถ้าคุณดูตรงนี้ นี่คือ app data และนี่ก็คือ plugin

225
00:15:17,050 --> 00:15:21,704
ด้วย นี่คือข้อมูลที่ถูกเก็บไว้ ตัวเลขพวกนี้อาจจะดูเหมือนตัวเลขสุ่ม

226
00:15:21,704 --> 00:15:25,372
แต่มันก็คือตัวเลขสุ่มจริงๆ มันคือ raw bytes ในรูปแบบ

227
00:15:25,372 --> 00:15:29,039
hexadecimal ของ agent skill นั่นเอง ถ้าผม copy มันมา

228
00:15:29,039 --> 00:15:33,270
แล้วผมจะเอามาใส่ตรงนี้ คุณไม่จำเป็นต้องทำแบบนี้ด้วยมือนะครับ

229
00:15:33,270 --> 00:15:36,584
agent ในแบบที่มันถูกออกแบบมา agent จะอ่านมันเอง

230
00:15:36,584 --> 00:15:40,251
แต่เพื่อจะแสดงให้คุณเห็น นี่คือเครื่องมือที่เรียกว่า

231
00:15:40,251 --> 00:15:44,130
CyberChef มันมีหลายวิธีในการอ่าน binary และ hexadecimal

232
00:15:44,130 --> 00:15:48,009
ต่างกันไป นี่คือ input ซึ่งก็คือสิ่งที่คุณเห็น แล้วผมกด

233
00:15:48,009 --> 00:15:51,817
bake และนี่คือ output พบไฟล์สามไฟล์จากการนี้ คุณจะเห็น

234
00:15:51,817 --> 00:15:55,131
skill MD, scripts directory แล้วก็ fetch script

235
00:15:55,131 --> 00:15:58,587
ซึ่งก็แค่ helper สำหรับดึงข้อมูลแบบง่ายๆ skill MD

236
00:15:58,587 --> 00:16:02,465
คือไฟล์หลัก และคุณจะเห็นว่ามันหน้าตาเหมือนไฟล์ markdown

237
00:16:02,465 --> 00:16:06,273
ปกติเลยใช่ไหมครับ on-chain skill resolver ใช้เมื่อไหร่

238
00:16:06,273 --> 00:16:10,011
วิธีการเก็บ on-chain skills กระบวนการดึงข้อมูล มันบอก

239
00:16:10,011 --> 00:16:14,172
agent ว่าต้องทำยังไง security rules, publisher attestation,

240
00:16:14,172 --> 00:16:18,121
ตัวอย่าง ใช่ครับ failure modes ทุกอย่างที่คุณจะได้ในไฟล์

241
00:16:18,121 --> 00:16:21,506
skill ปกติเลย และทั้งหมดนี้อยู่บน chain ในรูปแบบ

242
00:16:21,506 --> 00:16:24,961
hexadecimal อยู่บน Metaplex Core plugin ตัวนี้คือ

243
00:16:24,961 --> 00:16:28,558
app data plugin ทั้งหมดนี้อยู่บน chain อย่างสมบูรณ์

244
00:16:28,558 --> 00:16:32,013
และคุณสามารถตรวจสอบได้บน explorer.solana.com ด้วย

245
00:16:32,013 --> 00:16:35,469
ดังนั้นมันคือ Metaplex compressed NFT ในทางเทคนิค

246
00:16:35,469 --> 00:16:39,348
และมันมี raw data อยู่ raw data ถ้าคุณ copy มันอีกครั้ง

247
00:16:39,348 --> 00:16:43,579
มันก็คือสิ่งเดียวกับที่ผมเพิ่งแสดงให้คุณเห็น ก็มีเท่านี้ครับ

248
00:16:43,579 --> 00:16:46,893
เราเอามันขึ้น Solana mainnet แล้ว มันเป็น skill

249
00:16:46,893 --> 00:16:50,208
จริง และตอนนี้เราจะให้ agent ตัวใหม่ที่สด fresh

250
00:16:50,208 --> 00:16:53,945
ตัวที่ไม่มี memory หรือความรู้เกี่ยวกับโปรเจกต์นี้เลย

251
00:16:53,945 --> 00:16:57,895
ลองดึงมันมา และเป็นครั้งเดียวที่ผมจะให้ prompt นี้กับมัน

252
00:16:57,895 --> 00:17:04,382
เพราะมันไม่รู้อะไรเลย นี่คือ prompt ที่ผมจะให้ และผมก็ไม่รู้เหมือนกันว่ามันจะทำงานได้จริงไหม

253
00:17:04,382 --> 00:17:07,767
ผมยังไม่ได้ทดสอบมันเลย แต่นี่คือ prompt ที่จะใช้

254
00:17:07,767 --> 00:17:11,082
มี software package หนึ่งที่ถูกเก็บไว้ใน Solana

255
00:17:11,082 --> 00:17:14,608
account นี้ ผมจะให้ address กับมัน ให้ดึงมันมาด้วย

256
00:17:14,608 --> 00:17:17,993
get account info call ครั้งเดียว หา manifest และ

257
00:17:17,993 --> 00:17:21,378
gzip archive ใน bytes ตรวจสอบ fingerprint แล้วก็

258
00:17:21,378 --> 00:17:24,904
unpack มันและอ่าน skill MD ก่อนเป็นอันดับแรก skill

259
00:17:24,904 --> 00:17:30,264
ที่มันดึงมาได้จะเป็น instructions ที่เหมือนกับที่ผมเพิ่งแสดงให้คุณเห็นสำหรับ

260
00:17:30,264 --> 00:17:33,860
on-chain skill resolver มาลองทำกันเลยครับ ใน Hermes

261
00:17:33,860 --> 00:17:37,668
agent ไปกันเลย ตอนนี้เราอยู่ใน Hermes chat ใช้ GPT-5.6

262
00:17:37,668 --> 00:17:41,124
Sol แน่นอนครับ ผมให้ prompt ที่คุณเพิ่งเห็นกับมัน

263
00:17:41,124 --> 00:17:44,932
แล้วมาดูกันว่ามันจะสามารถดึงมันมาได้จริงไหมจาก address

264
00:17:44,932 --> 00:17:48,317
เดียวนี้ มันไม่มี skill พิเศษอื่น ไม่มี MCP อื่น

265
00:17:48,317 --> 00:17:51,702
ไม่มี plugin นี่เป็น agent ตัวใหม่เอี่ยมเลย โอเค

266
00:17:51,702 --> 00:17:55,016
มันกำลังทำงานอยู่ และมันทำได้แล้ว ใช้เวลาไปราวๆ

267
00:17:55,016 --> 00:17:58,683
4 นาที เกือบ 4 นาทีเลย ดึง ตรวจสอบ และ unpack สำเร็จ

268
00:17:58,683 --> 00:18:02,491
account owner มันได้ skill มาแล้ว มันตรวจสอบ integrity

269
00:18:02,491 --> 00:18:06,300
จริงๆ ด้วย คุณจะเห็นว่า fingerprint ตรงกันอย่างถูกต้อง

270
00:18:06,300 --> 00:18:09,826
มันสามารถดึง skill และสคริปต์มาได้ และคุณจะเห็นว่า

271
00:18:09,826 --> 00:18:13,563
skill MD ถูก extract ออกมา โดยอธิบายว่าเป็น read-only

272
00:18:13,563 --> 00:18:17,160
resolver สำหรับการดึงและตรวจสอบ Hermes-style skills

273
00:18:17,160 --> 00:18:21,038
ที่เก็บอยู่ใน Metaplex Core account state นี่คือสิ่งที่

274
00:18:21,038 --> 00:18:24,917
skill ทำเป๊ะเลย ตอนนี้ผมก็สามารถติดตั้ง skill ตรงนี้ได้

275
00:18:24,917 --> 00:18:28,655
โอเค ติดตั้งเรียบร้อยแล้ว คุณจะเห็นตรงนี้เลยใน Hermes

276
00:18:28,655 --> 00:18:32,040
skill ของผม ในหมวด software development on-chain

277
00:18:32,040 --> 00:18:35,707
skill resolver นั่นคือกระบวนการทั้งหมดตั้งแต่ต้นจนจบ

278
00:18:35,707 --> 00:18:39,092
การ mint NFT นี้แล้วให้ agent ดึง skill มาตรงจาก

279
00:18:39,092 --> 00:18:42,406
blockchain ได้เลย แล้วเราจะไปต่อยังไงจากตรงนี้?

280
00:18:42,406 --> 00:18:46,426
Phase one ส่งมอบไปได้ค่อนข้างดีเลย ผมพอใจกับผลลัพธ์นี้มาก

281
00:18:46,426 --> 00:18:49,952
Phase two คือเรื่อง provenance และอย่างที่บอก ผมมี

282
00:18:49,952 --> 00:18:55,100
road map ที่ค่อนข้างชัดเจนว่าจะทำยังไง มันจะใช้เทคโนโลยีที่อยู่เบื้องหลัง

283
00:18:55,100 --> 00:18:59,049
NPM provenance ซึ่งผมคิดว่าสามารถนำมา reuse ในกรณีนี้ได้

284
00:18:59,049 --> 00:19:02,575
เพื่อเชื่อมต่อ wallet กับผู้เขียนตั้งต้นของ GitHub

285
00:19:02,575 --> 00:19:07,723
repo หรือ NPM package จริงๆ แล้ว phase three คือเรื่องที่ผมกำลังศึกษาอยู่

286
00:19:07,723 --> 00:19:11,320
ผมยังล็อกไว้ไม่แน่นเท่า phase two แต่ก็คงจะเป็นระบบ

287
00:19:11,320 --> 00:19:15,057
machine payments บางรูปแบบ ไม่ว่าจะใช้ Tempos machine

288
00:19:15,057 --> 00:19:19,147
payments protocol ซึ่งมี Stripe และ Paradigm เป็นแบ็กเอนด์

289
00:19:19,147 --> 00:19:22,885
หรือ X402 บน Solana เพื่อทำ payment gate ให้กับโค้ดบน

290
00:19:22,885 --> 00:19:27,892
chain โดยที่ wallet ของผู้เขียนสามารถรับเงินจากโค้ดที่เขาเขียนได้โดยตรง

291
00:19:27,892 --> 00:19:32,053
แน่นอนว่ามีหลายวิธีที่จะทำแบบนี้แบบ off-chain แต่ผมไม่รู้สิ

292
00:19:32,053 --> 00:19:38,047
ผมว่าการลองทำแบบนี้ทั้งหมดบน chain มันเท่ดีนะ และถ้าคุณอยากตรวจสอบเรื่องนี้ด้วยตัวเอง

293
00:19:38,047 --> 00:19:41,502
รวมถึงบน GitHub แบบเก่าๆ ผมได้ publish มันไว้แล้ว

294
00:19:41,502 --> 00:19:45,169
ตอนนี้เป็น public นะครับ ที่ Gitlana ใน Tomb Studios

295
00:19:45,169 --> 00:19:48,978
/ Gitlana คุณสามารถเข้าไปดูได้เลย agent skill packages

296
00:19:48,978 --> 00:19:52,292
จริงๆ มันเป็นโค้ดอะไรก็ได้ แต่ผมแค่คิดว่า agent

297
00:19:52,292 --> 00:19:58,145
skills เหมาะสมที่สุดกับเรื่องนี้ และ repo นี้จะให้ข้อมูลทุกอย่างที่คุณจำเป็นต้องรู้

298
00:19:58,145 --> 00:20:02,094
ทั้งการ mint package เอง หรือให้ agent ของคุณชี้ไปที่มัน

299
00:20:02,094 --> 00:20:05,620
และจริงๆ มันเป็น CLI ที่คุณสามารถติดตั้งได้ โดยใช้

300
00:20:05,620 --> 00:20:09,852
git clone แล้วก็ npm install เพื่อให้คุณสามารถใช้คำสั่งง่ายๆ

301
00:20:09,852 --> 00:20:14,153
เหล่านี้ได้ แทนที่จะต้องคุยกับ agent โดยตรง คุณก็แค่ใช้คำสั่ง

302
00:20:14,153 --> 00:20:19,866
CLI ที่ผมสร้างขึ้นเพื่อให้มันง่ายขึ้นนิดหน่อย แต่มันมีข้อมูลทุกอย่างเกี่ยวกับวิธี

303
00:20:19,866 --> 00:20:24,097
publish skill บน chain รวมถึง formatting และอย่างอื่นทั้งหมด

304
00:20:24,097 --> 00:20:27,693
และการอัปเดตใดๆ ของ road map ที่ผมพูดถึงเรื่องอื่นๆ

305
00:20:27,693 --> 00:20:33,476
ก็จะอยู่ที่ repo นี้ทั้งหมด ก็มีเท่านี้ครับ ทุกเรื่องที่พูดถึงในวิดีโอนี้มีอยู่ที่

306
00:20:33,476 --> 00:20:36,861
address นี้บน Solana mainnet มัน live อยู่ตอนนี้

307
00:20:36,861 --> 00:20:41,092
ผมจะใส่ address ไว้ในคำอธิบายเพื่อให้คุณตรวจสอบได้ด้วยตัวเอง

308
00:20:41,092 --> 00:20:45,324
สิ่งที่เริ่มจากคำถามสุ่มๆ กับ agent ของผม กลายเป็นโค้ดจริงบน

309
00:20:45,324 --> 00:20:48,779
chain ไปแล้ว ก็คงจะมีเท่านี้สำหรับวิดีโอนี้นะครับ

310
00:20:48,779 --> 00:20:54,632
รบกวนแสดงความคิดเห็นด้วยนะว่าคิดอย่างไร ผมรู้ว่าเรื่องนี้อาจจะดูโง่สำหรับคนส่วนใหญ่

311
00:20:54,632 --> 00:20:58,511
แต่ผมว่ามันเป็นไอเดียที่เท่ดี และมันอยู่บนจุดตัดระหว่าง

312
00:20:58,511 --> 00:21:04,011
blockchain และ AI ซึ่งเป็นขอบเขตที่ผมสนใจ ถึงแม้ว่าผมจะยังไม่ได้ทำงานในพื้นที่

313
00:21:04,011 --> 00:21:08,877
on-chain AI garage ที่เรียกว่าเร็วๆ นี้ก็ตาม แต่ผมก็มีไอเดียนี้ขึ้นมา

314
00:21:08,877 --> 00:21:12,615
ถ้าคุณชอบวิดีโอนี้ ฝากกด like ด้วยนะครับ กด subscribe

315
00:21:12,615 --> 00:21:16,000
ด้วย แล้วเจอกันใหม่วิดีโอหน้า ขอบคุณที่รับชมครับ