Inference Server ของคุณกำลังแอบเรียนรู้อยู่: เปิดตัว Reef แบบ Open-Source สำหรับ AI Agent ที่พัฒนาตัวเองได้อย่างต่อเนื่อง

@ao_qu18465
อังกฤษ01 ก.ย. 2569
121K
216
46
9
262

TL;DR

Reef คือโครงสร้างพื้นฐานแบบ Open-Source ที่ออกแบบมาเพื่อการพัฒนาตนเองอย่างต่อเนื่องของ AI Agent โดยช่วยให้ทั้งน้ำหนักของโมเดล (Model Weights) และตรรกะการทำงาน (Harness Logic) สามารถวิวัฒนาการไปได้ตามประสบการณ์และผลตอบรับจากการใช้งานจริง (Live Inference)

Reef เป็นโอเพนซอร์สเต็มรูปแบบ: https://github.com/Human-Agent-Society/reef

1. ก่อนที่กระแส "RSI" จะกลายเป็นจริง

ก่อนที่ความตื่นเต้นเกี่ยวกับ RSI ในปัจจุบันจะเกิดขึ้นจริง เราต้องการเปิดเผยซอร์สโค้ดของ Reef ซึ่งเป็นโครงสร้างพื้นฐานที่เรากำลังสร้างขึ้นสำหรับปัญหาในวงกว้างเดียวกัน นั่นคือ การทำให้เอเจนต์ (harness + model) สามารถพัฒนาตนเองอย่างต่อเนื่องจากประสบการณ์ของพวกเขา

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

2. ทำไมการพัฒนาตนเองอย่างต่อเนื่องถึงต้องการโครงสร้างพื้นฐานใหม่?

Ao Qu - inline image

GIF

โครงสร้างพื้นฐาน LLM ส่วนใหญ่สันนิษฐานถึงวงจรชีวิตที่ค่อนข้างเรียบง่าย เราฝึกโมเดล ประเมินมัน ปรับใช้มัน จากนั้นใช้มันสำหรับการอนุมาน สำหรับเอเจนต์ที่พัฒนาตนเองอย่างต่อเนื่อง เราคิดว่าสมมติฐานสองข้อเบื้องหลังการตั้งค่านี้เริ่มจะพังทลายลง

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

ประการที่สอง โมเดลไม่ใช่สิ่งเดียวที่วิวัฒนาการอีกต่อไป เอเจนต์เป็นมากกว่าโมเดล และการพัฒนาตนเองอย่างต่อเนื่องไม่ควรถูกจำกัดอยู่แค่น้ำหนักของโมเดล พรอมต์ หน่วยความจำ ทักษะ เครื่องมือ และตรรกะการประสานงาน ล้วนสามารถปรับปรุงจากประสบการณ์ได้ โมเดลที่แข็งแกร่งขึ้นจะขยายความสามารถของเอเจนต์ ในขณะที่ harness ที่ดีขึ้นจะช่วยดึงความสามารถเหล่านั้นออกมาได้อย่างมีประสิทธิภาพมากขึ้น และนำไปใช้ได้อย่างน่าเชื่อถือมากขึ้นในงานที่ซับซ้อน

เมื่อรวมกันแล้ว การเปลี่ยนแปลงเหล่านี้จะเปลี่ยนสิ่งที่เคยเป็นไปป์ไลน์แบบต่อเนื่องเป็นส่วนใหญ่ ให้เป็นวงวนวิวัฒนาการอย่างต่อเนื่อง เอเจนต์โต้ตอบ สร้างประสบการณ์ ปรับปรุงส่วนต่างๆ ของตัวเอง ประเมินว่าการเปลี่ยนแปลงเหล่านั้นคุ้มค่าที่จะเก็บไว้หรือไม่ และกลับมาให้บริการในฐานะเวอร์ชันใหม่ของระบบ

นั่นคือเหตุผลที่เราไม่คิดว่า Reef เป็นเพียงโครงสร้างพื้นฐานสำหรับการฝึกอบรม การฝึกอบรมเป็นเพียงส่วนหนึ่งของวงวนเท่านั้น เราคิดว่าโครงสร้างพื้นฐานสำหรับการพัฒนาตนเองอย่างต่อเนื่องต้องเริ่มต้นจากการอนุมานแบบสด และสนับสนุนวิวัฒนาการของเอเจนต์ทั้งหมด

Ao Qu - inline image

GIF

