วิธีเป็นวิศวกร AI ประยุกต์ (Applied AI Engineer)

@eyad_khrais
อังกฤษ1 วันที่ผ่านมา · 07 ก.ค. 2569
271K
596
48
13
2.6K

TL;DR

คู่มือฉบับนี้สรุปแนวทางการเปลี่ยนผ่านจากวิศวกรรมซอฟต์แวร์แบบเดิมไปสู่การเป็นวิศวกร AI โดยเน้นที่การสร้างชุดประเมินผล (evaluation suites), การพัฒนาเครื่องมือทดสอบ (harness development) และการประสานงานระบบหลายตัวแทน (multi-agent coordination)

ฉันเขียนคู่มือนี้ขึ้นมา เพราะหวังว่าจะมีใครสักคนเขียนแบบนี้ให้ฉันอ่านก่อนที่จะก้าวเข้าสู่วงการวิศวกรรม AI ประยุกต์ (Applied AI Engineering)

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

เมื่ออ่านจบ คุณควรจะมีความเข้าใจที่ชัดเจนขึ้นมากว่าวิศวกรรม AI ประยุกต์คืออะไร งานนี้ต้องการอะไรจริงๆ และมันขยายขอบเขตออกไปไกลกว่าวิศวกรรมซอฟต์แวร์แบบดั้งเดิมอย่างไร

ถ้าคุณสนใจที่จะทำงานในปัญหาที่น่าสนใจที่สุดบางอย่างในด้าน AI ประยุกต์ร่วมกับทีมวิศวกรที่มีความสามารถมาก เรากำลังรับสมัครงานอยู่เสมอ สมัครได้ที่เว็บไซต์ของเรา varickagents.com หรือแนะนำผู้สมัครเพื่อรับค่าตอบแทนแนะนำ 20,000 ดอลลาร์

อย่างไรก็ตาม วิธีที่ดีที่สุดในการทำความเข้าใจวิศวกรรม AI ประยุกต์คือการเริ่มต้นที่การเปลี่ยนแปลงวิธีคิดของคุณเกี่ยวกับการสร้างซอฟต์แวร์

วิศวกรรมซอฟต์แวร์ vs วิศวกรรม AI

ความแตกต่างที่ใหญ่ที่สุดระหว่างการเป็นวิศวกรซอฟต์แวร์ (SWE) และวิศวกร AI คือ วิศวกรรมซอฟต์แวร์แบบดั้งเดิมฝึกให้คุณคิดแบบกำหนดตายตัว (deterministic) ในขณะที่ AI ประยุกต์บังคับให้คุณคิดแบบความน่าจะเป็น (probabilistic)

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

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

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

ส่วนถัดไปของบทความจะครอบคลุมถึงการพัฒนาแต่ละส่วนของเอเจนต์ AI (ยกเว้นตัวโมเดลเองแน่นอน) เพราะคุณสามารถเรียก API ไปยังโมเดลได้ แต่คุณต้องสร้างทุกอย่างอื่นด้วยตัวเอง สิ่งนี้เรียกว่าวิศวกรรมสายรัด (Harness Engineering)

และสุดท้าย ฉันจะครอบคลุมถึงวิธีการเปลี่ยนจากเอเจนต์หนึ่งตัวในระบบผลิตจริงไปเป็นหลายตัว – และทำไมมันถึงเป็นปัญหาของระบบกระจาย (distributed systems problem) ถ้าคุณอ่านบทความนี้จนจบ ก็ไม่มีเหตุผลใดที่คุณจะไม่สามารถเปลี่ยนผ่านไปเป็นวิศวกร AI ประยุกต์ได้

การประเมินผล (Evals)

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

การประเมินผลคือกระบวนการมอบหมายงานให้เอเจนต์ ปล่อยให้มันทำงาน และให้คะแนนสิ่งที่มันทำ เป้าหมายคือการพิสูจน์สองสิ่ง: เอเจนต์ทำงานเสร็จสมบูรณ์อย่างถูกต้อง และเอเจนต์ทำงานอยู่ภายในขอบเขตที่กำหนดให้

