PrimeAgent: The Best Open Source Continual Harness RSI Agent
สรุปย่อ
ประเด็นสำคัญจากวิดีโอ
- **ช่อง:** DevsKingdom · **ความยาว:** ~13 นาที · **ลิงก์:** https://www.youtube.com/watch?v=LCziFJ211Zc
# สรุป: PrimeAgent: The Best Open Source Continual Harness RSI Agent - **ช่อง:** DevsKingdom · **ความยาว:** ~13 นาที · **ลิงก์:** https://www.youtube.com/watch?v=LCziFJ211Zc ## ประเด็นหลัก - PrimeAgent คือ coding และ research agent แบบโอเพนซอร์สสำหรับงานทั่วไปและงานที่ต้องรันยาว ๆ ถูกกล่าวถึงว่าเป็น RLM agent ตัวแรกที่สร้างมาเพื่อเวิร์กโฟลว์เขียนโค้ดและงานอัตโนมัติระยะยาว โดยมีดาวบน GitHub เกือบ 10,000 ดาว - จุดเด่นข้อแรกคือใช้ recursive language model (RLM) โดยมอง prompt เป็นตัวแปร และใช้ recursive sub-agent เป็น function call ทำให้รัน sub-agent ได้ลื่นไหล - จุดเด่นข้อที่สองคือ continual harness ซึ่งเก็บ supplemental prompts, memories, skill descriptions และ reusable sub-agent specifications เป็น durable state ทำให้เอเจนต์ปรับปรุงตัวเองต่อเนื่องผ่านการอัปเดตเล็ก ๆ ที่อิงหลักฐาน - การติดตั้งทำได้ง่ายมากด้วยคำสั่งเดียวในส่วน Quick Start หรือจะ clone GitHub repo แล้วติดตั้งแบบ manual ก็ได้ - เอเจนต์ทำงานแบบ sessions โดยใช้คำสั่ง `prime agent agents` เพื่อดูและจัดการ sessions ทั้งแบบ idle, running และ inactive - การเดโมแสดงให้เห็นการรันสาม sub-agents แบบ parallel สำหรับงานวิจัยอิสระ และเอเจนต์ย่อยสื่อสารกันเอง รายงานผลกลับมา และสรุปผลให้อัตโนมัติ - PrimeAgent บีบอัด (compact) เซสชันยาวให้อัตโนมัติก่อนที่ context จะเต็ม หรือใช้คำสั่ง `/compact` หรือ `/refine` เพื่อเตรียม context ให้เทิร์นถัดไปเริ่มต้นได้ดีขึ้น - รองรับการเพิ่มโมเดลที่ปรับแต่งเอง โดยเพิ่มไฟล์ models ในไดเรกทอรีของ PrimeAgent รองรับโมเดลที่เข้ากันได้กับ OpenAI-compatible เช่น MiniMax M3 - วิดีโอจบด้วยการเชิญชวนให้กด subscribe และคอมเมนต์ถามคำถามได้ ## ความเห็นสรุป วิดีโอนี้เป็นบทแนะนำ PrimeAgent ที่กระชับและใช้งานได้จริง ครอบคลุมทั้งแนวคิดเบื้องหลัง (RLM และ continual harness) วิธีติดตั้ง วิธีใช้ sessions และ sub-agents แบบ parallel ไปจนถึงการปรับแต่งโมเดล เหมาะสำหรับคนที่อยากลองใช้เอเจนต์โอเพนซอร์สที่พัฒนาตัวเองได้สำหรับงานเขียนโค้ดระยะยาว โดยคำบรรยายเป็นแบบอัตโนมัติจึงมีคำที่ถอดเสียงผิดบ้างแต่พอเดาความหมายได้
คำแปลเต็ม
แปลตามบทสนทนาต้นฉบับ ปรับเป็นภาษาไทยธรรมชาติ
สวัสดีทุกคน ยินดีต้อนรับกลับมาสู่วิดีโออีกหนึ่งตอนครับ วันนี้เราจะมาอัปเดตข่าวล่าสุดของ RSI agent กัน มีโปรโตไทป์ตัวหนึ่งที่เพิ่งถูกสร้างขึ้นมา ชื่อว่า PrimeAgent เอเจนต์ตัวนี้ถูกเคลมว่าเป็นเอเจนต์ที่พัฒนาตัวเองได้ และเราจะเห็นว่ามีคนเริ่มให้ความสนใจเยอะมาก ตอนนี้มีดาว (stars) เกือบ 10,000 ดาวแล้ว และนี่น่าจะเป็น RLM agent (เอเจนต์แบบ recursive language model) ตัวแรกที่ถูกสร้างขึ้นมาเพื่อเวิร์กโฟลว์ด้านการเขียนโค้ดและงานอัตโนมัติระยะยาว
จาก README ของพวกเขา มันอธิบายว่าทำไมถึงเป็น RLM agent และอะไรคือ continual harness ในวิดีโอนี้ผมจะโชว์วิธีใช้งานและวิธีติดตั้งให้ดูกัน เอาล่ะ เราเริ่มกันเลยครับ
ถ้าคุณดูที่ README พวกเขาอธิบายชัดเจนมากว่า PrimeAgent คืออะไร PrimeAgent คือ coding และ research agent แบบโอเพนซอร์ส สำหรับงานทั่วไปและงานที่ต้องรันยาว ๆ มีประเด็นหลักอยู่สองข้อ ข้อแรกคือ recursive language model มันเป็นเอเจนต์ที่ใช้ RLM เป็นพื้นฐาน และมอง context (บริบท) เป็นตัวแปร ซึ่งเจ๋งมาก จริง ๆ แล้วมันใช้ prompt เป็นตัวแปร และใช้ recursive sub-agent (เอเจนต์ย่อย) เป็น function call เราจะโชว์วิธีรัน sub-agent ให้ดู มันลื่นมาก น่าจะเป็นวิธีรัน sub-agent ที่ดีที่สุดในบรรดา coding agent ทั้งหลาย
ข้อที่สองของ PrimeAgent คือ continual harness (กลไกที่เก็บความจำและปรับปรุงตัวเองต่อเนื่อง) นี่คือสาเหตุที่มันพัฒนาตัวเองขึ้นเรื่อย ๆ มันเก็บ supplemental prompts, memories, skill descriptions และ reusable sub-agent specifications เอาไว้เป็น durable state (สถานะถาวร) โดยพื้นฐานแล้วสถานะเหล่านี้จะถูกปรับปรุงและอัปเดตต่อเนื่องเรื่อย ๆ นั่นคือเหตุผลที่ PrimeAgent ปรับปรุงตัวเองผ่านการอัปเดตเล็ก ๆ ที่อิงหลักฐาน (evidence-backed updates) มีคำสั่งหนึ่งที่คุณรันเพื่อปรับปรุงมันได้ คำสั่งนั้นชื่อว่า refine และมีพูดถึงไว้ในส่วนหลังของ README เราจะโชว์ให้ดูว่า refine ทำงานยังไง
เอาล่ะ มาดูการติดตั้งกันครับ ถ้าคุณอยากติดตั้งตัวนี้ มันง่ายมาก มีส่วน Quick Start ให้ แค่รันคำสั่งเดียว มันจะติดตั้ง dependencies ทั้งหมดให้ แค่กด yes ก็จบ มีอีกวิธีหนึ่งคือ clone GitHub repo แล้วติดตั้งทีละอย่างด้วยตัวเอง ซึ่งเราจะโชว์ให้ดูทีหลังในวิดีโอนี้ แต่วิธีแรกน่าจะง่ายที่สุด โดยเฉพาะถ้าคุณยังไม่ได้ติดตั้ง NodeJS หรือ dependencies อื่น ๆ ใครที่อยากได้แบบสะอาด ๆ ก็ใช้วิธี manual install แทนได้
พอติดตั้งเสร็จ คุณก็รันคำสั่งต่าง ๆ ได้เลย ตัวเอเจนต์ทำงานเป็น sessions ซึ่งต่างจาก coding agent ตัวอื่นนิดหน่อย ถ้าคุณรันคำสั่ง `prime agent agents` มันจะโชว์ sessions ต่าง ๆ ซึ่งเป็นไอเดียที่เจ๋งมาก นี่คือคำสั่งพื้นฐานที่คุณน่าจะได้ใช้บ่อยที่สุด แต่จริง ๆ แล้วในคำสั่งหลักยังมีคำสั่งย่อยอีกเยอะมาก
มาดูตัว PrimeAgent จริงกันครับ ผมตั้งค่าไว้ให้แล้ว คุณจะเห็นว่า interface สะอาดมาก เราจะใช้โมเดล MiniMax M3 ที่ปรับแต่งมาให้ และคุณสามารถใช้โมเดลไหนก็ได้ที่รองรับ OpenAI-compatible เราจะใช้ MiniMax M3 เพราะประหยัดกว่า เหมาะกับการเดโม
เราสามารถสร้าง session ใหม่ให้ PrimeAgent ได้ คุณเช็ค session ต่าง ๆ ได้จากคำสั่ง `prime agent agents` จะเห็นว่า interface ต่างออกไปถ้าคุณรันคำสั่งนี้ มันไม่ได้ชื่อว่า prime agent sessions แต่เป็น `prime agent agents` และคุณจะเห็น idle agents ต่าง ๆ ซึ่งจริง ๆ แล้วก็คือ sessions นั่นแหละ และมีส่วน running agent แต่ยังไม่มีเอเจนต์ไหน เพราะเรายังไม่ได้รันอะไรเลย มีส่วน inactive ด้วย ตอนนี้ยังไม่มี messages อยู่ตรงนั้น
กลับไปที่ส่วน prime agent เราสามารถเริ่ม session ใหม่ได้เลย พิมพ์ hi เข้าไป คุณจะเห็นว่าการตอบสนองเร็วมาก เราจะถาม PrimeAgent ว่ามันทำอะไรได้บ้าง และให้มันลองรันงานแบบ parallel เพื่อดูว่ามันทำงานยังไง parallel sub-agents ทำงานลื่นมาก น่าจะลื่นที่สุดในบรรดา coding agent ทั้งหมด เดี๋ยวคุณจะเห็นเอง และคุณจะเห็นว่ามี session ใหม่เกิดขึ้นมา เดิมมีสอง session ตอนนี้กลายเป็นสามแล้ว
ผมถามมันว่ามันทำอะไรได้บ้าง มันตอบชัดเจนมากว่ามันทำอะไรได้ มี sub-agent delegation, มี special skills ที่โหลดไว้แล้ว, มี common use cases และยังมีอย่างอื่นอีกมากมายที่ PrimeAgent ทำได้ เราจะเลือก sub-agent delegation เพื่อดูวิธีรัน sub-agents สำหรับงานแบบ parallel ลองยกตัวอย่างคำสั่งว่า "Can you demo how to run parallel sub agents?" แล้วกด enter มันจะโชว์วิธีรัน sub-agent แบบ parallel ให้ดู ซึ่งเจ๋งมาก มันสปินขึ้นมาสาม sub-agents รันแบบ parallel สำหรับงานวิจัยอิสระสามงาน และคุณยังตั้ง goal ได้เหมือนกับ Codex ได้อีกด้วย หรือจะสั่งให้มันรันสาม sub-agents ช่วยกันทำงานเดียวก็ได้
คุณจะเห็นว่ามันลิสต์ความคืบหน้าต่าง ๆ ว่ากำลังทำอะไรอยู่ กลับไปที่ sessions หรือ agents interface จะเห็นว่ามีหนึ่ง sub-agent run ถ้าคุณมีหลายงาน มันก็จะโชว์หลายงาน ซึ่งเจ๋งมาก และถ้าคุณคลิกเข้าไป มันน่าจะโชว์รายละเอียดให้ดู แต่พอคลิกแล้วมันจะกระโดดไปอีก session หนึ่ง
คุณจะเห็นว่ามันกำลังทำงานอยู่ และ PrimeAgent จะบีบอัด (compact) เซสชันที่ยาวให้อัตโนมัติก่อนที่ context จะเต็ม มีกระบวนการ compact อัตโนมัติซึ่งดีมาก ปกติเราต้องพิมพ์คำสั่ง `/compact` เพื่อบีบอัด context ของเซสชันเอง แต่ที่นี่มันบีบอัดทุกอย่างให้อัตโนมัติ หรือคุณจะรัน refine อย่างที่ผมพูดถึงก่อนหน้านี้ใน README ก็ได้ เพื่อให้เทิร์นถัดไปหรือ session ถัดไปเริ่มต้นได้ดีขึ้น
เรามารอให้ parallel tasks เสร็จกัน แล้วดูผลลัพธ์จริง ๆ คุณจะเห็นว่าทุกอย่างสื่อสารกันเหมือนกระบวนการทำงานร่วมกัน (collaboration) ไม่ใช่แค่ research agent ตัวหนึ่งทำงานคนเดียว แต่มีการพูดคุยไปมาระหว่างกัน มีเอเจนต์ต่าง ๆ รายงานผลกลับมา เช่น database researcher รายงานกลับมา ทุกอย่างเป็นอัตโนมัติมาก และพวกมันก็บันทึกทุกอย่างที่ทำเสร็จแล้วลงในเอกสารด้วย
มันบอกว่าให้ตั้งชื่อที่ไม่ซ้ำกันให้ child agent แต่ละตัว เพื่อให้จำและทำความสะอาดเซสชันได้ คุณจะเห็นว่าเราเคยตั้ง pattern แบบนี้ไว้เป็น reusable skill (ทักษะที่ใช้ซ้ำได้) แล้ว พอทุกอย่างเสร็จ พวกมันก็สร้าง reusable skill ให้อัตโนมัติ ซึ่งดีมาก และคุณจะเห็นว่าทุกอย่างเสร็จสมบูรณ์ สถานะกลายเป็น idle เพราะทุกอย่างจบแล้ว มีกระบวนการบันทึกเอกสารที่สะอาดมากว่าสามเอเจนต์นี้ทำงานกันยังไง ทั้งสามตัวเสร็จสิ้นและรายงานกลับมา แล้วก็ทำความสะอาดและสรุปเดโมให้
เลื่อนขึ้นมาดูหน่อย เราจะเห็น thinking process และ task ด้วย ตัว task คือเดโมนี้: สาม parallel sub-agents ทำงานวิจัย แล้วโชว์วิธีติดตามพวกมัน เป็นงานที่ค่อนข้างสุ่ม เนื้อหาคือ ให้คิดเดโมหาสาม sub-agents แบบ parallel วิธีลิสต์พวกมัน วิธีที่พวกมันคืน handles กลับมาทันที และสำหรับเดโมที่สะอาด ให้ทำงานวิจัยและงานเขียนเล็ก ๆ เขียน output ลงไฟล์ใน session directory แล้วส่งข้อความ complete กลับไปที่ parent งานง่าย ๆ แต่เราเห็นได้ว่ามันแบ่งงานออกเป็น sub-agents ต่าง ๆ ยังไง
มันเป็นกระบวนการที่สะอาดมาก น่าดูมากที่เห็นว่างานหนึ่งถูกแบ่งออกเป็น sub-agents หลายตัว แต่ละตัวทำงาน subtask ที่แตกต่างกัน แล้วส่งผลลัพธ์กลับมา พร้อมกับทำ summarization เป็นกระบวนการที่เจ๋งมาก
ถ้าคุณอยาก refine เพื่อให้เทิร์นถัดไปเริ่มต้นได้ดีขึ้น คุณแค่พิมพ์คำสั่ง `/refine` มันจะ refine context ก่อนหน้านี้เพื่อเตรียมพร้อมสำหรับเทิร์นถัดไปของเซสชันนี้ คุณจะเห็นว่ามีข้อความขึ้นมาว่าการ refine เสร็จสิ้น ใช้ continual harness state และมีการอัปเดตสองรายการถูกนำไปใช้ พอเริ่มเทิร์นใหม่ มันก็จะเริ่มต้นได้ดีกว่าเดิม นี่คือวิธีที่ refine ทำงาน
สุดท้ายนี้ ผมจะโชว์วิธีเพิ่มโมเดลที่ปรับแต่งเองให้ดูครับ ตอนนี้เราใช้ MiniMax M3 ซึ่งรองรับ API แบบ Llama-compatible และคุณสามารถเลือกโมเดลอื่นที่รองรับ OpenAI-compatible ได้ วิธีทำคือเพิ่มไฟล์ models ไว้ในไดเรกทอรีของ PrimeAgent ซึ่งจะทำให้ PrimeAgent อ่านโมเดลที่ปรับแต่งเองเป็น providers ต่าง ๆ ได้ เช่น ถ้าคุณมีผู้ให้บริการ (provider) แบบอื่น คุณก็ตั้งค่าแบบนี้ได้ ตั้งค่า base URL แบบ llama แล้วก็ใส่ API key ก็พร้อมใช้งาน และเพิ่มโมเดลลงไป เช่น MiniMax M3 เท่านี้ก็เสร็จ นี่คือวิธีเพิ่มโมเดลที่ปรับแต่งเองให้ PrimeAgent
หวังว่าวิดีโอนี้จะเป็นประโยชน์กับทุกคนนะครับ ถ้าชอบวิดีโอนี้ช่วยกด subscribe หรือคอมเมนต์ไว้ได้ถ้ามีคำถาม ขอบคุณมากที่สนับสนุนช่อง แล้วเจอกันในวิดีโอหน้านะครับ
หมายเหตุการแปล
ความโปร่งใสเกี่ยวกับความไม่แน่นอนในต้นฉบับ
- ## เซกเมนต์ที่ฟังไม่ชัด / เดาความหมายจากบริบท
- ไม่มีเซกเมนต์ใดที่ต้องเขียน `[ฟังไม่ชัด]` ลงในการแปล เนื่องจากความหมายโดยรวมของทุกส่วนพออนุมานได้จากบริบท แต่มี่จุดที่ถอดเสียงคลาดเคลื่อนและต้องตีความดังนี้:
- 5. **"if you have a pter as a provider"** — "pter" ไม่ชัดเจน น่าจะเป็นชื่อ provider บางตัว (เช่น OpenRouter/Ollama) แปลแบบกลาง ๆ ว่า "ถ้าคุณมีผู้ให้บริการ (provider) แบบอื่น"
อภิธานศัพท์เทคนิค
คำศัพท์และชื่อผลิตภัณฑ์ที่คงรูปภาษาอังกฤษ
| ศัพท์ | คำแปล / คำอธิบาย |
|---|---|
| PrimeAgent | เอเจนต์โอเพนซอร์สสำหรับเขียนโค้ดและวิจัย รองรับงานระยะยาว พัฒนาตัวเองได้ |
| RSI agent | ชื่อที่ผู้พูดใช้เรียกเอเจนต์ตระกูลนี้ (ในคำบรรยายอัตโนมัติถอดเสียงมาแบบนี้) |
| RLM agent | Recursive Language Model agent — เอเจนต์ที่ใช้โมเดลภาษาแบบเรียกซ้ำ โดยมอง prompt เป็นตัวแปรและใช้ recursive sub-agent เป็น function call |
| continual harness | กลไกที่เก็บความจำ/ทักษะ/สถานะไว้เป็น durable state เพื่อให้เอเจนต์ปรับปรุงตัวเองต่อเนื่อง |
| durable state | สถานะถาวรที่เก็บข้อมูลสำคัญไว้ใช้ต่อในเทิร์นหรือเซสชันถัดไป |
| sub-agent | เอเจนต์ย่อยที่ถูกเรียกขึ้นมารับงานเฉพาะ แล้วส่งผลกลับไปยังเอเจนต์หลัก |
| reusable skill | ทักษะที่ตั้งไว้ครั้งเดียวแล้วใช้ซ้ำได้ในงานถัด ๆ ไป |
| session | เซสชันการทำงานของเอเจนต์ ใช้คำสั่ง `prime agent agents` ในการดู/จัดการ |
| parallel tasks | งานที่รันหลายชิ้นพร้อมกันด้วย sub-agents หลายตัว |
| compact | การบีบอัด context ของเซสชันให้กระชับ (คำสั่ง `/compact`) |
| refine | การกลั่นกรอง/ปรับปรุง context ก่อนหน้าเพื่อให้เทิร์นถัดไปเริ่มต้นได้ดีขึ้น (คำสั่ง `/refine`) |
| context | บริบทหรือข้อมูลที่เอเจนต์ใช้คิด/ตอบในแต่ละเทิร์น |
| OpenAI-compatible | โมเดลหรือ API ที่ใช้งานร่วมกันได้กับรูปแบบของ OpenAI |
| MiniMax M3 | โมเดลภาษาที่ใช้ในการเดโม รองรับ API แบบ Llama-compatible |
| base URL | ที่อยู่ API ที่ใช้เชื่อมต่อกับผู้ให้บริการโมเดล |
| API key | คีย์สำหรับยืนยันตัวตนเมื่อเรียกใช้บริการโมเดล |
| NodeJS | รันไทม์ JavaScript ที่ต้องติดตั้งเป็น dependency อย่างหนึ่ง |
| GitHub | แพลตฟอร์มเก็บโค้ด ใช้ clone โปรเจกต์มาลงเครื่อง |
| README | เอกสารอธิบายโปรเจกต์ มักอยู่หน้าแรกของ repo |
| RLM / RSR (คำย่อที่ถอดเสียงคลาดเคลื่อน) | คำย่อที่ปรากฏในคำบรรยายอัตโนมัติหลายแบบ (RLM, RLN, RNI, remy, rim) สันนิษฐานว่าหมายถึง RLM และ README |
ซับไตเติ้ลภาษาไทย
ดาวน์โหลดหรือดูซับทั้งหมด
1 00:00:00,000 --> 00:00:01,208 สวัสดีทุกคน 2 00:00:01,208 --> 00:00:05,819 ยินดีต้อนรับกลับมาสู่วิดีโออีกหนึ่งตอนครับ 3 00:00:05,819 --> 00:00:10,869 วันนี้เราจะมาอัปเดตข่าวล่าสุดของ RSI agent กัน 4 00:00:10,869 --> 00:00:15,370 มีโปรโตไทป์ตัวหนึ่งที่เพิ่งถูกสร้างขึ้นมา
เปิดดูซับไตเติ้ลทั้งหมด (186 segments)
1 00:00:00,000 --> 00:00:01,208 สวัสดีทุกคน 2 00:00:01,208 --> 00:00:05,819 ยินดีต้อนรับกลับมาสู่วิดีโออีกหนึ่งตอนครับ 3 00:00:05,819 --> 00:00:10,869 วันนี้เราจะมาอัปเดตข่าวล่าสุดของ RSI agent กัน 4 00:00:10,869 --> 00:00:15,370 มีโปรโตไทป์ตัวหนึ่งที่เพิ่งถูกสร้างขึ้นมา 5 00:00:15,370 --> 00:00:17,346 ชื่อว่า PrimeAgent 6 00:00:17,346 --> 00:00:22,945 เอเจนต์ตัวนี้ถูกเคลมว่าเป็นเอเจนต์ที่พัฒนาตัวเองได้ 7 00:00:22,945 --> 00:00:27,556 และเราจะเห็นว่ามีคนเริ่มให้ความสนใจเยอะมาก 8 00:00:27,556 --> 00:00:31,948 ตอนนี้มีดาว (stars) เกือบ 10,000 ดาวแล้ว 9 00:00:31,948 --> 00:00:36,010 และนี่น่าจะเป็น RLM agent (เอเจนต์แบบ 10 00:00:36,010 --> 00:00:38,755 recursive language model) 11 00:00:38,755 --> 00:00:47,208 ตัวแรกที่ถูกสร้างขึ้นมาเพื่อเวิร์กโฟลว์ด้านการเขียนโค้ดและงานอัตโนมัติระยะยาว 12 00:00:47,208 --> 00:00:52,039 จาก README ของพวกเขา มันอธิบายว่าทำไมถึงเป็น 13 00:00:52,039 --> 00:00:56,211 RLM agent และอะไรคือ continual harness 14 00:00:56,211 --> 00:01:01,810 ในวิดีโอนี้ผมจะโชว์วิธีใช้งานและวิธีติดตั้งให้ดูกัน 15 00:01:01,810 --> 00:01:06,640 เอาล่ะ เราเริ่มกันเลยครับ ถ้าคุณดูที่ README 16 00:01:06,640 --> 00:01:11,361 พวกเขาอธิบายชัดเจนมากว่า PrimeAgent คืออะไร 17 00:01:11,361 --> 00:01:15,752 PrimeAgent คือ coding และ research agent 18 00:01:15,752 --> 00:01:17,180 แบบโอเพนซอร์ส 19 00:01:17,180 --> 00:01:21,132 สำหรับงานทั่วไปและงานที่ต้องรันยาว ๆ 20 00:01:21,132 --> 00:01:25,853 มีประเด็นหลักอยู่สองข้อ ข้อแรกคือ recursive 21 00:01:25,853 --> 00:01:30,134 language model มันเป็นเอเจนต์ที่ใช้ RLM 22 00:01:30,134 --> 00:01:35,075 เป็นพื้นฐาน และมอง context (บริบท) เป็นตัวแปร 23 00:01:35,075 --> 00:01:39,027 ซึ่งเจ๋งมาก จริง ๆ แล้วมันใช้ prompt 24 00:01:39,027 --> 00:01:43,089 เป็นตัวแปร และใช้ recursive sub-agent 25 00:01:43,089 --> 00:01:46,602 (เอเจนต์ย่อย) เป็น function call 26 00:01:46,602 --> 00:01:51,323 เราจะโชว์วิธีรัน sub-agent ให้ดู มันลื่นมาก 27 00:01:51,323 --> 00:01:56,264 น่าจะเป็นวิธีรัน sub-agent ที่ดีที่สุดในบรรดา 28 00:01:56,264 --> 00:02:01,204 coding agent ทั้งหลาย ข้อที่สองของ PrimeAgent 29 00:02:01,204 --> 00:02:03,509 คือ continual harness 30 00:02:03,509 --> 00:02:08,450 (กลไกที่เก็บความจำและปรับปรุงตัวเองต่อเนื่อง) 31 00:02:08,450 --> 00:02:12,951 นี่คือสาเหตุที่มันพัฒนาตัวเองขึ้นเรื่อย ๆ 32 00:02:12,951 --> 00:02:17,891 มันเก็บ supplemental prompts, memories, skill 33 00:02:17,891 --> 00:02:21,734 descriptions และ reusable sub-agent 34 00:02:21,734 --> 00:02:26,016 specifications เอาไว้เป็น durable state 35 00:02:26,016 --> 00:02:27,223 (สถานะถาวร) 36 00:02:27,223 --> 00:02:34,250 โดยพื้นฐานแล้วสถานะเหล่านี้จะถูกปรับปรุงและอัปเดตต่อเนื่องเรื่อย 37 00:02:34,250 --> 00:02:35,348 ๆ 38 00:02:35,348 --> 00:02:42,045 นั่นคือเหตุผลที่ PrimeAgent ปรับปรุงตัวเองผ่านการอัปเดตเล็ก ๆ 39 00:02:42,045 --> 00:02:46,326 ที่อิงหลักฐาน (evidence-backed updates) 40 00:02:46,326 --> 00:02:50,827 มีคำสั่งหนึ่งที่คุณรันเพื่อปรับปรุงมันได้ 41 00:02:50,827 --> 00:02:53,462 คำสั่งนั้นชื่อว่า refine 42 00:02:53,462 --> 00:02:57,195 และมีพูดถึงไว้ในส่วนหลังของ README 43 00:02:57,195 --> 00:03:01,806 เราจะโชว์ให้ดูว่า refine ทำงานยังไง เอาล่ะ 44 00:03:01,806 --> 00:03:06,746 มาดูการติดตั้งกันครับ ถ้าคุณอยากติดตั้งตัวนี้ 45 00:03:06,746 --> 00:03:10,369 มันง่ายมาก มีส่วน Quick Start ให้ 46 00:03:10,369 --> 00:03:15,090 แค่รันคำสั่งเดียว มันจะติดตั้ง dependencies 47 00:03:15,090 --> 00:03:19,811 ทั้งหมดให้ แค่กด yes ก็จบ มีอีกวิธีหนึ่งคือ 48 00:03:19,811 --> 00:03:21,677 clone GitHub repo 49 00:03:21,677 --> 00:03:24,971 แล้วติดตั้งทีละอย่างด้วยตัวเอง 50 00:03:24,971 --> 00:03:28,814 ซึ่งเราจะโชว์ให้ดูทีหลังในวิดีโอนี้ 51 00:03:28,814 --> 00:03:31,558 แต่วิธีแรกน่าจะง่ายที่สุด 52 00:03:31,558 --> 00:03:36,169 โดยเฉพาะถ้าคุณยังไม่ได้ติดตั้ง NodeJS หรือ 53 00:03:36,169 --> 00:03:40,890 dependencies อื่น ๆ ใครที่อยากได้แบบสะอาด ๆ 54 00:03:40,890 --> 00:03:48,246 ก็ใช้วิธี manual install แทนได้ พอติดตั้งเสร็จ คุณก็รันคำสั่งต่าง ๆ 55 00:03:48,246 --> 00:03:52,088 ได้เลย ตัวเอเจนต์ทำงานเป็น sessions 56 00:03:52,088 --> 00:03:56,480 ซึ่งต่างจาก coding agent ตัวอื่นนิดหน่อย 57 00:03:56,480 --> 00:04:01,530 ถ้าคุณรันคำสั่ง `prime agent agents` มันจะโชว์ 58 00:04:01,530 --> 00:04:03,177 sessions ต่าง ๆ 59 00:04:03,177 --> 00:04:12,069 ซึ่งเป็นไอเดียที่เจ๋งมาก นี่คือคำสั่งพื้นฐานที่คุณน่าจะได้ใช้บ่อยที่สุด แต่จริง ๆ 60 00:04:12,069 --> 00:04:16,570 แล้วในคำสั่งหลักยังมีคำสั่งย่อยอีกเยอะมาก 61 00:04:16,570 --> 00:04:19,864 มาดูตัว PrimeAgent จริงกันครับ 62 00:04:19,864 --> 00:04:24,475 ผมตั้งค่าไว้ให้แล้ว คุณจะเห็นว่า interface 63 00:04:24,475 --> 00:04:28,098 สะอาดมาก เราจะใช้โมเดล MiniMax M3 64 00:04:28,098 --> 00:04:29,855 ที่ปรับแต่งมาให้ 65 00:04:29,855 --> 00:04:33,917 และคุณสามารถใช้โมเดลไหนก็ได้ที่รองรับ 66 00:04:33,917 --> 00:04:37,979 OpenAI-compatible เราจะใช้ MiniMax M3 67 00:04:37,979 --> 00:04:41,492 เพราะประหยัดกว่า เหมาะกับการเดโม 68 00:04:41,492 --> 00:04:46,432 เราสามารถสร้าง session ใหม่ให้ PrimeAgent ได้ 69 00:04:46,432 --> 00:04:51,043 คุณเช็ค session ต่าง ๆ ได้จากคำสั่ง `prime 70 00:04:51,043 --> 00:04:54,666 agent agents` จะเห็นว่า interface 71 00:04:54,666 --> 00:04:59,497 ต่างออกไปถ้าคุณรันคำสั่งนี้ มันไม่ได้ชื่อว่า 72 00:04:59,497 --> 00:05:03,998 prime agent sessions แต่เป็น `prime agent 73 00:05:03,998 --> 00:05:08,280 agents` และคุณจะเห็น idle agents ต่าง ๆ 74 00:05:08,280 --> 00:05:12,452 ซึ่งจริง ๆ แล้วก็คือ sessions นั่นแหละ 75 00:05:12,452 --> 00:05:17,392 และมีส่วน running agent แต่ยังไม่มีเอเจนต์ไหน 76 00:05:17,392 --> 00:05:22,113 เพราะเรายังไม่ได้รันอะไรเลย มีส่วน inactive 77 00:05:22,113 --> 00:05:26,504 ด้วย ตอนนี้ยังไม่มี messages อยู่ตรงนั้น 78 00:05:26,504 --> 00:05:30,896 กลับไปที่ส่วน prime agent เราสามารถเริ่ม 79 00:05:30,896 --> 00:05:34,628 session ใหม่ได้เลย พิมพ์ hi เข้าไป 80 00:05:34,628 --> 00:05:38,800 คุณจะเห็นว่าการตอบสนองเร็วมาก เราจะถาม 81 00:05:38,800 --> 00:05:42,094 PrimeAgent ว่ามันทำอะไรได้บ้าง 82 00:05:42,094 --> 00:05:45,387 และให้มันลองรันงานแบบ parallel 83 00:05:45,387 --> 00:05:50,108 เพื่อดูว่ามันทำงานยังไง parallel sub-agents 84 00:05:50,108 --> 00:05:54,719 ทำงานลื่นมาก น่าจะลื่นที่สุดในบรรดา coding 85 00:05:54,719 --> 00:05:58,232 agent ทั้งหมด เดี๋ยวคุณจะเห็นเอง 86 00:05:58,232 --> 00:06:02,624 และคุณจะเห็นว่ามี session ใหม่เกิดขึ้นมา 87 00:06:02,624 --> 00:06:06,906 เดิมมีสอง session ตอนนี้กลายเป็นสามแล้ว 88 00:06:06,906 --> 00:06:09,870 ผมถามมันว่ามันทำอะไรได้บ้าง 89 00:06:09,870 --> 00:06:14,591 มันตอบชัดเจนมากว่ามันทำอะไรได้ มี sub-agent 90 00:06:14,591 --> 00:06:19,531 delegation, มี special skills ที่โหลดไว้แล้ว, 91 00:06:19,531 --> 00:06:21,617 มี common use cases 92 00:06:21,617 --> 00:06:26,667 และยังมีอย่างอื่นอีกมากมายที่ PrimeAgent ทำได้ 93 00:06:26,667 --> 00:06:31,717 เราจะเลือก sub-agent delegation เพื่อดูวิธีรัน 94 00:06:31,717 --> 00:06:35,230 sub-agents สำหรับงานแบบ parallel 95 00:06:35,230 --> 00:06:39,951 ลองยกตัวอย่างคำสั่งว่า "Can you demo how to 96 00:06:39,951 --> 00:06:44,123 run parallel sub agents?" แล้วกด enter 97 00:06:44,123 --> 00:06:49,063 มันจะโชว์วิธีรัน sub-agent แบบ parallel ให้ดู 98 00:06:49,063 --> 00:06:54,114 ซึ่งเจ๋งมาก มันสปินขึ้นมาสาม sub-agents รันแบบ 99 00:06:54,114 --> 00:06:57,846 parallel สำหรับงานวิจัยอิสระสามงาน 100 00:06:57,846 --> 00:07:01,908 และคุณยังตั้ง goal ได้เหมือนกับ Codex 101 00:07:01,908 --> 00:07:06,739 ได้อีกด้วย หรือจะสั่งให้มันรันสาม sub-agents 102 00:07:06,739 --> 00:07:09,154 ช่วยกันทำงานเดียวก็ได้ 103 00:07:09,154 --> 00:07:13,216 คุณจะเห็นว่ามันลิสต์ความคืบหน้าต่าง ๆ 104 00:07:13,216 --> 00:07:17,827 ว่ากำลังทำอะไรอยู่ กลับไปที่ sessions หรือ 105 00:07:17,827 --> 00:07:22,548 agents interface จะเห็นว่ามีหนึ่ง sub-agent 106 00:07:22,548 --> 00:07:26,720 run ถ้าคุณมีหลายงาน มันก็จะโชว์หลายงาน 107 00:07:26,720 --> 00:07:30,123 ซึ่งเจ๋งมาก และถ้าคุณคลิกเข้าไป 108 00:07:30,123 --> 00:07:33,088 มันน่าจะโชว์รายละเอียดให้ดู 109 00:07:33,088 --> 00:07:37,808 แต่พอคลิกแล้วมันจะกระโดดไปอีก session หนึ่ง 110 00:07:37,808 --> 00:07:42,639 คุณจะเห็นว่ามันกำลังทำงานอยู่ และ PrimeAgent 111 00:07:42,639 --> 00:07:44,615 จะบีบอัด (compact) 112 00:07:44,615 --> 00:07:49,665 เซสชันที่ยาวให้อัตโนมัติก่อนที่ context จะเต็ม 113 00:07:49,665 --> 00:07:53,837 มีกระบวนการ compact อัตโนมัติซึ่งดีมาก 114 00:07:53,837 --> 00:07:58,778 ปกติเราต้องพิมพ์คำสั่ง `/compact` เพื่อบีบอัด 115 00:07:58,778 --> 00:08:00,973 context ของเซสชันเอง 116 00:08:00,973 --> 00:08:05,145 แต่ที่นี่มันบีบอัดทุกอย่างให้อัตโนมัติ 117 00:08:05,145 --> 00:08:07,231 หรือคุณจะรัน refine 118 00:08:07,231 --> 00:08:11,842 อย่างที่ผมพูดถึงก่อนหน้านี้ใน README ก็ได้ 119 00:08:11,842 --> 00:08:15,246 เพื่อให้เทิร์นถัดไปหรือ session 120 00:08:15,246 --> 00:08:19,857 ถัดไปเริ่มต้นได้ดีขึ้น เรามารอให้ parallel 121 00:08:19,857 --> 00:08:23,589 tasks เสร็จกัน แล้วดูผลลัพธ์จริง ๆ 122 00:08:23,589 --> 00:08:29,847 คุณจะเห็นว่าทุกอย่างสื่อสารกันเหมือนกระบวนการทำงานร่วมกัน 123 00:08:29,847 --> 00:08:34,239 (collaboration) ไม่ใช่แค่ research agent 124 00:08:34,239 --> 00:08:36,434 ตัวหนึ่งทำงานคนเดียว 125 00:08:36,434 --> 00:08:41,265 แต่มีการพูดคุยไปมาระหว่างกัน มีเอเจนต์ต่าง ๆ 126 00:08:41,265 --> 00:08:45,547 รายงานผลกลับมา เช่น database researcher 127 00:08:45,547 --> 00:08:49,609 รายงานกลับมา ทุกอย่างเป็นอัตโนมัติมาก 128 00:08:49,609 --> 00:08:55,427 และพวกมันก็บันทึกทุกอย่างที่ทำเสร็จแล้วลงในเอกสารด้วย 129 00:08:55,427 --> 00:08:59,929 มันบอกว่าให้ตั้งชื่อที่ไม่ซ้ำกันให้ child 130 00:08:59,929 --> 00:09:01,466 agent แต่ละตัว 131 00:09:01,466 --> 00:09:05,088 เพื่อให้จำและทำความสะอาดเซสชันได้ 132 00:09:05,088 --> 00:09:09,919 คุณจะเห็นว่าเราเคยตั้ง pattern แบบนี้ไว้เป็น 133 00:09:09,919 --> 00:09:14,201 reusable skill (ทักษะที่ใช้ซ้ำได้) แล้ว 134 00:09:14,201 --> 00:09:19,031 พอทุกอย่างเสร็จ พวกมันก็สร้าง reusable skill 135 00:09:19,031 --> 00:09:21,447 ให้อัตโนมัติ ซึ่งดีมาก 136 00:09:21,447 --> 00:09:25,289 และคุณจะเห็นว่าทุกอย่างเสร็จสมบูรณ์ 137 00:09:25,289 --> 00:09:29,461 สถานะกลายเป็น idle เพราะทุกอย่างจบแล้ว 138 00:09:29,461 --> 00:09:36,378 มีกระบวนการบันทึกเอกสารที่สะอาดมากว่าสามเอเจนต์นี้ทำงานกันยังไง 139 00:09:36,378 --> 00:09:40,110 ทั้งสามตัวเสร็จสิ้นและรายงานกลับมา 140 00:09:40,110 --> 00:09:43,514 แล้วก็ทำความสะอาดและสรุปเดโมให้ 141 00:09:43,514 --> 00:09:48,564 เลื่อนขึ้นมาดูหน่อย เราจะเห็น thinking process 142 00:09:48,564 --> 00:09:52,736 และ task ด้วย ตัว task คือเดโมนี้: สาม 143 00:09:52,736 --> 00:09:56,029 parallel sub-agents ทำงานวิจัย 144 00:09:56,029 --> 00:09:58,664 แล้วโชว์วิธีติดตามพวกมัน 145 00:09:58,664 --> 00:10:02,287 เป็นงานที่ค่อนข้างสุ่ม เนื้อหาคือ 146 00:10:02,287 --> 00:10:06,569 ให้คิดเดโมหาสาม sub-agents แบบ parallel 147 00:10:06,569 --> 00:10:10,960 วิธีลิสต์พวกมัน วิธีที่พวกมันคืน handles 148 00:10:10,960 --> 00:10:14,583 กลับมาทันที และสำหรับเดโมที่สะอาด 149 00:10:14,583 --> 00:10:17,877 ให้ทำงานวิจัยและงานเขียนเล็ก ๆ 150 00:10:17,877 --> 00:10:27,757 เขียน output ลงไฟล์ใน session directory แล้วส่งข้อความ complete กลับไปที่ parent งานง่าย ๆ 151 00:10:27,757 --> 00:10:33,357 แต่เราเห็นได้ว่ามันแบ่งงานออกเป็น sub-agents ต่าง ๆ 152 00:10:33,357 --> 00:10:36,980 ยังไง มันเป็นกระบวนการที่สะอาดมาก 153 00:10:36,980 --> 00:10:41,371 น่าดูมากที่เห็นว่างานหนึ่งถูกแบ่งออกเป็น 154 00:10:41,371 --> 00:10:45,762 sub-agents หลายตัว แต่ละตัวทำงาน subtask 155 00:10:45,762 --> 00:10:50,703 ที่แตกต่างกัน แล้วส่งผลลัพธ์กลับมา พร้อมกับทำ 156 00:10:50,703 --> 00:10:54,765 summarization เป็นกระบวนการที่เจ๋งมาก 157 00:10:54,765 --> 00:10:56,631 ถ้าคุณอยาก refine 158 00:10:56,631 --> 00:11:00,584 เพื่อให้เทิร์นถัดไปเริ่มต้นได้ดีขึ้น 159 00:11:00,584 --> 00:11:04,975 คุณแค่พิมพ์คำสั่ง `/refine` มันจะ refine 160 00:11:04,975 --> 00:11:06,073 context 161 00:11:06,073 --> 00:11:12,221 ก่อนหน้านี้เพื่อเตรียมพร้อมสำหรับเทิร์นถัดไปของเซสชันนี้ 162 00:11:12,221 --> 00:11:16,613 คุณจะเห็นว่ามีข้อความขึ้นมาว่าการ refine 163 00:11:16,613 --> 00:11:20,675 เสร็จสิ้น ใช้ continual harness state 164 00:11:20,675 --> 00:11:24,298 และมีการอัปเดตสองรายการถูกนำไปใช้ 165 00:11:24,298 --> 00:11:29,348 พอเริ่มเทิร์นใหม่ มันก็จะเริ่มต้นได้ดีกว่าเดิม 166 00:11:29,348 --> 00:11:33,410 นี่คือวิธีที่ refine ทำงาน สุดท้ายนี้ 167 00:11:33,410 --> 00:11:38,350 ผมจะโชว์วิธีเพิ่มโมเดลที่ปรับแต่งเองให้ดูครับ 168 00:11:38,350 --> 00:11:42,961 ตอนนี้เราใช้ MiniMax M3 ซึ่งรองรับ API แบบ 169 00:11:42,961 --> 00:11:44,718 Llama-compatible 170 00:11:44,718 --> 00:11:48,560 และคุณสามารถเลือกโมเดลอื่นที่รองรับ 171 00:11:48,560 --> 00:11:52,952 OpenAI-compatible ได้ วิธีทำคือเพิ่มไฟล์ 172 00:11:52,952 --> 00:11:56,794 models ไว้ในไดเรกทอรีของ PrimeAgent 173 00:11:56,794 --> 00:11:59,210 ซึ่งจะทำให้ PrimeAgent 174 00:11:59,210 --> 00:12:04,040 อ่านโมเดลที่ปรับแต่งเองเป็น providers ต่าง ๆ 175 00:12:04,040 --> 00:12:08,432 ได้ เช่น ถ้าคุณมีผู้ให้บริการ (provider) 176 00:12:08,432 --> 00:12:13,482 แบบอื่น คุณก็ตั้งค่าแบบนี้ได้ ตั้งค่า base URL 177 00:12:13,482 --> 00:12:17,983 แบบ llama แล้วก็ใส่ API key ก็พร้อมใช้งาน 178 00:12:17,983 --> 00:12:21,606 และเพิ่มโมเดลลงไป เช่น MiniMax M3 179 00:12:21,606 --> 00:12:23,143 เท่านี้ก็เสร็จ 180 00:12:23,143 --> 00:12:27,205 นี่คือวิธีเพิ่มโมเดลที่ปรับแต่งเองให้ 181 00:12:27,205 --> 00:12:28,303 PrimeAgent 182 00:12:28,303 --> 00:12:33,134 หวังว่าวิดีโอนี้จะเป็นประโยชน์กับทุกคนนะครับ 183 00:12:33,134 --> 00:12:36,537 ถ้าชอบวิดีโอนี้ช่วยกด subscribe 184 00:12:36,537 --> 00:12:39,611 หรือคอมเมนต์ไว้ได้ถ้ามีคำถาม 185 00:12:39,611 --> 00:12:42,246 ขอบคุณมากที่สนับสนุนช่อง 186 00:12:42,246 --> 00:12:45,320 แล้วเจอกันในวิดีโอหน้านะครับ