3. โครงสร้างพื้นฐานดังกล่าวต้องการอะไร และ Reef นำไปใช้อย่างไร?

Ao Qu - inline image

สถาปัตยกรรม Reef

โครงสร้างพื้นฐานสำหรับการพัฒนาตนเองอย่างต่อเนื่องจำเป็นต้อง เป็นเจ้าของสามสิ่งแบบ end-to-end: ประสบการณ์ เอเจนต์ และการอัปเดต นั่นหมายถึง (1) การเรียนรู้จากทราฟฟิกสด (2) การอัปเดตทั้งโมเดลและ harness และ (3) การประเมิน การกำหนดเวอร์ชัน และการควบคุมวิธีการเผยแพร่อัปเดตอย่างเหมาะสม

เป็นเจ้าของประสบการณ์ — การเรียนรู้ต้องสร้างขึ้นบนการให้บริการแบบสด

การอนุมานและการฝึกอบรมถูกแยกออกจากกันในอดีต โครงสร้างพื้นฐาน RL บางส่วน (เช่น Slime, veRL) รวมเอาเอนจินการอนุมานสำหรับการสร้างข้อมูล แต่ระบบเหล่านี้ออกแบบมาสำหรับการฝึกโมเดลมากกว่าการให้บริการโมเดล เราตั้งสมมติฐานว่าโครงสร้างพื้นฐานที่พัฒนาตนเองอย่างต่อเนื่องควรเป็นโครงสร้างพื้นฐานการอนุมานก่อน และสร้างความสามารถในการฝึกอบรมรอบการอนุมานแบบสด: ระบบให้บริการแอปพลิเคชันจริง รวบรวมประสบการณ์ในช่วงทดสอบ และปล่อยให้สูตรการเรียนรู้บริโภคมันอย่างต่อเนื่อง ความเชื่อนี้นำไปสู่การคิดใหม่เกี่ยวกับตัวเลือกการออกแบบมากมาย รวมถึงการสร้างสัญญาณการฝึกอบรมและการเลือกตัวอย่างการฝึกอบรม

การอนุมานเป็นสิ่งดั้งเดิมของ Reef Reef เปิดเผย endpoints การอนุมานมาตรฐาน ทำให้ง่ายต่อการรวมเข้ากับแอปพลิเคชันที่มีอยู่ และเปลี่ยนให้เป็นระบบที่วิวัฒนาการตนเองได้

python
1# client = xxx # เริ่มต้นไคลเอนต์ httpx ไปยัง endpoint การให้บริการของ Reef
2
3# การเรียกอนุมานมาตรฐานผ่าน Reef, รูปแบบ Open-AI
4response = client.post(
5 "/v1/chat/completions",
6 json={"model": xxx, "messages": xxx},
7)
8
9# การอ้างอิงถึงบันทึกการอนุมานที่ Reef เก็บไว้
10receipt = response.headers["x-reef-agent-record-id"]

แอปพลิเคชันยังสามารถรายงานรางวัล ข้อเสนอแนะจากผู้ประเมิน หรือสัญญาณอื่นๆ ที่เกี่ยวข้องกับการเรียกอนุมานเฉพาะผ่าน:

python
1# แนบข้อเสนอแนะกับบันทึกการอนุมานที่เกี่ยวข้อง
2client.post(
3 "/reef/report",
4 json={"feedback": "คำตอบผิด", "references": [receipt]},
5)

แตกต่างจากเอนจินการอนุมานที่มีอยู่ซึ่งคงที่ตลอดวงจรชีวิต Reef นำเสนอ การอนุมานแบบมีสถานะ: Reef จัดเก็บร่องรอยการอนุมานและข้อเสนอแนะเป็นสตรีมประสบการณ์ที่มีโครงสร้าง จัดการกับปัญหาเช่นความล้าสมัยนอกนโยบาย การรวมเซสชัน และการกำจัดข้อมูลซ้ำซ้อน สูตรการเรียนรู้ กำหนดว่าสตรีมนี้ถูกประมวลผลอย่างไร อัลกอริทึมการเรียนรู้ใดถูกใช้ และเมื่อใดที่อัปเดตจะถูกประเมินและปรับใช้ สิ่งนี้ช่วยให้แอปพลิเคชันต่างๆ สามารถวิวัฒนาการด้วยกลยุทธ์การเรียนรู้ของตนเองบนโครงสร้างพื้นฐานเดียวกัน