ขั้นตอนแรกคือ การให้คะแนนผลลัพธ์ (grade the outcome) นี่เป็นขั้นตอนที่ง่ายที่สุดของกระบวนการประเมินผล สำหรับเอเจนต์ใบแจ้งหนี้ ซึ่งเป็นประเภทที่ฉันมักจะทำงานด้วย นั่นหมายถึงการตรวจสอบให้แน่ใจว่าใบแจ้งหนี้ไปอยู่ในที่ที่ถูกต้อง หรือรายการซ้ำถูกแจ้งเตือน คุณแค่เปรียบเทียบผลลัพธ์สุดท้ายกับสิ่งที่ควรจะเกิดขึ้น

ขั้นตอนที่สองคือ การให้คะแนนเส้นทาง (grade the trajectory) นี่คือเส้นทางที่เอเจนต์ใช้เพื่อไปถึงผลลัพธ์นั้น: เครื่องมือที่มันเรียกใช้ ฟิลด์ที่มันแตะต้อง อาร์กิวเมนต์ที่มันส่งผ่าน และการกระทำที่มันพยายามทำระหว่างทาง สิ่งนี้สำคัญเพราะเอเจนต์สามารถไปถึงคำตอบสุดท้ายที่ถูกต้องได้ในขณะที่ยังทำสิ่งที่อันตรายในกระบวนการ มันสามารถจัดประเภทใบแจ้งหนี้ได้อย่างถูกต้องในขณะที่เปลี่ยนรายละเอียดธนาคาร หรือส่งการชำระเงินก่อนได้รับการอนุมัติ

เส้นทางนั้นเป็นเพียงบันทึก (log): รายการตามลำดับของทุกเครื่องมือที่เอเจนต์เรียกใช้และอาร์กิวเมนต์ที่มันส่งผ่าน – การให้คะแนนมันก็แค่เขียนเช็คกับบันทึกนั้น

เช็คบางอย่างเป็นแบบ กำหนดตายตัว (deterministic) – ตรวจสอบให้แน่ใจว่า send_payment ไม่เคยปรากฏก่อนการเรียก approval ตรวจสอบว่าฟิลด์เดียวที่ถูกเขียนคือฟิลด์ที่เอเจนต์ได้รับอนุญาตให้เขียน เช็คอื่นๆ เป็นการ ตัดสิน (judgment) – เช่น การยกระดับปัญหาเหมาะสมหรือไม่ เหตุผลสมควรกับการกระทำหรือไม่ สิ่งเหล่านี้จะถูกส่งไปยังโมเดลที่สองพร้อมเกณฑ์การให้คะแนน (rubric)

หลักการทั่วไปที่ควรปฏิบัติตามคือ เช็คแบบกำหนดตายตัวมักจะจับการละเมิดด้านความปลอดภัย ในขณะที่โมเดลผู้ตัดสิน (judge model) จะให้คะแนนคุณภาพ

ผลลัพธ์คือคะแนนสองคะแนนต่อกรณีทดสอบหนึ่งกรณี: เอเจนต์ได้คำตอบที่ถูกต้องหรือไม่ และมันมีพฤติกรรมที่ถูกต้องระหว่างทางหรือไม่ สิ่งเหล่านี้ต้องรายงานแยกจากกัน เพราะเอเจนต์ที่จัดประเภทใบแจ้งหนี้ได้ถูกต้อง 95% ของเวลา แต่แตะต้องฟิลด์ต้องห้ามใน 4% ของรอบการทำงาน จะดูดีมากในคะแนนรวม แต่ก่อให้เกิดปัญหาทางธุรกิจครั้งใหญ่ในระบบผลิตจริง

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

ฉันแนะนำให้อ่านแต่ละอัน แต่เริ่มต้นด้วยของ Lenny และ Hamel ก่อน แล้วค่อยไปเรียนคอร์สการประเมินผล (ซึ่งจะลงมือปฏิบัติมากกว่าเล็กน้อย)

แต่การประเมินผลยังคงต้องมีเอเจนต์ให้ทดสอบ และทุกอย่างรอบๆ โมเดลต้องถูกสร้างโดยคุณ ระบบรอบข้างนั้นเรียกว่าสายรัด (harness) – ส่วนถัดไปจะครอบคลุมถึงวิธีคิดเกี่ยวกับแต่ละส่วนของกระบวนการวิศวกรรมสายรัด ตั้งแต่การเรียกใช้เครื่องมือไปจนถึงการปรับแต่งหน้าต่างบริบท (context window)

วิศวกรรมสายรัด (Harness Engineering)

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

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

ส่วนแรกของสายรัดคือการดำเนินการเครื่องมือ (tool execution)

โมเดลอ่านและเขียนได้เฉพาะข้อความ ดังนั้นเมื่อโมเดลตัดสินใจจะทำอะไรบางอย่าง มันไม่ได้ดำเนินการจริงๆ มันจะปล่อยคำขอที่มีโครงสร้าง (สตริง JSON) เพื่ออัปเดตเรกคอร์ด หรือส่งอีเมล หรือค้นหาฐานข้อมูล

สายรัดรับคำขอนั้น ตรวจสอบความถูกต้อง ดำเนินการจริง และส่งผลลัพธ์กลับไปยังโมเดลเป็นข้อความ

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

ฉันจะเขียนบทความที่ครอบคลุมมากขึ้นซึ่งเจาะลึกในแต่ละส่วนของกระบวนการพัฒนาสายรัด แต่สำหรับตอนนี้ ฉันแนะนำให้ฟังการบรรยายนี้โดยวิศวกรจาก Arize ซึ่งเป็นแพลตฟอร์มการเรียนรู้อย่างต่อเนื่องสำหรับเอเจนต์ ที่เจาะลึกกระบวนการคิดของพวกเขาเกี่ยวกับ การจัดการบริบท

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการประยุกต์ใช้การจัดการบริบทที่มีประสิทธิภาพกับเอเจนต์ของคุณในทางปฏิบัติ ให้อ่านบล็อกเหล่านี้:

ส่วนที่สามในวิศวกรรมสายรัดคือสถานะและความจำ (state and memory) โมเดลไม่มีสถานะ (stateless) ระหว่างการเรียก ดังนั้นทุกสิ่งที่เอเจนต์ต้องจำต้องอยู่ภายนอกโมเดล (โดยปกติอยู่ในฐานข้อมูล ที่เก็บไฟล์ หรือเรกคอร์ดงาน) บริบทคือสิ่งที่โมเดลกำลังมองอยู่ในขณะนี้ สถานะคือทุกสิ่งที่เอเจนต์รู้แต่ไม่ได้กำลังมองอยู่ในขณะนี้

ส่วนที่สี่คือราวกั้น (guardrails) เนื่องจากโมเดลสามารถขอการกระทำที่ผิดด้วยความมั่นใจเท่ากับการกระทำที่ถูก สายรัดจึงต้องตรวจสอบสิทธิ์ ตรวจสอบความถูกต้องของอินพุต ป้องกันการกระทำที่ไม่ปลอดภัย และส่งต่อขั้นตอนที่มีความเสี่ยงสูงไปยังมนุษย์

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

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

แต่โดยปกติแล้วระบบผลิตจริงไม่ได้หยุดอยู่ที่เอเจนต์ตัวเดียว

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

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

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

การปรับใช้หลายเอเจนต์คือปัญหาของระบบกระจาย

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

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

นี่คือปัญหาของระบบกระจาย ข่าวดีคือวิศวกรระบบกระจายได้แก้ไขความล้มเหลวเหล่านี้มานานหลายทศวรรษแล้ว งานของคุณคือการนำไปประยุกต์ใช้กับลูปที่บังเอิญมี LLM อยู่ข้างใน ด้านล่างนี้คือรายการวิธีแก้ปัญหาจากระบบกระจายที่นำไปใช้กับวิศวกรรม AI:

หลักการเขียนโดยผู้เดียว (Single-writer principle) ทุกสถานะที่สำคัญจะมีเอเจนต์เพียงตัวเดียวที่สามารถเขียนลงไปได้ – เอเจนต์อื่นๆ อ่านจากมันหรือส่งคำขอเปลี่ยนแปลง บังคับใช้สิ่งนี้ในระดับเครื่องมือ: ถ้าเอเจนต์ดำเนินการเป็นตัวเดียวที่สามารถเขียนไปยัง CRM ได้ เอเจนต์ค้นคว้าก็จะไม่สามารถทำให้ CRM เสียหายได้ไม่ว่ามันจะให้เหตุผลได้แย่แค่ไหนก็ตาม