เป็นเจ้าของเอเจนต์ทั้งหมด — ทั้งโมเดลและ harness ถูกวิวัฒนาการผ่านการอนุมานแบบมีสถานะ

เอเจนต์ AI ที่สามารถให้ผลลัพธ์แบบ end-to-end ประกอบด้วยไม่เพียงแค่โมเดล แต่ยังรวมถึง harness ด้วย โมเดลให้ความสามารถพื้นฐานที่จำเป็นในการแก้ไขงาน ในขณะที่ harness ช่วยให้การดำเนินการเชื่อถือได้ในวิถีการทำงานที่ซับซ้อนและยาวนาน โดยการจัดการเครื่องมือ บริบท หน่วยความจำ ข้อเสนอแนะ และการประสานงาน ทั้งสองอย่างเชื่อมโยงกันอย่างแน่นหนา: harness กำหนดว่าความสามารถของโมเดลถูกดึงออกมา วางรากฐาน และนำไปใช้อย่างไร ในขณะที่โมเดลกำหนดว่ารูปแบบการดำเนินการใดที่ harness สามารถรองรับได้อย่างน่าเชื่อถือ ความก้าวหน้าในสิ่งใดสิ่งหนึ่งจึงสามารถเปลี่ยนการออกแบบที่เหมาะสมที่สุดของอีกสิ่งหนึ่งได้ โครงสร้างพื้นฐานที่พัฒนาตนเองอย่างต่อเนื่องควรรองรับวิวัฒนาการร่วมกันของสแต็กเอเจนต์ทั้งหมด รวมถึงไม่เพียงแต่น้ำหนักโมเดล แต่ยังรวมถึงพรอมต์ หน่วยความจำ ทักษะ เครื่องมือ และตรรกะการประสานงาน

Reef รองรับการอัปเดตทั้งโมเดลและ harness

ในด้าน harness Reef ใช้ Cordis เป็น "แบ็กเอนด์การฝึกอบรม" สูตรวิวัฒนาการ harness โดยทั่วไปจะวิเคราะห์วิถีการทำงานของเอเจนต์และข้อเสนอแนะ จากนั้นเสนอการแก้ไข harness กระบวนการนี้เกิดขึ้นภายใน Reef ทั้งหมด และ harness เวอร์ชันที่วิวัฒนาการแล้วแต่ละเวอร์ชันจะถูกเผยแพร่ให้ผู้ใช้เป็นอัปเดตที่สามารถติดตั้งได้ (สมมติว่า Reef ให้บริการบน localhost:8900):

bash
1curl -fsS -H "Authorization: Bearer $REEF_TOKEN" \
2 'http://localhost:8900/reef/harness/install?adapter=pi' | bash

คำสั่งด้านบนติดตั้ง harness Pi ที่ห่อหุ้มด้วย Reef ในลักษณะเดียวกับเอเจนต์การเขียนโค้ดทั่วไป harness ถูกกำหนดค่าให้ใช้ endpoint การอนุมานแบบมีสถานะของ Reef ดังนั้นทราฟฟิกการอนุมานของมันจึงไหลผ่าน Reef ในขณะที่ผู้ใช้ทำงาน Cordis จะวิวัฒนาการ harness ตามสูตรวิวัฒนาการ harness ที่กำหนดค่าไว้ และเวอร์ชันใหม่จะพร้อมใช้งานผ่าน Reef ครั้งต่อไปที่ผู้ใช้เปิด harness พวกเขาอาจเห็น:

Ao Qu - inline image

ในด้านโมเดล สูตรการเรียนรู้ ใช้บันทึกของ Reef เพื่ออัปเดตน้ำหนักโมเดล การฝึกอบรมทำงานแบบอะซิงโครนัสกับการให้บริการสดโดยใช้แบ็กเอนด์การฝึกอบรมแบบกระจาย ซึ่งปัจจุบันดัดแปลงมาจาก Slime และสร้างการอัปเดตน้ำหนักที่เป็นตัวเลือก เช่น checkpoints หรือ LoRA adapters

เมื่อตัวเลือกผ่านการประเมินและได้รับการอนุมัติให้ปรับใช้ Reef จะเผยแพร่มันเป็นเวอร์ชันใหม่ของอาร์ติแฟกต์โมเดลของสถานการณ์ และอัปเดตเอนจินการให้บริการแบบร้อนโดยใช้การซิงโครไนซ์น้ำหนักที่ใช้ NCCL โดยไม่ต้องรีสตาร์ทบริการ