คีย์ความเท่าเทียม (Idempotency keys) เอเจนต์จะลองเรียกเครื่องมือใหม่เมื่อมีบางอย่างล้มเหลวหรือหมดเวลา แต่การลองใหม่อาจเป็นอันตรายเมื่อเครื่องมือเปลี่ยนแปลงบางอย่างในโลกแห่งความเป็นจริง คุณไม่ต้องการให้เอเจนต์ส่งการชำระเงินเดียวกันสองครั้งเพียงเพราะคำขอแรกดูเหมือนว่าจะล้มเหลว วิธีแก้ไขคือการแนบคีย์ที่ไม่ซ้ำกันกับการเรียกเครื่องมือทุกครั้งที่เปลี่ยนแปลงข้อมูล (mutating tool call) ซึ่งหมายถึงการกระทำใดๆ ที่เปลี่ยนแปลงข้อมูลในระบบภายนอก หากเครื่องมือเห็นคีย์เดียวกันอีกครั้ง มันควรส่งคืนผลลัพธ์เดิมแทนที่จะดำเนินการอีกครั้ง API ของ Stripe ทำงานแบบนี้ – และมันนำไปใช้กับการพัฒนาเอเจนต์เมื่อต้องจัดการกับการชำระเงิน อีเมล ฯลฯ

เงื่อนไขเบื้องต้นในการเขียน (Preconditions on writes) เอเจนต์มักจะดำเนินการตามมุมมองโลกที่เก่า อาจมีบางอย่างเปลี่ยนแปลงไประหว่างเวลาที่เอเจนต์วางแผนกับเวลาที่มันพยายามอัปเดตระบบภายนอก เพื่อป้องกันการเขียนที่ล้าสมัย เครื่องมือที่เปลี่ยนแปลงข้อมูลควรกำหนดเงื่อนไขก่อนที่จะทำการเปลี่ยนแปลง ตัวอย่างเช่น: "ตั้งค่าสถานะเป็น 'อนุมัติแล้ว' ก็ต่อเมื่อยังเป็น 'รอดำเนินการ' อยู่" หากสถานะเปลี่ยนแปลงไปแล้ว เครื่องมือควรล้มเหลวอย่างชัดเจนแทนที่จะเขียนทับสถานะที่ใหม่กว่าอย่างเงียบๆ

การส่งมอบงานอย่างชัดเจน (Explicit hand-offs) ส่งงานเป็นข้อความที่มีโครงสร้างที่กำหนดไว้ (schema) โดยเรียงลำดับโดยผู้ประสานงาน (orchestrator) เอเจนต์ควรได้รับงานของมัน ไม่ใช่ค้นพบมันเอง

สรุปโดยย่อ (TLDR)

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

ถ้าคุณจะจำอะไรได้จากบทความนี้ ก็ขอให้เป็นสิ่งนี้ – โมเดลให้ความฉลาด แต่ทุกสิ่งที่ทำให้มันเชื่อถือได้ (ชั้นการวัดผล สภาพแวดล้อมการทำงาน กฎการประสานงาน) ล้วนถูกออกแบบโดยคุณ เข้าใจสิ่งเหล่านี้ แล้วการเปลี่ยนผ่านจากวิศวกรรมซอฟต์แวร์จะกลายเป็นเพียงการต่อยอดทักษะที่คุณมีอยู่แล้ว

ถ้าคุณสนใจงานประเภทนี้และต้องการร่วมทีมเพื่อจัดการกับปัญหาที่น่าสนใจที่สุดบางอย่างในด้าน AI ประยุกต์ร่วมกับทีมวิศวกรที่มีความสามารถมาก เรากำลังรับสมัครงานอยู่เสมอ สมัครได้ที่เว็บไซต์ของเรา varickagents.com และเราอาจให้คุณเริ่มงานได้เร็วที่สุดเท่าที่จะเป็นไปได้ ในทางกลับกัน ถ้าคุณแนะนำผู้สมัครที่ผ่านการคัดเลือก เราจะให้ค่าตอบแทนแนะนำ 20,000 ดอลลาร์

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

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

Save the source, ask focused questions, summarize the argument, and turn a viral article into reusable notes in one AI workspace.

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

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

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

ลอง Markdown เป็น 𝕏

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

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

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