เป็นเจ้าของการอัปเดต — การเผยแพร่ที่วิวัฒนาการแล้วจะถูกประเมินและกำหนดเวอร์ชัน

เอเจนต์ที่วิวัฒนาการอย่างต่อเนื่องอาจทำให้คุณภาพบริการลดลง โดยเฉพาะอย่างยิ่งเมื่อการวิวัฒนาการไม่ได้รับประกันว่าจะนำมาซึ่งการปรับปรุงประสิทธิภาพ ดังนั้น ตัวเลือกที่วิวัฒนาการแล้วแต่ละตัวควรได้รับการประเมินก่อนเผยแพร่ Reef ควบคุมว่าตัวเลือกที่วิวัฒนาการแล้วได้รับอนุญาตให้แทนที่อาร์ติแฟกต์ที่ให้บริการสถานการณ์อยู่ในปัจจุบันหรือไม่ หากตัวเลือกถูกปฏิเสธ การให้บริการจะไม่เปลี่ยนแปลง มิฉะนั้น Reef จะเผยแพร่มันเป็นการเผยแพร่ใหม่ที่สามารถตรวจสอบได้

สิ่งใดก็ตามที่ Reef สามารถวิวัฒนาการได้ เช่น checkpoint โมเดล LoRA adapter ทรี harness หรือนโยบายการกำหนดเส้นทาง จะถูกแสดงเป็น อาร์ติแฟกต์ ที่จัดการโดยตัวควบคุมเวอร์ชัน Reef ใช้ Git LFS สำหรับการจัดการอาร์ติแฟกต์ โดยเฉพาะอย่างยิ่งอาร์ติแฟกต์ที่ใช้พื้นที่ดิสก์มาก เช่น น้ำหนักโมเดล เส้นทางการเผยแพร่คือ:

Ao Qu - inline image

แต่ละสถานการณ์มีห่วงโซ่การเผยแพร่แบบต่อท้ายเท่านั้น Reef เลื่อนหัวการเผยแพร่ของสถานการณ์โดยใช้ compare-and-swap ดังนั้นผู้เผยแพร่ที่ล้าสมัยจะไม่สามารถเขียนทับการเผยแพร่ที่ใหม่กว่าได้ ไปป์ไลน์การเผยแพร่ช่วยให้ Reef สามารถติดตามการเปลี่ยนแปลงเวอร์ชันอย่างต่อเนื่องและกระบวนการเผยแพร่ได้อย่างมีประสิทธิภาพ

4. วิธีการพัฒนาตนเองอย่างต่อเนื่องใน Reef

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

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

สูตรเหล่านี้แตกต่างกันหลักๆ ตามสามมิติ:

สัญญาณการเรียนรู้: สัญญาณรูปแบบใดที่ขับเคลื่อนการปรับปรุง และมันมาจากไหน?

การได้มาซึ่งประสบการณ์: ประสบการณ์การเรียนรู้ถูกสร้างขึ้นมาอย่างไร? มันถูกแสวงหาโดยเอเจนต์อย่างจริงจัง หรือถูกสร้างขึ้นจากงานหรือการโต้ตอบภายนอก?

เป้าหมายที่วิวัฒนาการ: อะไรเปลี่ยนแปลงจริงๆ: โมเดล harness หรือทั้งสองอย่าง?

Ao Qu - inline image

สูตรที่รองรับแล้วหรือกำลังจะมาในเร็วๆ นี้ใน Reef

Reef ถูกออกแบบมาเพื่อให้วิธีการเหล่านี้สามารถแสดงออกได้เป็นส่วนใหญ่ผ่านสูตรการเรียนรู้ที่แตกต่างกันบนโครงสร้างพื้นฐานเดียวกัน การใช้สูตรง่ายๆ: เลือกหนึ่งสูตรและกำหนดค่าเมื่อเริ่มต้นบริการ Reef

yaml
1# serve.yaml
2reef:
3 recipe: recipes.sao.recipe:SAORecipe # เสียบปลั๊กสูตรวิวัฒนาการ
4 batch_size: 1 # การกำหนดค่าเฉพาะของสูตร
5 max_staleness: 18

จากนั้นเริ่มต้น Reef ด้วยการกำหนดค่า:

bash
1reef serve -c recipes/sao/examples/sao/serve.yaml

ด้านล่างนี้ เราแสดงสองตัวอย่าง OpenClaw-RL และ TTT-Discover ซึ่งปฏิบัติตามกลยุทธ์วิวัฒนาการที่แตกต่างกันมาก แต่ทั้งคู่สามารถนำไปใช้ใน Reef ได้

Ao Qu - inline image

GIF

ภาพแสดงการรวม OpenClaw-RL ใน Reef ผู้ใช้โต้ตอบกับเอเจนต์ที่โมเดลของมันถูกวิวัฒนาการอย่างต่อเนื่องโดย Reef แบบอะซิงโครนัสโดยไม่รบกวนผู้ใช้ เมื่อมีรอบสะสมมากขึ้นเรื่อยๆ เอเจนต์จะค่อยๆ เรียนรู้ที่จะตีความความชอบของผู้ใช้ได้อย่างถูกต้อง และให้คำตอบที่น่าพอใจ

Ao Qu - inline image

GIF

ภาพแสดงให้เห็นว่า TTT ปรับปรุงโซลูชัน Packing 32 อย่างเป็นลำดับอย่างไร เมื่อการปรับให้เหมาะสมดำเนินไป โซลูชันที่มีประสิทธิภาพมากขึ้นจะถูกค้นพบและเก็บรักษาไว้ นำไปสู่คะแนนการบรรจุที่สูงขึ้นเรื่อยๆ

5. บทสรุป

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

เราขอเชิญคุณลองใช้ Reef สร้างสูตรการเรียนรู้ของคุณเอง และรวมเข้ากับเอเจนต์ของคุณ สำรวจโค้ด เอกสารประกอบ และตัวอย่างสูตรได้ที่ https://github.com/Human-Agent-Society/reef หากคุณพบว่า Reef มีประโยชน์ เราจะซาบซึ้งใจหากคุณให้ดาวใน repository หากคุณต้องการสร้างร่วมกับเราหรือหารือเกี่ยวกับการพัฒนาตนเองอย่างต่อเนื่องในวงกว้างมากขึ้น คุณสามารถเข้าร่วม Discord ของเราได้: https://discord.gg/5y8e5f937k

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

รายชื่อผู้มีส่วนร่วมที่เพิ่มขึ้น (เรียงตามตัวอักษร): Chai Wenhao (@wenhaocha1), Ding Shuangrui (@ShuangruiDing), He Hao, He Haoze, Jiang Chonhe (@JiangChonghe), Jiang Nan (@nanjiangwill), Jiang Xuan, Li Xiaochen (@jacobli99), Liang Paul (@pliang279), Liu Bo (@Benjamin_eecs), Long Boyuan, Mang Qiuyang (@MangQiuyang), Qi Zhenting (@ZhentingQi), Qu Ao (@ao_qu18465), Qu Mingruo, Wang Zhaokai, Yan Xuezhi, Yu Hanfei (@yhfchitanda), Yu Haofei (@haofeiyu44), Yu Simon (@simon_ycl), Zheng Han (@hanzheng_7), Zhou Kaichen (@alex_kai2020), Zhou Zijian (@BobbyZhouZijian), Zhu Jiacheng (@JiachengZhu_ML), Zhuang Dingyi

บันทึกในคลิกเดียว

อ่านบทความไวรัลเชิงลึกด้วย AI ใน YouMind

บันทึกแหล่งที่มา ถามคำถามที่ตรงประเด็น สรุปข้อโต้แย้ง และเปลี่ยนบทความไวรัลให้เป็นโน้ตที่นำกลับมาใช้ได้ใน AI เวิร์กสเปซเดียว

สำรวจ YouMind
สำหรับครีเอเตอร์

เปลี่ยน Markdown ของคุณให้เป็นบทความ 𝕏 ที่สะอาดตา

เวลาคุณเผยแพร่งานเขียนยาวของตัวเอง การจัดรูปแบบรูปภาพ ตาราง และบล็อกโค้ดให้เข้ากับ 𝕏 นั้นน่าปวดหัว YouMind เปลี่ยนร่าง Markdown ทั้งฉบับให้เป็นบทความ 𝕏 ที่สะอาดตาและพร้อมโพสต์ทันที

ลอง Markdown เป็น 𝕏

แพตเทิร์นให้ถอดรหัสเพิ่มเติม

บทความไวรัลล่าสุด

สำรวจบทความไวรัลเพิ่มเติม