Thoughtworks Technology Radar, Volume 32 เปิดเผยแล้ว
(thoughtworks.com)- ทำให้เห็นภาพและอธิบายเทรนด์ล่าสุดในหมวดเทคนิค/เครื่องมือ/แพลตฟอร์ม/ภาษาและเฟรมเวิร์กสำหรับการพัฒนา ด้วย 4 ระดับคือ Hold/Assess/Trial/Adopt
- ติดตามรายการเทคโนโลยีที่น่าสนใจ (blip) โดย blip จะเคลื่อนย้ายไประหว่าง 4 ระดับเมื่อเวลาผ่านไป
- Adopt (แนะนำให้นำไปใช้) : เห็นว่าควรนำไปใช้อย่างจริงจังในวงการโดยรวม และสามารถใช้จริงในโปรเจ็กต์ได้เมื่อเหมาะสม
- Trial (ทดลองใช้) : ควรค่าแก่การลองใช้เชิงทดลอง โดยสิ่งสำคัญคือการเข้าใจว่าจะสร้างความสามารถที่เกี่ยวข้องได้อย่างไร และสามารถนำไปใช้ในโปรเจ็กต์ที่ยอมรับความเสี่ยงได้
- Assess (ควรสำรวจ) : เทคโนโลยีนี้มีคุณค่าเพียงพอให้สำรวจ โดยมีเป้าหมายเพื่อทำความเข้าใจว่าสามารถส่งผลต่อองค์กรอย่างไร
- Hold (แนะนำให้ชะลอ) : ควรเข้าหาอย่างระมัดระวัง
4 ธีมของฉบับนี้
-
การใช้เอเจนต์แบบมีผู้กำกับดูแลใน coding assistant
- หนึ่งในความก้าวหน้าอย่างรวดเร็วของ generative AI คือ การเติบโตของเอเจนต์ช่วยเขียนโค้ดแบบสนทนาภายใน IDE
- แนวทางที่เรียกว่า “agentic”, “prompt-to-code”, “CHOP(chat-oriented programming)” กำลังแพร่หลาย
- AI ไม่ได้เพียงสร้าง code snippet เท่านั้น แต่ยังทำ การสำรวจโค้ด แก้ไขโค้ด อัปเดตการทดสอบ รันคำสั่ง และบางครั้งถึงขั้น แก้ lint/compile error อัตโนมัติ
- แม้ยังคงมีความกังขาต่อการสร้างโค้ดแบบอัตโนมัติเต็มรูปแบบ แต่ แนวทางที่ทำงานภายใต้การกำกับดูแลของนักพัฒนาให้ผลลัพธ์เชิงบวก
- เครื่องมือแบบผสานรวมกับ IDE ที่เป็นตัวแทน: Cursor, Cline, Windsurf, GitHub Copilot
- ทางเลือกแบบ terminal: aider, goose, Claude Code
- จำเป็นต้อง ระวังการเชื่อมั่นต่อการสร้างโค้ดอัตโนมัติด้วย AI มากเกินไป
- ระหว่างการรีวิวโค้ด การชี้นำและการตรวจทานอย่างต่อเนื่องยังคงสำคัญ
-
observability ที่กำลังพัฒนา
- เมื่อความซับซ้อนของสถาปัตยกรรมแบบกระจายเพิ่มขึ้น พื้นที่ของ observability ก็กำลังพัฒนาอย่างรวดเร็ว
- ประเด็นใหม่ที่ได้รับความสนใจ: LLM observability
- เครื่องมือสำหรับมอนิเตอร์และประเมินประสิทธิภาพของ LLM เพิ่มขึ้น
- ตัวอย่าง: Weights & Biases Weave, Arize Phoenix, Helicone, HumanLoop
- การเกิดขึ้นของ เครื่องมือ observability ที่มี AI ช่วยเสริม ช่วยยกระดับการวิเคราะห์อินไซต์
- การ นำ OpenTelemetry มาใช้มากขึ้น ช่วยให้ได้ทั้งความเป็นกลางต่อผู้ขายและความยืดหยุ่นของเครื่องมือ
- เครื่องมือเด่นที่รองรับ OpenTelemetry: Alloy, Tempo, Loki
- observability ยังคงพัฒนาอย่างต่อเนื่อง โดยเครื่องมือและแนวปฏิบัติ ช่วยเสริมกันและกัน
-
วิวัฒนาการของ ‘R’ ใน RAG
- ในบรรดาองค์ประกอบหลากหลายของระบบนิเวศ generative AI นั้น R ของ RAG(Retrieval-Augmented Generation) กำลังพัฒนาอย่างรวดเร็วเป็นพิเศษ
- แนวโน้มหลัก:
- Corrective RAG: แก้ไขคำตอบโดยอาศัย feedback หรือ heuristic
- Fusion-RAG: ผสานหลายแหล่งข้อมูลและหลายกลยุทธ์การค้นหา เพื่อเพิ่มความครอบคลุมและความแข็งแรงของคำตอบ
- Self-RAG: ข้ามขั้นตอน retrieval และ ดึงข้อมูลโดยตรงเมื่อมีคำขอ
- FastGraphRAG: เพิ่มความเข้าใจผ่านกราฟในรูปแบบที่มนุษย์สำรวจได้
- การเพิ่มประสิทธิภาพของ retrieval เพื่อสร้าง คำตอบที่ถูกต้องและมีประโยชน์ตามความต้องการของผู้ใช้ กำลังยิ่งสำคัญขึ้น และเทคโนโลยีกับเครื่องมือที่เกี่ยวข้องก็พัฒนาอย่างรวดเร็ว
-
การจัดการข้อมูลที่ซับซ้อน
- ประเด็นหลักไม่ใช่ ขนาดของข้อมูล (Big Data) อีกต่อไป แต่เป็นการจัดการ ความซับซ้อนและความหลากหลาย (Rich, Complex Data)
- ด้วย การเพิ่มขึ้นของข้อมูลที่ไม่มีโครงสร้าง หากต้องการนำไปใช้กับ AI หรือการวิเคราะห์ลูกค้าอย่างเหมาะสม ก็จำเป็นต้องมีการจัดการข้อมูลอย่างเป็นระบบ
- เทรนด์เครื่องมือที่เกี่ยวข้อง:
- vector database และเครื่องมือวิเคราะห์อย่าง Metabase
- การเติบโตของ แนวคิด Data Product Thinking
- นำ Product Thinking มาประยุกต์ใช้กับเครื่องมือวิเคราะห์และกลยุทธ์การใช้ข้อมูล
- เป็นความพยายามที่จะเปลี่ยนโจทย์ด้านการใช้ข้อมูลที่ถูกพูดถึงมาตั้งแต่ก่อนยุค AI ให้กลายเป็นการปฏิบัติจริง
- หากไม่มีกลยุทธ์ด้านข้อมูลที่ชัดเจน องค์กรอาจ ตามนวัตกรรมไม่ทัน และความสามารถในการแข่งขันทางธุรกิจลดลง
เทคนิค (Techniques)
Adopt (แนะนำให้นำไปใช้)
-
แนวคิดการมองข้อมูลเป็นผลิตภัณฑ์ (Data product thinking)
- ปฏิบัติต่อข้อมูลเสมือนเป็นผลิตภัณฑ์หนึ่ง โดยเน้นวงจรชีวิต มาตรฐานคุณภาพ และการออกแบบที่ยึดผู้ใช้เป็นศูนย์กลาง
- ใช้ data catalog สมัยใหม่อย่าง DataHub, Collibra, Atlan, Informatica เพื่อจัดการทั้ง business metadata และ technical metadata ร่วมกัน
- ใช้แนวคิดการมองข้อมูลเป็นผลิตภัณฑ์เพื่อให้ได้ข้อมูลที่พร้อมสำหรับ AI และเพื่อขยายโครงการ AI
- มุ่งเน้นการจัดการตลอดวงจรชีวิตทั้งหมด รวมถึงกระบวนการทำลายข้อมูลที่สอดคล้องกับข้อกำหนดทางกฎหมายและกฎระเบียบ
-
Fuzz testing
- เป็นเทคนิคเก่าแก่ แต่ยังคงเป็นวิธีทดสอบที่ยังไม่เป็นที่รู้จักอย่างแพร่หลาย
- ป้อนอินพุตผิดปกติหลากหลายรูปแบบให้ระบบ เพื่อทดสอบพฤติกรรมในสถานการณ์ยกเว้น
- ยิ่งมีความสำคัญมากขึ้นเพื่อรับมือกับช่องโหว่ด้านความปลอดภัยที่เกี่ยวข้องกับการเพิ่มขึ้นของการสร้างโค้ดด้วย AI
- การรองรับจากเครื่องมือก็มีอย่างเพียงพอ และเหมาะสมที่จะนำมาใช้เพื่อคงไว้ซึ่งโค้ดที่แข็งแรงและปลอดภัย
-
Software Bill of Materials (SBOM)
- การสร้าง SBOM ได้กลายเป็นแนวปฏิบัติพื้นฐานด้านความปลอดภัยแล้ว
- สามารถสร้าง SBOM และสแกนช่องโหว่ได้ตั้งแต่ source code ไปจนถึง container image ผ่านเครื่องมืออย่าง Syft, Trivy, Snyk
- FOSSA, Chainloop และเครื่องมืออื่น ๆ ถูกผสานเข้ากับเวิร์กโฟลว์การพัฒนาเพื่อบังคับใช้นโยบายความปลอดภัยโดยอัตโนมัติ
- ด้วยการรองรับ SPDX และ CycloneDX อย่างกว้างขวาง ปัญหาเรื่องมาตรฐานจึงบรรเทาลง
- ความต้องการ SBOM ในระบบ AI ก็เพิ่มขึ้น และถูกสะท้อนในแนวทางปฏิบัติด้าน secure code ด้วย
-
Threat modeling
- เป็นเทคนิคสำคัญสำหรับรักษาความปลอดภัยพร้อมคงความคล่องตัวไว้ในสภาพแวดล้อมการพัฒนาซอฟต์แวร์ที่มี AI เป็นศูนย์กลาง
- สามารถประยุกต์ใช้ได้กับระบบที่มีความเสี่ยงด้านความปลอดภัยเฉพาะตัว เช่น generative AI
- ควรดำเนินการอย่างสม่ำเสมอตลอดทั้งโครงการ และจะมีประสิทธิภาพเมื่อทำควบคู่กับ automated security scanner และการกำหนดข้อกำหนดด้านความปลอดภัย
Trial (ทดลองใช้)
-
การปฏิบัติต่อ API request collection เป็นผลลัพธ์ของผลิตภัณฑ์ API
- เมื่อปฏิบัติต่อ API เสมือนเป็นผลิตภัณฑ์ ไม่ควรหยุดแค่การจัดทำเอกสาร แต่ต้องให้ความสำคัญกับประสบการณ์ของนักพัฒนาเป็นอันดับแรก
- แม้สเปก Swagger(OpenAPI) จะมีประโยชน์สำหรับการทำเอกสารอินเทอร์เฟซ แต่ก็ยังมีปัญหาว่าการ onboarding ยังทำได้ยาก
- จากพัฒนาการของเครื่องมือฝั่ง client อย่าง Postman, Bruno, Insomnia การใช้ API request collection เป็นผลลัพธ์ของผลิตภัณฑ์จึงเหมาะสม
- ตัวอย่างที่รวมการยืนยันตัวตนล่วงหน้าและข้อมูลทดสอบที่สมจริง ช่วยให้ onboarding นักพัฒนาทำได้อย่างรวดเร็วและมีประสิทธิภาพ
- จำเป็นต้องเก็บ API request collection ไว้ใน repository และผสานเข้ากับ deployment pipeline เพื่อให้เป็นปัจจุบันอยู่เสมอ
-
กระบวนการขอคำแนะนำด้านสถาปัตยกรรม
- การกระจายอำนาจในการตัดสินใจด้านสถาปัตยกรรมในทีมขนาดใหญ่เป็นโจทย์ที่มีมานาน
- Architecture Review Board แบบดั้งเดิมกลับกลายเป็นอุปสรรคต่อ productivity และ flow
- แนวทางการตัดสินใจแบบกระจายที่ใครก็สามารถตัดสินใจด้านสถาปัตยกรรมได้ แต่ต้องขอคำแนะนำจากผู้เกี่ยวข้องหรือผู้เชี่ยวชาญ กลับมีประสิทธิภาพมากกว่า
- สามารถรักษาคุณภาพและความสม่ำเสมอได้ด้วยเครื่องมืออย่าง Architecture Decision Record และ advice forum
- แนวทางนี้กำลังแพร่หลายในอุตสาหกรรมที่มีการกำกับดูแลเข้มงวดเช่นกัน
-
GraphRAG
- แนวทางสองขั้นตอนที่ Microsoft เสนอ: แบ่งเอกสารออกก่อน แล้วใช้การวิเคราะห์ด้วย LLM สร้าง knowledge graph จากนั้นในขั้นค้นหาให้ขยายข้อมูลที่เกี่ยวข้องตามกราฟนี้เพื่อเสริม prompt
- ยังมีประโยชน์ต่อการวิเคราะห์ legacy code ที่ซับซ้อน โดยสร้าง knowledge graph จาก abstract syntax tree (AST) หรือโครงสร้าง dependency เป็นต้น
- เครื่องมืออย่าง GraphRAG Python package ของ Neo4j กำลังเกิดขึ้นและถูกใช้งานอย่างแพร่หลายมากขึ้น
- เครื่องมืออย่าง Graphiti ก็ถูกรวมอยู่ในการตีความที่ขยายออกไปของแพตเทิร์น GraphRAG ด้วย
-
การจัดการสิทธิ์ยกระดับแบบให้สิทธิ์เฉพาะเวลาที่จำเป็น (Just-in-time privileged access management, JIT PAM)
- เป็นเทคนิคด้านความปลอดภัยที่ทำให้หลักการให้สิทธิ์เท่าที่จำเป็นเกิดขึ้นได้จริง โดยมอบสิทธิ์ผู้ดูแลระบบเฉพาะเมื่อจำเป็นเท่านั้น และเพิกถอนทันทีหลังจากนั้น
- “standing privileges” หรือสิทธิ์ผู้ดูแลระบบที่เปิดค้างไว้ตลอดเวลา อาจกลายเป็นช่องโหว่ด้านความปลอดภัยได้
- ควบคุมสิทธิ์ชั่วคราวผ่านเวิร์กโฟลว์การอนุมัติอัตโนมัติ การกำหนดบทบาทชั่วคราว และการตั้งค่า TTL (Time-To-Live)
- มีประสิทธิภาพอย่างมากในการตอบสนองข้อกำหนดด้านกฎระเบียบและคอมพลายแอนซ์
-
การกลั่นโมเดล (Model distillation)
- เป็นวิธีดึงความรู้จากโมเดลขนาดใหญ่มาถ่ายทอดให้โมเดลขนาดเล็ก เพื่อลดการสูญเสียความแม่นยำให้น้อยที่สุดและเพิ่มประสิทธิภาพในการรัน
- ต่างจากวิธีลดขนาดโมเดลอย่าง pruning และ quantization เพราะเน้นการคงไว้ซึ่งความรู้เฉพาะโดเมน
- มีกรณีของโมเดลขนาดเล็กเพิ่มขึ้น เช่น DeepSeek R1 เวอร์ชันกลั่นบน Qwen/Llama ที่ยังคงประสิทธิภาพสูงไว้ได้แม้ถูกย่อขนาด
- แพลตฟอร์มอย่าง OpenAI และ Amazon Bedrock มีคำแนะนำด้านการกลั่นโมเดล ซึ่งเป็นประโยชน์ต่อการลดต้นทุนการใช้งาน LLM ในองค์กรและการเพิ่มประสิทธิภาพการอนุมานบนอุปกรณ์
-
วิศวกรรมพรอมป์ต์ (Prompt engineering)
- เป็นกระบวนการออกแบบและปรับแต่งพรอมป์ต์ให้ชัดเจนและเจาะจง เพื่อเพิ่มคุณภาพผลลัพธ์ของโมเดล GenAI
- พรอมป์ต์แบบ zero-shot อาจให้ผลลัพธ์ดีกว่า few-shot ในโมเดลสาย reasoning
- พรอมป์ต์แบบ CoT (chain-of-thought) อาจกลับทำให้ประสิทธิภาพของโมเดล reasoning ลดลง ซึ่งเป็นผลจากอิทธิพลของการฝึกก่อนหน้าด้วย RL
- แม้ในโมเดลขั้นสูง ความจำเป็นของ prompt engineering อาจลดลงได้บ้าง แต่ก็ยังมีประโยชน์ในการลดอาการหลอนและปรับปรุงคุณภาพ
- สิ่งสำคัญคือการรักษาสมดุลระหว่างความเร็วในการตอบสนอง ต้นทุนโทเค็น และประสิทธิภาพ และเมื่อต้องออกแบบแอปแบบเอเจนต์ก็จำเป็นต้องเลือกกลยุทธ์ให้เหมาะกับคุณลักษณะของโมเดล
-
โมเดลภาษาขนาดเล็ก (Small Language Models, SLMs)
- DeepSeek R1 เวอร์ชันกลั่นขนาดเล็ก (Qwen, Llama) สามารถรันบนฮาร์ดแวร์ทั่วไปได้ แม้จะต้องแลกกับประสิทธิภาพบางส่วน
- วงการ SLM กำลังพัฒนาอย่างรวดเร็ว โดยมีโมเดลหลากหลายออกมา เช่น Meta Llama 3.2 (1B, 3B), Microsoft Phi-4 (14B), Google PaliGemma 2 (3B~28B)
- โมเดลขนาดเล็กมีต้นทุนการอนุมานต่ำกว่าและมีข้อจำกัดด้านสภาพแวดล้อมการรันน้อยกว่า จึงมีศักยภาพในการใช้งานทั่วไปสูง
- ในแง่ของการสร้างสมดุลระหว่างประสิทธิภาพและความคุ้มค่า SLM จึงถูกจับตามองว่าเป็นแนวโน้มเทคโนโลยีสำคัญ
-
การทำความเข้าใจโค้ดเบสแบบเลกาซีด้วย GenAI
- เครื่องมือหลักอย่าง GitHub Copilot และ Sourcegraph Cody ช่วยสนับสนุนการทำความเข้าใจและการปรับปรุงโค้ดเบสแบบเลกาซีให้ทันสมัย
- ช่วยลดความซับซ้อนของการทำงานกับระบบที่ซับซ้อนผ่านวิธีต่าง ๆ เช่น การทำความเข้าใจโครงสร้าง การสำรวจ และการให้ความช่วยเหลือตามบริบท
- เฟรมเวิร์กอย่าง S3LLM ยังช่วยให้เข้าใจโค้ดในสายวิทยาศาสตร์และวิศวกรรม เช่น Fortran และ Pascal ได้ด้วย
- เนื่องจากทั่วโลกยังมีซอฟต์แวร์เลกาซีอยู่เป็นจำนวนมหาศาล เทคโนโลยีนี้จึงมีแนวโน้มจะแพร่หลายต่อไป
Assess (ต้องสำรวจเพิ่มเติม)
-
การออกแบบโค้ดที่เป็นมิตรกับ AI (AI-friendly code design)
- เอเจนต์ซอฟต์แวร์ที่ขับเคลื่อนด้วย AI สามารถตรวจจับและนำการเปลี่ยนแปลงโค้ดที่ใหญ่ขึ้นเรื่อย ๆ ไปใช้ได้มากขึ้น
- เมื่อความเชื่อมั่นต่อโค้ดที่ AI สร้างเพิ่มขึ้น ก็เกิดปรากฏการณ์ที่สัดส่วนการรีวิวโดยนักพัฒนามนุษย์ลดลงด้วย
- อย่างไรก็ตาม AI ก็ทำงานได้ดีกว่ากับโค้ดที่มีโครงสร้างดี ดังนั้นการออกแบบที่เป็นมิตรกับ AI จึงสำคัญต่อการบำรุงรักษา
- แนวปฏิบัติการออกแบบที่ดีแบบเดิม เช่น การตั้งชื่อที่สื่อความหมาย การแยกโมดูล การทำ abstraction และการลดความซ้ำซ้อน (DRY) ล้วนส่งผลดีต่อประสิทธิภาพของ AI ด้วย
- ในอนาคตคาดว่าจะมีแพตเทิร์นการออกแบบที่เฉพาะทางสำหรับ AI เกิดขึ้นด้วย
-
การทดสอบ UI ด้วย AI (AI-powered UI testing)
- แนวทางใหม่ของการทดสอบ UI ที่อาศัยความสามารถของ LLM ในการตีความ GUI กำลังเริ่มได้รับความสนใจ
- QA.tech และ KaneAI ช่วยให้สามารถทดสอบ UI แบบ snapshot ด้วยภาษาธรรมชาติได้
- Browser Use ใช้ข้อมูลโครงสร้างของ Playwright ในการทดสอบ และอาศัยโมเดลมัลติโมดัล
- แม้อาจทำให้เกิดผลลัพธ์ที่ไม่เป็น deterministic แต่ความยืดหยุ่นก็เป็นข้อได้เปรียบสำหรับการทดสอบระบบเลกาซีหรือการรับมือกับการเปลี่ยนแปลง UI ที่เกิดขึ้นบ่อย
- สามารถนำไปใช้เสริมกับการทดสอบแบบแมนนวลเชิงสำรวจได้
-
โมเดล Competence Envelope เพื่อทำความเข้าใจความล้มเหลวของระบบ
- เป็นแนวคิดที่นิยามขอบเขตที่ระบบยังสามารถทำงานได้ตามปกติ และเมื่อข้ามขอบเขตนี้ไป ระบบจะล้มเหลวได้ง่าย
- มีประโยชน์ในการตีความกรณีความล้มเหลวที่ซับซ้อน เช่น เหตุขัดข้องของ Canva ในปี 2024
- Residuality Theory วิเคราะห์ความสามารถในการปรับตัวของระบบจากประวัติความเครียดในอดีตและการตอบสนองในปัจจุบัน
- แนวคิดนี้เชื่อมโยงกับเรื่องความยืดหยุ่นของระบบ ความทนทาน และ antifragility และมีความคาดหวังต่อการนำไปใช้จริง
-
ผลลัพธ์แบบมีโครงสร้างจาก LLM (Structured output from LLMs)
- เป็นเทคนิคที่จำกัดการตอบกลับของโมเดลภาษาให้อยู่ในรูปแบบสคีมาที่กำหนดไว้ เช่น JSON
- OpenAI รองรับ structured output โดยใช้ JSON Schema, pydantic และอ็อบเจ็กต์ Zod เป็นต้น
- มีประโยชน์อย่างมากในงานที่ต้องการรูปแบบที่แม่นยำ เช่น การเรียกใช้ฟังก์ชันและการเชื่อมต่อ API
- รองรับกรณีใช้งานได้หลากหลาย เช่น การสร้าง chart markup และยังช่วยลดอาการหลอนได้ด้วย
Hold (แนะนำให้ชะลอไว้ก่อน)
-
Shadow IT ที่ถูกเร่งด้วย AI (AI-accelerated shadow IT)
- ความก้าวหน้าของ AI ทำให้แม้แต่ผู้ที่ไม่ใช่นักพัฒนาก็สามารถสร้างซอฟต์แวร์ได้เองโดยไม่ต้องผ่านฝ่าย IT
- เครื่องมือ no-code ที่รองรับ API ของ OpenAI, Anthropic และอื่น ๆ ทำให้การเชื่อมต่อที่ซับซ้อนสามารถทำได้ง่าย
- อย่างไรก็ตาม การแพร่กระจายของแอปพลิเคชันที่อยู่นอกการควบคุมย่อมเพิ่มความเสี่ยงด้านความปลอดภัยและการจัดการข้อมูล
- แม้จะดูเหมือนวิวัฒนาการของสเปรดชีต แต่ขอบเขตของมันใหญ่กว่ามาก
- ต้องพิจารณาสมดุลระหว่างความเร็วในการแก้ปัญหากับเสถียรภาพระยะยาวอย่างรอบคอบ
-
ความไว้วางใจเกินไปต่อโค้ดที่ AI สร้าง (Complacency with AI-generated code)
- มีแนวโน้มด้านคุณภาพที่ถดถอยจากการใช้ AI เช่น โค้ดซ้ำเพิ่มขึ้น code churn เพิ่มขึ้น และการรีแฟกเตอร์ลดลง
- งานวิจัยของ Microsoft ระบุว่า AI อาจทำให้ผู้ใช้เกิดความมั่นใจที่ผิดและบั่นทอนการคิดเชิงวิพากษ์
- เมื่อ AI สร้างโค้ดได้มากขึ้นเรื่อย ๆ ก็ยิ่งมีความเสี่ยงที่นักพัฒนาจะตรวจทานการเปลี่ยนแปลงได้ยากขึ้น
- แนวทางอย่าง ‘vibe coding’ ที่ให้ AI เขียนโค้ดแล้วตรวจเพียงเล็กน้อยนั้นอันตรายมากสำหรับโค้ดระดับโปรดักชัน
-
ผู้ช่วยเขียนโค้ดแบบโลคัล (Local coding assistants)
- ผู้ช่วยเขียนโค้ดด้วย AI ที่รันแบบโลคัลโดยไม่ต้องส่งข้อมูลออกภายนอกมีข้อดีด้านความปลอดภัย
- แต่ประสิทธิภาพยังจำกัดเมื่อเทียบกับโมเดลบนคลาวด์ และมีความยากในการจัดการพรอมป์ต์ซับซ้อนหรือความสามารถด้านการเชื่อมต่อ
- ฟีเจอร์ที่ฝังใน IDE (Xcode, JetBrains) หรือการเชื่อมต่อบนพื้นฐานของ Qwen Coder, Continue + Ollama ยังมีประโยชน์สำหรับงานง่าย ๆ
- แนะนำให้ตั้งความคาดหวังไว้ต่ำและนำไปใช้ในเชิงทดลอง
-
การแทนที่ pair programming ด้วย AI แบบสมบูรณ์ (Replacing pair programming with AI)
- แม้เครื่องมืออย่าง Copilot จะนำเสนอตัวเองเป็น AI pair programmer แต่ก็ยังทดแทนข้อดีเชิงทีมของการจับคู่แบบมนุษย์ไม่ได้
- AI มีประโยชน์ในด้านการเรียนรู้ การ onboarding และการโฟกัสกับการออกแบบเชิงกลยุทธ์ แต่ยังขาดในเรื่องการทำงานร่วมกันในทีม การแบ่งปันความเป็นเจ้าของโค้ด และการป้องกันการทำงานแบบไซโล
- เมื่อพิจารณาถึงผลเชิงบวกด้านความร่วมมือของ pair programming แบบดั้งเดิมแล้ว จึงไม่แนะนำให้แทนที่ทั้งหมด
-
Reverse ETL
- Reverse ETL ซึ่งเป็นการย้ายข้อมูลกลับจากดาต้าแวร์เฮาส์ไปยังระบบธุรกรรม กำลังเพิ่มขึ้น
- แม้จะมีความหมายในกรณีของการย้ายระบบชั่วคราวหรือการเชื่อมต่อระบบ แต่หากใช้มากเกินไปจะยิ่งซ้ำเติมปัญหาของสถาปัตยกรรมแบบรวมศูนย์
- ผู้ขายบางรายกำลังใช้แนวทางนี้เกินความเหมาะสมเพื่อรวม business logic ไว้บนแพลตฟอร์มของตน
- เนื่องจากอาจกระทบต่อคุณภาพและความยืดหยุ่นของสถาปัตยกรรมในระยะยาว จึงต้องระมัดระวังอย่างมากเมื่อตัดสินใจนำมาใช้
-
SAFe™ (Scaled Agile Framework)
- หลายองค์กรยังคงนำ SAFe™ มาใช้อยู่
- อย่างไรก็ตาม กระบวนการแบบเป็นขั้นตอนที่ทำให้เป็นมาตรฐานมากเกินไปอาจก่อให้เกิดการแยกขาดระหว่างแผนก ความสูญเปล่าใน value stream และการกดทับความคิดสร้างสรรค์
- ความเป็นอิสระของทีมและวัฒนธรรมการทดลองถูกจำกัด และความพยายามที่จะแก้ปัญหาการเปลี่ยนแปลงองค์กรที่ซับซ้อนด้วยกระบวนการแบบเรียบง่ายก็มีข้อจำกัด
- Thoughtworks รับมือผ่านการฝึกอบรมภายในและการให้คำปรึกษา แต่เห็นว่าแนวทางที่ยึดคุณค่าเป็นศูนย์กลางบนพื้นฐาน Lean และโปรแกรมการเปลี่ยนแปลงมีประสิทธิภาพมากกว่า
แพลตฟอร์ม (Platforms)
Adopt (แนะนำให้นำมาใช้)
-
GitLab CI/CD
- เป็นระบบ CI/CD ที่ผสานรวมอย่างสมบูรณ์ภายใน GitLab รองรับวงจรชีวิตการพัฒนาซอฟต์แวร์ทั้งหมดตั้งแต่การรวมโค้ด การทดสอบ การดีพลอย ไปจนถึงการมอนิเตอร์
- เหมาะกับเวิร์กโฟลว์ที่ซับซ้อน เช่น multi-stage pipeline, caching, การรันแบบขนาน และ autoscaler runner
- มีเครื่องมือด้านความปลอดภัยและคอมพลายแอนซ์ในตัว (เช่น SAST, DAST) จึงเชื่อถือได้แม้ในสภาพแวดล้อมที่มีข้อกำกับดูแลสูง
- การผสานรวมกับ Kubernetes ทำให้รองรับคลาวด์เนทีฟเวิร์กโฟลว์ได้อย่างสมบูรณ์
- มี real-time log, รายงานผลการทดสอบ และความสามารถในการติดตาม ช่วยเสริม observability
-
Trino
- เป็นโอเพนซอร์ซ distributed SQL query engine ที่สามารถรัน interactive analytics query กับข้อมูลขนาดใหญ่ได้
- ทำงานได้อย่างเหมาะสมทั้งในสภาพแวดล้อม on-premises และคลาวด์ และสามารถ query ไปยังฐานข้อมูลเชิงสัมพันธ์และสตอเรจแบบ proprietary ได้โดยตรงผ่าน connector ที่หลากหลาย
- รองรับไฟล์และ table format เช่น Parquet และ Apache Iceberg
- ด้วยความสามารถด้าน query federation จึงสามารถสืบค้นหลายแหล่งข้อมูลเสมือนเป็นตารางเชิงตรรกะเดียวได้
- ยังถูกใช้เป็นเทคโนโลยีหลักในแพลตฟอร์มข้อมูลเชิงพาณิชย์หลายแห่ง เช่น AWS Athena และ Starburst และเป็นตัวเลือกที่เชื่อถือได้สำหรับงานวิเคราะห์หลากหลายรูปแบบ
Trial (ทดลองใช้)
-
ABsmartly
- เป็นแพลตฟอร์มที่รองรับ A/B testing และการทดลองได้อย่างรวดเร็วและเชื่อถือได้
- ใช้เอนจิน Group Sequential Testing (GST) ทำให้ทดสอบได้เร็วขึ้นสูงสุด 80% เมื่อเทียบกับวิธีเดิม
- มีรายงานแบบเรียลไทม์ การแบ่งข้อมูลเชิงลึก และความสามารถในการผสานรวมแบบรอบด้านที่ยึด API เป็นศูนย์กลาง
- รองรับการทดลองได้อย่างกว้างขวางตั้งแต่เว็บ มือถือ ไมโครเซอร์วิส ไปจนถึงโมเดล ML
- มีประสิทธิภาพในการปรับแต่งประสบการณ์ผู้ใช้ให้เหมาะสมผ่านการย่นรอบการทำซ้ำและการวิเคราะห์ผลลัพธ์แบบอัตโนมัติ
-
Dapr
- เป็น distributed application runtime ที่ล่าสุดได้ขยายความสามารถเพื่อรองรับการจัดตารางงาน virtual actor และการเสริมความปลอดภัย
- มีการเสริมการตั้งค่าที่เน้นความปลอดภัย เช่น mTLS และ distroless image พร้อมทั้งเพิ่ม building block ที่หลากหลายอย่างต่อเนื่อง
- ทีมต่าง ๆ ใช้งานได้อย่างเสถียร และคาดหวังการพัฒนาต่อไปในอนาคต
-
Grafana Alloy
- เดิมใช้ชื่อว่า Grafana Agent และเป็นเครื่องมือโอเพนซอร์ซที่ทำหน้าที่เป็น OpenTelemetry Collector
- ถูกออกแบบให้เป็นตัวรวบรวม telemetry แบบรวมศูนย์ที่สามารถเก็บ log, metric และ trace ได้ทั้งหมด
- รองรับฟอร์แมต OpenTelemetry, Prometheus และ Datadog
- หลังการยุติการใช้งาน Promtail ก็กลายเป็นตัวเลือกที่โดดเด่น โดยเฉพาะในด้านการเก็บ log
-
Grafana Loki
- เป็นระบบรวมศูนย์ log แบบ high availability ที่ขยายแนวนอนได้ โดยทำดัชนีเฉพาะ metadata เพื่อลดต้นทุนการจัดเก็บและความซับซ้อนในการปฏิบัติการ
- จัดเก็บ log บนบล็อกสตอเรจอย่าง S3, GCS และ Azure Blob Storage
- ผสานรวมกับ Grafana และ Grafana Alloy พร้อมเพิ่มการรองรับ OpenTelemetry และความสามารถด้าน multi-tenancy
- ยังมีฟีเจอร์ป้องกันผลกระทบข้าม tenant แบบไม่ควบคุม (shuffle-sharding) อีกด้วย
-
Grafana Tempo
- เป็น distributed tracing backend ประสิทธิภาพสูงที่รองรับมาตรฐานเปิดอย่าง OpenTelemetry
- จัดเก็บในรูปแบบคอลัมน์บนพื้นฐาน Apache Parquet จึงมีประสิทธิภาพการ query ที่ดี
- สามารถสำรวจข้อมูล trace ได้ผ่าน TraceQL และ CLI
- ทีมของเราใช้งานแบบ self-hosted บน GKE โดยใช้ Tempo ร่วมกับ MinIO และ OpenTelemetry
-
Railway
- เป็นแพลตฟอร์ม full-stack PaaS ทางเลือกแทน Heroku และ Vercel รองรับตั้งแต่การเชื่อมต่อ GitHub/Docker ไปจนถึงการดีพลอยและการมองเห็นการดำเนินงาน
- รองรับเฟรมเวิร์กหลักส่วนใหญ่ ฐานข้อมูล และการดีพลอยแบบคอนเทนเนอร์
- แม้ยังต้องเปรียบเทียบต้นทุน แต่ก็มอบประสบการณ์ที่ดีในด้านความเสถียรของการดีพลอยและการปฏิบัติการ
-
Unblocked
- เป็น AI team assistant ที่เชื่อมต่อกับ codebase เอกสาร เครื่องมือจัดการโปรเจ็กต์ และเครื่องมือสื่อสาร
- สามารถตอบคำถามเกี่ยวกับแนวคิดทางธุรกิจและเทคนิค การออกแบบสถาปัตยกรรม และกระบวนการปฏิบัติการ
- มีประโยชน์ต่อการสำรวจระบบที่ซับซ้อนหรือระบบ legacy และเหมาะกับทีมที่ให้ความสำคัญกับการเข้าถึงข้อมูลตามบริบทอย่างรวดเร็ว
- หากเป็นงานสร้างโค้ดหรือระบบอัตโนมัติ AI agent เฉพาะทางจะเหมาะสมกว่า
-
Weights & Biases
- ได้เสริมความสามารถที่เน้น LLM มากขึ้น พร้อมเพิ่มแพลตฟอร์ม Weave สำหรับการประเมินระบบ เมตริกแบบกำหนดเอง และการใช้ LLM เป็นผู้ประเมิน
- มีประสิทธิภาพในการติดตามและดีบักประสิทธิภาพของระบบ agent ตลอดจนการเก็บ feedback และการปรับจูนโมเดล
- เหมาะกับเวิร์กโฟลว์การพัฒนาแบบวนซ้ำและการเพิ่มประสิทธิภาพทั้งในระดับ local และ global
Assess (ควรสำรวจ)
-
Arize Phoenix
- เมื่อแอปพลิเคชันแบบ LLM และ agentic เพิ่มมากขึ้น ความสำคัญของ LLM observability ก็เพิ่มขึ้นตามไปด้วย
- Arize Phoenix มีความสามารถอย่าง LLM tracing, การประเมินผล และการจัดการ prompt และผสานรวมได้อย่างราบรื่นกับแพลตฟอร์มและเฟรมเวิร์ก LLM หลัก ๆ
- สามารถวิเคราะห์ผลลัพธ์ เวลาแฝง และการใช้โทเคนได้ด้วยการตั้งค่าที่ไม่ซับซ้อน
- ปัจจุบันยังใช้งานเฉพาะเวอร์ชันโอเพนซอร์ซ แต่แพลตฟอร์ม Arize แบบเต็มมีความสามารถมากกว่านี้และคุ้มค่าแก่การสำรวจ
-
Chainloop
- เป็นแพลตฟอร์มความปลอดภัยของซัพพลายเชนซอฟต์แวร์แบบโอเพนซอร์ซ ที่ช่วยให้ทีมความปลอดภัยกำหนดนโยบาย และทีมพัฒนาปฏิบัติตามได้ใน CI/CD pipeline
- ผ่าน CLI สามารถรวบรวมและตรวจสอบ security artifact เช่น SBOM และรายงานช่องโหว่ พร้อมตรวจสอบการปฏิบัติตามนโยบายแบบอัตโนมัติ
- ใช้ Rego ของ OPA เป็นภาษา policy และสามารถตรวจสอบตามเกณฑ์อย่างฟอร์แมต CycloneDX ได้
- มอบสภาพแวดล้อมการจัดการ metadata ระดับ SLSA Level 3 ผ่านการปฏิบัติตามข้อกำหนดด้านความปลอดภัยอย่างสม่ำเสมอและเวิร์กโฟลว์ที่ตรวจสอบย้อนหลังได้
-
DeepSeek R1
- เป็น reasoning model series รุ่นแรกของ DeepSeek ที่เพิ่มการใช้ฮาร์ดแวร์ให้สูงสุดผ่าน MLA, MoE gating, การฝึกแบบ FP8 และการปรับแต่ง PTX
- DeepSeek-R1-Zero เป็นโมเดลนวัตกรรมที่ได้ความสามารถด้าน reasoning มาจากการเรียนรู้แบบเสริมกำลังเพียงอย่างเดียว
- โมเดลทั้งหมดเปิดให้ใช้งานในรูปแบบ open weight และ DeepSeek-R1-Distill-Qwen-32B แสดงประสิทธิภาพที่เหนือกว่า OpenAI o1-mini ในหลายเบนช์มาร์ก
- แม้โค้ดและข้อมูลการฝึกจะไม่เปิดเผย แต่มีโมเดลที่ pretrain แล้วหลายแบบรวมอยู่ใน repository
-
Deno
- เป็นแพลตฟอร์มที่สร้างโดย Ryan Dahl ผู้ให้กำเนิด Node.js และปรับปรุงข้อด้อยของ Node.js ในหลายด้าน เช่น security sandbox, การจัดการ dependency และการรองรับ TypeScript แบบเนทีฟ
- ตั้งแต่ Deno 2 เป็นต้นมา มีความเข้ากันได้กับไลบรารีของ Node.js และ npm ทำให้อุปสรรคในการย้ายระบบลดลงกว่าที่ผ่านมา
- มี standard library และ tooling ที่แข็งแรงขึ้น จึงเหมาะกับการพัฒนา TypeScript ฝั่งเซิร์ฟเวอร์
- อย่างไรก็ตาม ไม่ควรเลือก Deno เพียงเพราะต้องการหลีกเลี่ยงการใช้หลายภาษาเท่านั้น
-
Graphiti
- สร้าง knowledge graph ที่รับรู้มิติของเวลา เพื่อติดตามความสัมพันธ์ระหว่างข้อมูลที่เปลี่ยนแปลงอย่างต่อเนื่อง
- ประมวลผลข้อมูลแบบมีโครงสร้างและไม่มีโครงสร้างเป็น episode ตามเวลา และรองรับการ query ที่ผสานเวลา ข้อความ ความหมายเชิงอรรถศาสตร์ และอัลกอริทึมกราฟ
- ช่วยเพิ่มความแม่นยำในการดึงค้นข้อมูลในแอปพลิเคชันที่อิง GraphRAG
- ทำให้เกิดความสามารถด้าน long-term memory และ state-based reasoning ในระบบ LLM แบบ RAG และแบบ agent
-
Helicone
- เป็นแพลตฟอร์ม LLMOps ที่เน้นโอเพนซอร์ซสำหรับการจัดการต้นทุน LLM การประเมิน ROI และการลดความเสี่ยง
- รองรับวงจรชีวิต LLM ทั้งหมด ตั้งแต่การทดลอง prompt การมอนิเตอร์ การดีบัก ไปจนถึงการเพิ่มประสิทธิภาพ
- สามารถติดตามและวิเคราะห์ต้นทุนแบบเรียลไทม์ อัตราการใช้งาน ประสิทธิภาพ และ agent stack สำหรับผู้ให้บริการ LLM ที่หลากหลาย
- แม้ความสามารถจะทรงพลัง แต่ยังเป็นแพลตฟอร์มระยะเริ่มต้น และการใช้ฟีเจอร์ขั้นสูงต้องอาศัยความเชี่ยวชาญในระดับหนึ่ง
- จนถึงขณะนี้ ประสบการณ์การใช้งานโดยรวมเป็นไปในเชิงบวก
-
Humanloop
- เป็นแพลตฟอร์มที่มุ่งเน้นการผสานรวม feedback จากมนุษย์ เพื่อทำให้ระบบ AI มีความน่าเชื่อถือและยืดหยุ่นมากขึ้น
- มีเครื่องมือสำหรับการทำ label, active learning, การ fine-tuning แบบ human-in-the-loop และการประเมินตามข้อกำหนดทางธุรกิจ
- มี shared workspace สำหรับการทำงานร่วมกัน, prompt ที่มีการจัดการเวอร์ชัน และความสามารถในการผสานรวมกับ CI/CD
- ยังมีความสามารถด้าน observability เช่น tracing, logging, alert และ guardrail
- เหมาะสำหรับการสร้าง AI อย่างมีความรับผิดชอบในสภาพแวดล้อมที่มีข้อกำกับดูแลเข้มงวด
-
Model Context Protocol (MCP)
- เป็น open standard ที่ Anthropic เสนอขึ้นมา โดยออกแบบมาเพื่อให้เครื่องมือ AI ใช้ประโยชน์จาก context ของระบบเดิมได้ง่ายขึ้น
- ทำให้การผสานรวมระหว่าง AI กับข้อมูลจาก wiki, issue tracker, database และแหล่งอื่น ๆ เป็นมาตรฐานเดียวกัน
- ประกอบด้วยโครงสร้างแบบ MCP server/client และโดยทั่วไปมักรันแบบ local ด้วย Python หรือ Node process
- ปัจจุบันยังเน้นผู้ใช้สายเทคนิคเป็นหลัก และยังมีความท้าทายด้านการเข้าถึง, governance และการจัดการอัปเดตสำหรับผู้ที่ไม่ใช่นักพัฒนา
- ในระยะยาวมีโอกาสสูงที่จะพัฒนาไปเป็น ecosystem ที่เป็นมิตรต่อผู้ใช้มากขึ้น
-
Open WebUI
- เป็นแพลตฟอร์ม AI แบบ self-hosting โอเพนซอร์ส ที่สามารถเชื่อมต่อกับโมเดลและ API ได้หลากหลาย (เช่น OpenAI-compatible, OpenRouter, GroqCloud)
- สามารถรันโมเดลแบบ local หรือโมเดลของตนเองผ่าน Ollama ได้ และใช้งานในสภาพแวดล้อมออฟไลน์ได้
- มีความสามารถ RAG ในตัว จึงรองรับอินเทอร์เฟซแชตที่อิงกับเอกสาร
- ควบคุมสิทธิ์การเข้าถึงโมเดลและฟังก์ชันตามกลุ่มผู้ใช้ด้วย RBAC ได้
- ขยายความสามารถเพิ่มเติมได้ด้วย Functions ที่ใช้ Python และยังมีฟังก์ชันประเมิน LLM รวมอยู่ด้วย
- รองรับการขยายใช้งานได้อย่างยืดหยุ่นตั้งแต่การใช้งานส่วนตัว, การทำงานร่วมกันเป็นทีม ไปจนถึงแพลตฟอร์มระดับองค์กร
-
pg_mooncake
- เป็นส่วนขยายของ PostgreSQL ที่รองรับ column store และการประมวลผลแบบ vectorized
- สามารถจัดเก็บข้อมูลในรูปแบบ Iceberg และ Delta Lake ลงใน local storage หรือ S3-compatible storage ได้
- รองรับการโหลดข้อมูลจากฟอร์แมตหลากหลาย เช่น Parquet, CSV และ Hugging Face dataset
- เหมาะกับสภาพแวดล้อมที่ต้องการการวิเคราะห์ข้อมูลประสิทธิภาพสูง โดยไม่ต้องนำ columnar store แยกต่างหากมาใช้
-
Reasoning models
- "โมเดลการให้เหตุผล (Reasoning Models)" ที่แสดงความสามารถระดับมนุษย์ในงานอย่างคณิตศาสตร์และการเขียนโค้ด เป็นหนึ่งในพัฒนาการด้าน AI ที่ได้รับความสนใจมากที่สุดในช่วงหลัง
- มีการเสริมความสามารถอย่าง CoT (Chain of Thought), ToT (Tree of Thought) และการแก้ไขตัวเอง (Self-correction)
- มีโมเดลออกมาหลากหลาย เช่น OpenAI o1/o3, DeepSeek R1 และ Gemini 2.0 Flash Thinking
- ด้วยเวลาตอบสนองที่ช้ากว่าและการใช้ token สูง จึงถูกเรียกว่า "Slow AI" ด้วย
- เหมาะกับงานด้าน STEM ที่ให้ความสำคัญกับการแก้ปัญหาซับซ้อนหรือความสามารถในการอธิบาย มากกว่างานที่เรียบง่าย
-
Restate
- เป็นแพลตฟอร์มรัน durable workflow ที่คล้ายกับ Temporal และพัฒนาโดยผู้สร้าง Apache Flink
- เขียนด้วย Rust และ deploy ในรูปแบบ single binary
- ใช้อัลกอริทึม virtual consensus ที่ยืดหยุ่นบนพื้นฐานของ Paxos เพื่อรับประกันความทนทานของข้อมูลแม้ในสถานการณ์ที่เกิดความขัดข้อง
- มี SDK สำหรับ Java, Go, Rust และ TypeScript
- หากเป็นกรณีที่หลีกเลี่ยง distributed transaction ไม่ได้ แพลตฟอร์มนี้ก็นับว่าน่าพิจารณา
-
Supabase
- เป็นทางเลือกโอเพนซอร์สของ Firebase ที่รองรับการพัฒนาแบ็กเอนด์โดยมีทั้งความสามารถในการขยายระบบและความปลอดภัย
- สร้างบน PostgreSQL และมีฟังก์ชันหลากหลาย เช่น authentication, realtime subscription, API, edge function และ vector embedding
- เมื่อนำไปใช้ทำต้นแบบหรือพัฒนา MVP ก็สามารถย้ายไปยังโซลูชัน SQL ในอนาคตได้ง่าย
-
Synthesized
- เป็นแพลตฟอร์มสำหรับสร้างข้อมูลทดสอบที่สมจริงสำหรับสภาพแวดล้อมการพัฒนาและการทดสอบ
- สามารถ mask ข้อมูลเดิม หรือสร้าง synthetic data ที่มีนัยสำคัญทางสถิติได้
- ผสานรวมเข้ากับ build pipeline ได้ และรองรับการทำ anonymization แบบย้อนกลับไม่ได้ตามแต่ละคุณสมบัติ เช่น hashing และ randomization
- สามารถสร้างข้อมูลจำนวนมากสำหรับ performance test ได้ด้วย และมีจุดเด่นที่เน้นการแก้ปัญหาจริง
-
Tonic.ai
- เช่นเดียวกับ Synthesized เป็นแพลตฟอร์มที่สร้าง synthetic data แบบไม่ระบุตัวตนที่สมจริง
- รองรับทั้งข้อมูลแบบ structured และ unstructured พร้อมรับประกันความเป็นส่วนตัวด้วยเทคนิค differential privacy
- มีความสามารถตรวจจับและลบข้อมูลอ่อนไหวอัตโนมัติ รวมถึงมี Ephemeral DB และฟังก์ชัน Tonic Textual สำหรับระบบ RAG
- เหมาะสำหรับทีมที่ต้องการทั้งเพิ่มความเร็วในการทำงานของวิศวกรรมและตอบโจทย์ข้อกำหนดด้านการปกป้องข้อมูลไปพร้อมกัน
-
turbopuffer
- เป็น search engine แบบ serverless multi-tenant ที่รองรับการค้นหาเวกเตอร์และ full-text บนพื้นฐานของ object storage
- ออกแบบมาโดยเน้นความทนทาน, การขยายระบบ และความคุ้มค่าด้านต้นทุน โดย query node เป็นสถาปัตยกรรมแบบ stateless
- ใช้ cold query result cache บน NVMe SSD และเก็บข้อมูลที่ถูกเรียกใช้บ่อยไว้ในหน่วยความจำเพื่อให้มี latency ต่ำ
- เหมาะกับ AI แบบ RAG และการค้นหาเอกสารขนาดใหญ่ แต่ปัจจุบันยังใช้งานได้แบบ invitation only
-
VectorChord
- เป็นโมดูลส่วนขยายสำหรับการค้นหาความคล้ายคลึงของเวกเตอร์บน PostgreSQL ที่พัฒนาขึ้นมาในฐานะงานต่อจาก pgvecto.rs
- ใช้ร่วมกับชนิดข้อมูลของ pgvector ได้ และให้การค้นหาเวกเตอร์ความเร็วสูงโดยใช้ IVF indexing และการทำ quantization แบบ RaBitQ
- ผสานรวมเข้ากับ ecosystem ของ PostgreSQL ทำให้สามารถทำทั้ง vector search และ transaction ได้พร้อมกัน
- แม้ยังอยู่ในระยะเริ่มต้น แต่ก็นับว่าน่าประเมินเป็นทางเลือกสำหรับการค้นหาเวกเตอร์ประสิทธิภาพสูง
Hold (แนะนำให้ชะลอ)
- Tyk การจัดการ API แบบไฮบริด (Tyk hybrid API management)
- โครงสร้างที่ผสาน managed control plane กับ self-managed data plane ช่วยเพิ่มความยืดหยุ่นให้กับ multi-cloud หรือ hybrid cloud
- อย่างไรก็ตาม มีปัญหาเรื่องการขาด observability เช่น กรณี incident ที่เกิดจาก AWS-based control plane ของ Tyk ซึ่งฝั่งภายในตรวจพบก่อนทาง Tyk เอง
- การสนับสนุนแบบ ticket-based ไม่เหมาะกับสถานการณ์ incident เร่งด่วน และยังมีเสียงสะท้อนว่าการตอบสนองค่อนข้างช้า
- เอกสารทางการยังมีความสมบูรณ์ไม่มากนัก ทำให้แก้ปัญหาในสภาพแวดล้อมที่ซับซ้อนได้ยาก
- developer portal สำหรับองค์กรยังมีปัญหาเรื่องความเข้ากันได้กับเวอร์ชันก่อนหน้าและข้อจำกัดด้านการปรับแต่ง
- โดยเฉพาะในสถาปัตยกรรมแบบ hybrid จำเป็นต้องนำมาใช้อย่างระมัดระวัง และต้องติดตามระดับความพร้อมอย่างต่อเนื่อง
เครื่องมือ (Tools)
Adopt (แนะนำให้นำมาใช้)
-
Renovate
- เป็นเครื่องมือสำหรับทำให้การจัดการเวอร์ชันของ dependency เป็นอัตโนมัติ และเป็นตัวเลือกที่หลายทีมชื่นชอบ
- บน GitHub นั้น Dependabot เป็นค่าปริยาย แต่ Renovate ครอบคลุมกว่าและปรับแต่งได้มากกว่า
- จะมีประสิทธิภาพหากตั้งค่าให้ตรวจสอบ dependency ทั้งของ tooling, infrastructure รวมถึง internal/private repository
- เพื่อลดความเหนื่อยล้าของนักพัฒนา ยังสามารถพิจารณาการ auto-merge ของ dependency PR ได้
-
uv
- เป็นเครื่องมือจัดการแพ็กเกจและโปรเจกต์ Python ยุคใหม่ที่เขียนด้วย Rust โดยมีจุดเด่นสำคัญคือความเร็วสูงมาก
- รวมเครื่องมือ Python เดิม (เช่น Poetry, pyenv, pipx) ไว้ในตัวเดียว และช่วยเพิ่มความเร็วของการ build และ test อย่างมาก
- ความสำคัญของ community ที่เติบโตเต็มที่และการสนับสนุน ecosystem ระยะยาวยังคงมีอยู่ แต่ ณ ตอนนี้ถือเป็นเครื่องมือที่นักพัฒนาแนะนำมากที่สุด
- เหมาะอย่างยิ่งกับทีมข้อมูลที่ต้องการหลุดพ้นจากระบบแพ็กเกจแบบเดิมของ Python
-
Vite
- เป็นเครื่องมือ build ฝั่งฟรอนต์เอนด์ประสิทธิภาพสูง ที่มอบ hot reloading ที่รวดเร็วและสภาพแวดล้อมการพัฒนาที่มีประสิทธิภาพ
- ถูกนำไปใช้เป็นเครื่องมือหลักใน Vue, SvelteKit, React และ Create React App ก็เปลี่ยนทิศทางมาเน้น Vite
- การก่อตั้งองค์กรเฉพาะทางชื่อ VoidZero ช่วยเพิ่มความมั่นใจในความต่อเนื่องระยะยาวและศักยภาพการพัฒนาของโครงการ
Trial (ทดลองใช้)
-
Claude Sonnet
- เป็นโมเดลภาษาขั้นสูงที่มีประสิทธิภาพโดดเด่นในหลากหลายด้าน เช่น การเขียนโค้ด การเขียนงาน การวิเคราะห์ และงานที่อิงกับภาพ
- ผสานรวมกับเบราว์เซอร์ เทอร์มินัล IDE หลัก ๆ และ GitHub Copilot ได้ รวมถึงรองรับการตีความกราฟและการดึงข้อความจากภาพ
- สามารถโต้ตอบกับผลลัพธ์ที่สร้างเป็นโค้ดและ HTML ได้ผ่านฟีเจอร์ "Artifacts" ใน UI ของเบราว์เซอร์
- เวอร์ชัน 3.5 แสดงให้เห็นถึงการเพิ่มผลิตภาพอย่างมาก โดยเฉพาะในการออกแบบสถาปัตยกรรมหรือโปรเจกต์ที่ทำงานร่วมกัน
- แม้ Claude 3.7 จะเปิดตัวแล้ว แต่การตรวจสอบในการใช้งานจริงยังคงอยู่ระหว่างดำเนินการ
-
Cline
- เป็นส่วนขยายโอเพนซอร์สสำหรับ VSCode และเป็นเครื่องมือทรงพลังสำหรับการสร้างซอฟต์แวร์เอเจนต์แบบมีการกำกับดูแล
- มีฟีเจอร์ขั้นสูง เช่น โหมด Plan & Act, การผสานรวม MCP และการติดตามการใช้โทเค็นอย่างโปร่งใส
- เมื่อใช้ร่วมกับ Claude 3.5 Sonnet แสดงประสิทธิภาพที่ยอดเยี่ยมกับโค้ดเบสขนาดใหญ่ การทดสอบอัตโนมัติแบบไม่ใช้เบราว์เซอร์ และการแก้บั๊กอัตโนมัติ
- เพิ่มความเป็นส่วนตัวด้วยการเก็บข้อมูลไว้ในเครื่อง และมีศักยภาพในการพัฒนาต่อจากชุมชนโอเพนซอร์ส
- ควรระวังเรื่องค่าใช้จ่ายของโทเค็นและข้อจำกัดความเร็วของคำขอ API (rate limit) และแนะนำให้ใช้ผู้ให้บริการ API ทางเลือกอย่าง OpenRouter
-
Cursor
- เป็นตัวแก้ไขโค้ดที่ขับเคลื่อนด้วย AI โดยเน้นความสามารถด้านการปรับบริบทขั้นสูงและประสบการณ์ใช้งานที่เป็นมิตร
- สามารถเชื่อมต่อกับโมเดลหลากหลายผ่าน API key ของผู้ใช้ และผสาน
git diff, บทสนทนาก่อนหน้า, การค้นหาเว็บ, เอกสารไลบรารี และ MCP เข้าสู่บริบทได้ - สามารถสั่งให้พัฒนาโค้ดผ่านอินเทอร์เฟซ AI แชต และทำการแก้ไขไฟล์กับรันคำสั่งโดยอัตโนมัติ
- ยังมีฟีเจอร์ตรวจจับและแก้ไขข้อผิดพลาดจาก lint และการคอมไพล์โดยอัตโนมัติด้วย
-
D2
- เป็นเครื่องมือ diagram-as-code แบบโอเพนซอร์ส ที่ช่วยให้เขียนไดอะแกรมด้วยสคริปต์แบบข้อความได้
- ใช้เลย์เอาต์เอนจินแบบเดียวกับ Mermaid และมีไวยากรณ์ D2 ที่เรียบง่ายและเป็นเชิงประกาศ
- โครงสร้างไวยากรณ์เน้นความอ่านง่าย จึงเหมาะกับการทำเอกสารซอฟต์แวร์หรือไดอะแกรมสถาปัตยกรรม
-
Databricks Delta Live Tables (DLT)
- เป็นเครื่องมือจัดการ data pipeline แบบประกาศที่รองรับทั้งการสตรีมแบบเรียลไทม์และการประมวลผลแบบแบตช์
- ช่วยลดภาระการปฏิบัติงานด้วยการทำให้งานวิศวกรรมข้อมูลที่ทำซ้ำ ๆ เช่น checkpoint automation เรียบง่ายขึ้น
- สามารถเพิ่มประสิทธิภาพได้ผ่าน materialized views
- อย่างไรก็ตาม ตารางจะถูกจัดการในระดับ pipeline และ streaming table เป็นโครงสร้างแบบ append-only จึงต้องระวังในการออกแบบ
- การลบ DLT pipeline จะลบทั้งตารางและข้อมูลไปพร้อมกัน ซึ่งเป็นความเสี่ยงด้านการปฏิบัติงาน
-
JSON Crack
- เป็นส่วนขยาย VSCode ที่แสดงข้อมูลข้อความอย่าง JSON, YAML, TOML และ XML ในรูปแบบกราฟแบบโต้ตอบได้
- ต่างจาก Mermaid และ D2 ตรงที่ใช้เป็นเครื่องมือแสดงภาพเพื่อสำรวจข้อมูล และมีฟีเจอร์ซ่อนโหนด/กิ่งก้าน จึงเหมาะสำหรับการสำรวจชุดข้อมูล
- มีเครื่องมือแบบเว็บด้วย แต่ควรระวังการพึ่งพาการใช้งานออนไลน์
- มีข้อจำกัดเรื่องจำนวนโหนด และผลักดันให้ใช้เวอร์ชันเชิงพาณิชย์เมื่อเป็นชุดข้อมูลที่ใหญ่กว่า
-
MailSlurp
- เป็นบริการ API สำหรับการทดสอบอัตโนมัติที่อิงกับอีเมลและ SMS
- มีฟีเจอร์เช่น การสร้างกล่องจดหมายชั่วคราวและหมายเลขโทรศัพท์ การตรวจสอบอีเมล การตอบกลับอัตโนมัติ และการส่งต่อ
- สามารถเตรียมการทดสอบแบบแมนนวลได้สะดวกผ่าน REST API และแดชบอร์ดแบบ no-code
- เหมาะสำหรับผลิตภัณฑ์ onboarding ลูกค้าและการพัฒนา test workflow
-
Metabase
- เป็นเครื่องมือวิเคราะห์และ business intelligence แบบโอเพนซอร์ส ที่สามารถสร้าง visualization, รายงาน และแดชบอร์ดจากแหล่งข้อมูลหลากหลายได้
- สามารถฝังแดชบอร์ดแบบโต้ตอบไว้ในเว็บแอปพลิเคชันได้ผ่าน SDK
- รองรับทั้งฐานข้อมูลเชิงสัมพันธ์และ NoSQL และมีคอนเนกเตอร์ทั้งทางการและจากชุมชนอย่างหลากหลาย
- มีประโยชน์ในฐานะเครื่องมือ BI แบบน้ำหนักเบาสำหรับจัดการแดชบอร์ดและรายงาน
-
NeMo Guardrails
- เป็น toolkit โอเพนซอร์สของ NVIDIA ที่สามารถใช้ guardrails ด้านความปลอดภัยกับแอปพลิเคชันสนทนาที่ใช้ LLM ได้
- เพิ่มการรองรับ Colang 2.0, AutoAlign, Patronus Lynx และความสามารถด้านการผสานรวมอื่น ๆ อีกหลายอย่าง
- มี NIM microservices สำหรับความปลอดภัยของเนื้อหา การควบคุมหัวข้อ และความปลอดภัยของพรอมป์ต์
- ยังมีการปรับปรุงประสิทธิภาพ เช่น การรองรับเอาต์พุต LLM แบบสตรีมมิง
- เมื่อมีกรณีนำไปใช้จริงในบริการเพิ่มขึ้น จึงถูกยกระดับเป็น Trial
-
Nyx
- เป็นเครื่องมืออัตโนมัติสำหรับ semantic release ที่ไม่ขึ้นกับภาษาและแพลตฟอร์ม
- เหมาะอย่างยิ่งกับการพัฒนาแบบ Trunk-based และรองรับเวิร์กโฟลว์หลากหลาย เช่น Gitflow, OneFlow และ GitHub Flow
- มีฟีเจอร์สร้าง changelog อัตโนมัติตาม Conventional Commits
- แต่ยังคงต้องระวังเมื่อใช้กับกลยุทธ์ branch ระยะยาว
-
OpenRewrite
- เป็นเครื่องมือสำหรับทำรีแฟกเตอร์ครั้งใหญ่โดยอัตโนมัติ ซึ่งมีประโยชน์กับการอัปเกรดเวอร์ชัน API หรืออัปเดตบริการตามเทมเพลตร่วม
- กำลังขยายการรองรับภาษาเพิ่มเติมนอกเหนือจาก Java เช่น JavaScript
- สำหรับการเปลี่ยนแปลงที่เป็นรูปแบบตายตัว มีความเสถียรและมีประสิทธิภาพมากกว่าผู้ช่วยเขียนโค้ดด้วย AI
- มีทั้ง recipe (กฎการแปลง) และปลั๊กอินของ build tool ให้ใช้งาน และทั้งหมดเผยแพร่แบบโอเพนซอร์ส
-
Plerion
- เป็นแพลตฟอร์มความปลอดภัยคลาวด์ที่เน้น AWS โดยมีความสามารถในการตรวจจับและจัดลำดับความสำคัญของความเสี่ยงครอบคลุมทั้งอินฟราสตรักเจอร์ เซิร์ฟเวอร์ และแอปพลิเคชัน
- คล้ายกับ Wiz ตรงที่ช่วยให้โฟกัสกับ “1% ที่สำคัญ”
- ช่วยเพิ่มการมองเห็นด้านความปลอดภัยของลูกค้า และตอกย้ำความสำคัญของการมอนิเตอร์ความปลอดภัยเชิงรุก
-
ซอฟต์แวร์เอ็นจิเนียริงเอเจนต์ (Software engineering agents)
- เอเจนต์เขียนโค้ดแบบอัตโนมัติเต็มรูปแบบยังไม่ค่อยใช้งานได้จริง แต่โหมดเอเจนต์แบบมีการกำกับภายใน IDE กำลังพัฒนาอย่างรวดเร็ว
- นักพัฒนาจะเป็นผู้นำการพัฒนาผ่านอินเทอร์เฟซแชต ขณะที่ AI จะจัดการงานอย่างการแก้ไขหลายไฟล์ การรันทดสอบ และการจัดการข้อผิดพลาดจาก lint และการคอมไพล์
- แนวทางนี้ถูกเรียกว่า CHOP(Chat-Oriented Programming) หรือ Prompt-to-Code และมีการแบ่งความรับผิดชอบมากกว่าเครื่องมือช่วยอัตโนมัติแบบเดิม
- Cursor, Cline และ Windsurf เป็นผู้นำในด้านนี้ และทำงานได้ดีมากเมื่อจับคู่กับโมเดลตระกูล Claude Sonnet
- ให้ผลเพิ่มประสิทธิภาพอย่างมากเมื่อจำกัดขอบเขตปัญหาให้เล็กและใช้กับโค้ดเบสที่มีโครงสร้างดี
- เมื่อนำไปใช้กับโค้ดโปรดักชัน ควรมีขั้นตอนทบทวนควบคู่ เช่น pair programming
-
Tuple
- เป็นเครื่องมือ remote pair programming ที่เริ่มต้นจากการเป็นทางเลือกแทน Screenhero ของ Slack
- ตอนนี้รองรับ Windows แล้ว พร้อมเสริมการตั้งค่าความเป็นส่วนตัวและเพิ่มฟีเจอร์ซ่อนหน้าต่างแอปเฉพาะ
- การปรับปรุง UI ทำให้สามารถทำงานร่วมกันกับคอนเทนต์นอก IDE ได้ด้วย
- อย่างไรก็ตาม ผู้ร่วมงานจากระยะไกลสามารถเข้าถึงเดสก์ท็อปทั้งหมดได้ จึงมีข้อกังวลด้านความปลอดภัย → แนะนำให้ตั้งค่าความเป็นส่วนตัวและอบรมทีมก่อนใช้งาน
- ด้วย UX ที่เข้าใจง่ายและ latency ต่ำ จึงใช้งานได้จริงในฐานะเครื่องมือสำหรับการจับคู่ทำงานระยะไกล
-
Turborepo
- เป็นเครื่องมือเพิ่มประสิทธิภาพการบิลด์สำหรับ JavaScript/TypeScript monorepo ขนาดใหญ่ โดยช่วยเร่งความเร็วการบิลด์ผ่านการวิเคราะห์ dependency, การแคช และการรันแบบขนาน
- ต่างจาก Nx ตรงที่อนุญาตให้มี
package.jsonแยกตามโปรเจกต์ จึงยอมให้มี dependency หลายเวอร์ชันได้ชั่วคราว - สิ่งนี้อาจมีประโยชน์เมื่อย้ายจากหลาย repository มาสู่ monorepo
- ตั้งค่าได้ง่ายและแสดงประสิทธิภาพที่เสถียรแม้ในโปรเจกต์ขนาดใหญ่
Assess (ต้องสำรวจเพิ่มเติม)
-
AnythingLLM
- เป็นเดสก์ท็อปแอปพลิเคชันโอเพนซอร์สที่ใช้โต้ตอบกับเอกสารหรือคอนเทนต์ขนาดใหญ่ และผสานรวมกับ LLM รวมถึงฐานข้อมูลเวกเตอร์ได้หลากหลาย
- ใช้งานร่วมกับโมเดล open-weight ที่อิง Ollama ได้ และสามารถตั้งค่า embedding model ได้แบบปลั๊กอิน
- นอกจาก RAG แล้ว ยังสามารถประกอบสกิลต่าง ๆ เป็นเอเจนต์เพื่อทำเวิร์กโฟลว์แบบกำหนดเองได้
- จัดการเอกสารและประวัติการสนทนาแยกตาม workspace และล่าสุดยังสามารถดีพลอยเป็นเว็บแอปแบบหลายผู้ใช้ได้ด้วย
- ยังถูกนำไปใช้ได้อย่างมีประโยชน์ในฐานะเครื่องมือโลคัลสำหรับผู้ช่วยส่วนตัว
-
Gemma Scope
- เป็นเครื่องมือด้าน interpretability เชิงกลไกเพื่อทำความเข้าใจการทำงานภายในของ LLM และสามารถวิเคราะห์โมเดลแบบเปิดในตระกูล Gemma2 ได้
- เป็นเครื่องมือที่ช่วยค้นหาสาเหตุและดีบักปัญหาอย่าง hallucination, อคติ และเอาต์พุตที่ผิดปกติ
- ไม่ได้สำคัญเฉพาะกับนักวิจัยเท่านั้น แต่ยิ่งมีบริษัทที่มองว่าการฝึกโมเดลเองเป็นทางเลือกที่ทำได้จริงมากขึ้น ความสำคัญของเครื่องมือแบบนี้ก็ยิ่งเพิ่มขึ้น
-
Hurl
- เป็นเครื่องมือที่สามารถกำหนดและรันลำดับคำขอ HTTP ด้วยไฟล์ข้อความแบบง่าย ๆ จึงเหมาะสำหรับงานอัตโนมัติและการทดสอบ
- มีความสามารถอย่างการตรวจสอบ status code, header/body ของ response, การดึงข้อมูล และการทำตัวแปร
- สามารถสร้างรายงานในรูปแบบ HTML/JSON ได้ และใส่นิยามการทดสอบไว้ใน code repository ได้
- เหมาะในกรณีที่ต้องการเครื่องมือทดสอบ API ที่เบาและเรียบง่ายกว่าเครื่องมือ GUI อย่าง Postman หรือ Bruno
-
Jujutsu
- ระบบควบคุมเวอร์ชันแบบกระจายศูนย์ที่ใช้ Git เป็นแบ็กเอนด์ พร้อมเวิร์กโฟลว์ของตัวเองและการใช้งานที่ได้รับการปรับปรุงให้ดีขึ้น
- เข้ากันได้กับเซิร์ฟเวอร์และบริการ Git และมีความสามารถด้านการแตก branch และการแก้ไข conflict ที่เรียบง่ายและเข้าใจง่ายกว่า
- ออกแบบมาสำหรับทั้งผู้เริ่มต้นและผู้ใช้ขั้นสูง โดยมีจุดเด่นคือ UX ที่ใช้งานง่ายและทรงพลัง
- โดยเฉพาะความสามารถในการแก้ไข conflict ที่ยอดเยี่ยมซึ่งได้รับการชื่นชมอย่างมาก
-
kubenetmon
- เครื่องมือมอนิเตอร์ทราฟฟิกเครือข่าย Kubernetes ที่ ClickHouse เปิดซอร์สเป็นโอเพนซอร์ส
- สามารถวัดปริมาณการรับส่งข้อมูลและค่าใช้จ่ายได้อย่างละเอียดในสภาพแวดล้อมมัลติคลาวด์
- หากคุณกำลังประสบปัญหาค่าใช้จ่ายการรับส่งข้อมูลที่ไม่คาดคิดในโครงสร้างพื้นฐานที่อิง Kubernetes ก็น่าพิจารณานำมาใช้
-
Mergiraf
- Git merge driver ที่แก้ไข merge conflict โดยอิงจาก syntax tree (AST) ของโค้ด
- มีประสิทธิภาพในการจัดการ merge conflict ที่ซับซ้อนขึ้นจากประวัติการเปลี่ยนแปลงที่ยาวหรือโค้ดที่สร้างโดย AI
- ทำงานได้ละเอียดกว่าวิธี merge แบบอิงตามบรรทัดของ Git และยังใช้กับการ merge อัตโนมัติและ cherry-pick ได้
- อาจมีประโยชน์สำหรับทีมที่ใช้ Git workflow ที่ซับซ้อน เช่น long-lived feature branch
-
ModernBERT
- ซีรีส์โมเดล NLP ยุคถัดไปที่เป็นรุ่นสืบทอดของ BERT โดยใช้ encoder-only transformer
- เอาชนะข้อจำกัดด้านความยาวบริบทด้วย Alternating Attention และปรับปรุงทั้งความแม่นยำและประสิทธิภาพเมื่อเทียบกับ BERT เดิม
- ควรค่าแก่การพิจารณาก่อนในสถานการณ์ที่ต้องการโมเดลเฉพาะทางด้าน NLP แทนโมเดลเชิงกำเนิดแบบใช้งานทั่วไป
-
OpenRouter
- แพลตฟอร์มที่รวมผู้ให้บริการ LLM หลายรายไว้ภายใต้ API เดียว เพื่อช่วยในการทดลองและการเพิ่มประสิทธิภาพด้านต้นทุน
- สามารถ route ไปยังโมเดลหลากหลาย เช่น Claude, OpenAI, Mistral และยังมีฟังก์ชันช่วยหลีกเลี่ยงข้อจำกัดด้านอัตราการเรียก API
- อย่างไรก็ตาม โครงสร้างนี้มีการบวกราคาเพิ่ม จึงเหมาะจะพิจารณาเฉพาะกรณีที่จำเป็นต้องสลับใช้งานหลายโมเดลจริง ๆ
-
Redactive
- แพลตฟอร์มสำหรับองค์กรที่ช่วยให้สร้าง AI assistant แบบ RAG ได้อย่างปลอดภัยในสภาพแวดล้อมที่มีข้อกำกับดูแล
- เชื่อมต่อกับ Confluence เป็นต้น เพื่อสร้างดัชนีจากเอกสารและสะท้อนสิทธิ์ของผู้ใช้แบบเรียลไทม์
- รับประกันว่าโมเดลจะเปิดเผยเฉพาะข้อมูลที่ได้รับอนุญาต พร้อมสร้างสมดุลระหว่างความปลอดภัยและการเข้าถึง
-
System Initiative
- เครื่องมือ DevOps เชิงทดลองที่แตกต่างจากแนวทาง infrastructure as code แบบเดิม และเพิ่งเปิดซอร์สเมื่อไม่นานมานี้ (Apache 2.0)
- มีการใช้งานอยู่ในสภาพแวดล้อมเชิงพาณิชย์ แต่ยังต้องใช้เวลาอีกระยะก่อนจะขยายไปถึงระดับองค์กรขนาดใหญ่ได้
- หากอยากลองสัมผัสแนวทางที่ต่างจากเครื่องมือ DevOps แบบเดิม ก็ถือว่าคุ้มค่าที่จะทดลอง
-
TabPFN
- โมเดลจัดประเภทแบบ transformer ที่ปรับให้เหมาะกับชุดข้อมูลตารางขนาดเล็ก
- โมเดลที่ผ่านการ pretrain มาแล้วถูกทำให้ generalize จากชุดข้อมูลสังเคราะห์นับล้านชุด
- ให้ผลลัพธ์ที่รวดเร็วและแม่นยำโดยไม่ต้องทำ hyperparameter tuning และยังทนทานต่อ missing value และ outlier
- ไม่เหมาะกับชุดข้อมูลขนาดใหญ่หรือปัญหา regression
-
v0 (by Vercel)
- เครื่องมือ AI ที่สร้างโค้ดฟรอนต์เอนด์จากภาพหน้าจอ ดีไซน์จาก Figma และพรอมป์ต์
- รองรับเฟรมเวิร์กหลากหลาย เช่น React, Vue, Tailwind, shadcn และสามารถ deploy โค้ดที่สร้างได้ทันที
- แม้จะยังมีข้อจำกัดในการสร้างแอปที่ซับซ้อนทั้งระบบ แต่มีประโยชน์มากสำหรับการสร้างต้นแบบเริ่มต้นหรือใช้เป็นจุดตั้งต้นของ UI
-
Windsurf
- AI coding assistant ที่พัฒนาโดย Codeium ให้ประสบการณ์การทำงานแบบ agent คล้ายกับ Cursor และ Cline
- ขยายความสามารถในการลงมือทำงานผ่านการสำรวจ browser DOM การเข้าถึง console และการค้นหาเว็บ
- รองรับการใช้โมเดลหลากหลาย และยังมีความสามารถด้านการให้บริบทที่แข็งแกร่ง เช่น MCP และการอ้างอิงเอกสาร
-
YOLO (You Only Look Once)
- โมเดลน้ำหนักเบาประสิทธิภาพสูงที่ใช้ได้กับงานคอมพิวเตอร์วิทัศน์หลายประเภท เช่น การจัดประเภทภาพแบบเรียลไทม์ การตรวจจับวัตถุ การประมาณท่าทาง และการแบ่งส่วนภาพ
- เวอร์ชันล่าสุด YOLO11 มีทั้งความแม่นยำและประสิทธิภาพการประมวลผลที่ดียิ่งขึ้น จึงใช้งานบน edge device ได้
- เป็นการย้ำเตือนว่าในงานด้านวิชันบางประเภท โมเดล CV แบบดั้งเดิมอาจเหมาะสมกว่า LLM
ภาษาและเฟรมเวิร์ก (Languages and Frameworks)
Adopt (แนะนำให้นำมาใช้)
-
OpenTelemetry
- กำลังกลายเป็นมาตรฐานอุตสาหกรรมด้าน observability อย่างรวดเร็ว
- ด้วยสเปก OTLP (OpenTelemetry Protocol) จึงสามารถจัดการข้อมูล trace, metric และ log ในรูปแบบมาตรฐานได้
- ช่วยลดการผูกติดกับผู้ให้บริการ และผสานรวมกับเครื่องมือหลักอย่าง Datadog, New Relic, Grafana ได้
- รองรับการบีบอัด gzip และ zstd ทำให้มีประสิทธิภาพสูงในการส่งข้อมูลปริมาณมาก และเหมาะกับสภาพแวดล้อมไมโครเซอร์วิส
- การขยายการรองรับ log และ profiling ทำให้การสังเกตระบบแบบ full-stack ทำได้ง่ายยิ่งขึ้น
-
React Hook Form
- เป็นทางเลือกแทน Formik ที่มีประสิทธิภาพสูง เพราะโดยพื้นฐานใช้คอมโพเนนต์แบบ uncontrolled
- ผสานรวมกับไลบรารีตรวจสอบความถูกต้องแบบอิงสคีมา เช่น Yup และ Zod ได้ง่าย
- ทำงานร่วมกับโค้ดเบสเดิมและไลบรารีคอมโพเนนต์ภายนอกอย่าง shadcn และ AntD ได้ดี
- เป็นตัวเลือกที่เสถียรและยืดหยุ่น เหมาะสำหรับการพัฒนาฟอร์มขนาดใหญ่หรือแอปพลิเคชันที่เน้นฟอร์มเป็นหลัก
Trial (ทดลองใช้)
-
Effect
- ไลบรารีฟังก์ชันนัลโปรแกรมมิงบน TypeScript ที่ช่วยให้การพัฒนาโปรแกรมแบบ asynchronous และ synchronous ง่ายขึ้น
- สามารถจัดการตรรกะที่ซับซ้อน เช่น state management, การจัดการข้อผิดพลาด และ concurrency ได้พร้อม type safety
- มี composability และความง่ายในการทดสอบเหนือกว่าวิธี
Promise,async/await,try/catchแบบเดิม - มอบ abstraction ที่เหมาะกับงานพัฒนาในชีวิตประจำวันมากกว่า
fp-tsที่เคยใช้งานมาก่อน
-
Hasura GraphQL Engine
- ให้บริการ GraphQL API แบบเรียลไทม์สำหรับแหล่งข้อมูลหลากหลาย เช่น PostgreSQL, MongoDB, ClickHouse
- ถูกใช้อย่างมีประสิทธิภาพในโครงการ data product สำหรับการรวมทรัพยากรฝั่งเซิร์ฟเวอร์และสร้าง API ได้อย่างรวดเร็ว
- ฟีเจอร์ Federated Query และการจัดการสคีมารวมมีพลังมาก แต่ต้องใช้อย่างระมัดระวัง
- ฟีเจอร์ PromptQL ที่เพิ่มเข้ามาเมื่อไม่นานนี้มอบความสามารถในการ query ข้อมูลด้วยภาษาธรรมชาติโดยใช้ LLM
-
LangGraph
- เฟรมเวิร์ก orchestration แบบกราฟสำหรับแอปพลิเคชัน multi-agent ที่คงสถานะและอิง LLM
- ให้การควบคุมในระดับล่างกว่า LangChain (โหนดและเอจ) จึงปรับแต่ง workflow ได้
- มีจุดเด่นด้านการจัดการสถานะที่คาดการณ์ได้ การดีบัก การบำรุงรักษา และการขยายระบบ
- แม้จะมี learning curve อยู่บ้าง แต่โดดเด่นมากในด้านความเบาและความเป็นโมดูลาร์
-
MarkItDown
- เครื่องมือ CLI สำหรับแปลงเอกสารอย่าง PDF, HTML, Word และ PowerPoint ให้เป็น Markdown
- ใช้ประโยชน์จากโครงสร้างของ Markdown เพื่อเพิ่มความแม่นยำในการประมวลผลเอกสารของ LLM และความเข้าใจบริบท
- เมื่อนำไปใช้เป็นเครื่องมือ preprocess เอกสารในระบบ RAG จะช่วยเพิ่มความชัดเจนของคำตอบจากการค้นคืนได้อย่างมาก
- เป็นเครื่องมือที่มีประโยชน์ในการเพิ่ม productivity ของนักพัฒนา และยังถูกใช้ในการทำเอกสารบ่อยครั้ง
-
Module Federation
- มีความสามารถในการแชร์โมดูลระหว่างไมโครฟรอนต์เอนด์และลดความซ้ำซ้อนของ dependency
- ตั้งแต่เวอร์ชัน 2.0 เป็นต้นไป สามารถทำงานได้โดยไม่ขึ้นกับ Webpack และรองรับ Rspack, Vite, React, Angular เป็นต้น
- ช่วยจัดโครงสร้างเว็บแอปพลิเคชันขนาดใหญ่ให้ทีมอิสระหลายทีมสามารถพัฒนา deploy และขยายระบบของตนเองได้
-
Prisma ORM
- ชุดเครื่องมือฐานข้อมูลโอเพนซอร์สสำหรับแอปพลิเคชัน Node.js และ TypeScript
- สามารถนิยาม data model ด้วยอ็อบเจ็กต์อย่างง่ายโดยไม่ต้องใช้ decorator หรือ class และมีทั้ง type safety และ portability ที่ยอดเยี่ยม
- มีฟีเจอร์ migration อัตโนมัติและ API สำหรับ query ที่ใช้งานได้อย่างเข้าใจง่าย
- เข้ากันได้ดีกับแนวคิดฟังก์ชันนัลโปรแกรมมิง และเหมาะอย่างยิ่งกับสภาพแวดล้อมการพัฒนา TypeScript
Assess (ควรสำรวจเพิ่มเติม)
-
.NET Aspire
- เครื่องมือบน .NET ที่ช่วยลดความซับซ้อนของการ orchestration แอปพลิเคชันแบบกระจายในสภาพแวดล้อมพัฒนาแบบโลคัล
- สามารถรันหลายโปรเจกต์ .NET, ฐานข้อมูล และ Docker container ได้ด้วยคำสั่งเดียว
- มีเครื่องมือ observability สำหรับโลคัลโดยเฉพาะ เช่น logging, tracing และ metric dashboard ซึ่งช่วยปรับปรุงทั้งการดีบักและประสบการณ์ของนักพัฒนาได้อย่างมีประสิทธิภาพ
-
Android XR SDK
- ระบบปฏิบัติการ Android และ SDK สำหรับเฮดเซ็ต XR โดยเฉพาะ ที่ Google ร่วมมือกับ Samsung และ Qualcomm พัฒนาขึ้น
- รองรับแอป Android ส่วนใหญ่โดยแก้ไขเพียงเล็กน้อย และเหมาะกับแอป spatial computing ที่พัฒนาขึ้นใหม่
- ขณะนี้อยู่ในสถานะ developer preview และถูกนำเสนอเป็น SDK มาตรฐานสำหรับการพัฒนาแอปแบบ spatial
-
Browser Use
- ไลบรารี Python โอเพนซอร์สที่ช่วยให้ AI agent บนพื้นฐาน LLM สามารถควบคุมเว็บเบราว์เซอร์ได้
- พัฒนาบน Playwright และสามารถทำงานอัตโนมัติได้ เช่น การนำทาง การป้อนข้อมูล และการดึงข้อความ
- รองรับการควบคุมหลายแท็บและการประสานงานข้ามเว็บแอป จึงมีประโยชน์ในเวิร์กโฟลว์แบบ multi-agent
-
CrewAI
- แพลตฟอร์มสำหรับจัดการและ orchestration agent ที่รวมหลาย agent เข้าด้วยกันเพื่อทำงานที่ซับซ้อน
- นอกจากไลบรารี Python แล้ว ยังสามารถเชื่อมต่อกับระบบภายนอกอย่าง SharePoint และ JIRA ผ่านเวอร์ชัน enterprise ได้
- ถูกนำไปใช้กับโจทย์ธุรกิจจริง เช่น การตรวจสอบ promo code การสืบสวนความล้มเหลวของธุรกรรม และการทำ customer support อัตโนมัติ
- หากสนใจการสร้างระบบแบบ agent-based ก็ถือว่าเป็นสิ่งที่คุ้มค่าแก่การสำรวจ
-
ElysiaJS
- เฟรมเวิร์กเว็บ TypeScript แบบ type-safe ที่ปรับแต่งมาสำหรับรันไทม์ Bun โดยรองรับการออกแบบ API สไตล์ RESTful และ OpenAPI
- ต่างจาก tRPC ตรงที่ไม่ได้บังคับโครงสร้าง API และให้ทั้งประสิทธิภาพสูงกับ type safety ไปพร้อมกัน
- เหมาะสำหรับการสร้าง BFF(Backend-for-Frontend) และมุ่งสู่ประสิทธิภาพระดับ Java หรือ Go
-
FastGraphRAG
- อิมพลีเมนเทชัน GraphRAG ประสิทธิภาพสูง ที่ใช้ Personalized PageRank เพื่อสำรวจเฉพาะโหนดที่เกี่ยวข้องและปรับปรุงทั้งความแม่นยำกับประสิทธิภาพ
- รองรับการแสดงผลแบบ visualization และการอัปเดตแบบ incremental จึงเหมาะกับชุดข้อมูลไดนามิกขนาดใหญ่
- เป็นโซลูชัน GraphRAG ที่ช่วยยกระดับคุณภาพคำตอบของ LLM พร้อมประหยัดทรัพยากรได้ในเวลาเดียวกัน
-
Gleam
- ภาษาเชิงฟังก์ชันแบบ static type บน Erlang/OTP ที่ช่วยลด runtime error และเพิ่มความสามารถในการบำรุงรักษา
- มีไวยากรณ์สมัยใหม่และยังคงความเข้ากันได้กับ ecosystem ของ BEAM (Erlang, Elixir)
- เหมาะกับทีมที่ต้องการ type safety มากกว่า Erlang เดิม สำหรับระบบที่ต้องการ concurrency สูง ความเสถียร และการขยายตัว
Assess (ควรสำรวจ)
-
GoFr
- เฟรมเวิร์กไมโครเซอร์วิสบน Golang ที่รองรับ logging, tracing, metrics, การจัดการคอนฟิก และการทำเอกสาร Swagger มาให้โดยพื้นฐาน
- มีการเชื่อมต่อกับฐานข้อมูลหลากหลายแบบ รวมถึง pub/sub บน Kafka และ NATS ตลอดจนฟังก์ชันจัดตารางงาน cron
- เป็นเครื่องมือที่เน้น productivity ช่วยลดงานซ้ำ ๆ และทำให้โฟกัสกับการพัฒนา business logic ได้มากขึ้น
-
Java Post-Quantum Cryptography
- เทคโนโลยีการเข้ารหัสที่เตรียมพร้อมสำหรับยุคคอมพิวเตอร์ควอนตัม โดย JDK 24 เริ่มรองรับเบื้องต้นผ่าน JEP 496/497
- อิมพลีเมนต์อัลกอริทึมเข้ารหัสแบบ lattice-based (KEM, digital signature) และเหมาะกับการปกป้องข้อมูลที่ต้องการความปลอดภัยระยะยาว
- แม้จะมี
liboqsของ Open Quantum Safe อยู่แล้ว แต่การมีอิมพลีเมนเทชันแบบเนทีฟใน Java ก็ถูกมองว่าเป็นความก้าวหน้าที่สำคัญ
-
Presidio
- SDK สำหรับปกป้องข้อมูล ที่ระบุและทำข้อมูลอ่อนไหวให้ไม่สามารถระบุตัวตนได้ในข้อความทั้งแบบมีโครงสร้างและไม่มีโครงสร้าง
- ระบุรายการ PII (เช่น หมายเลขบัตรเครดิต ชื่อ ตำแหน่งที่ตั้ง) ด้วยวิธี rule-based, regular expression และ NER
- ปรับแต่งได้สูง แต่ไม่อาจรับประกันการตรวจจับได้อย่างสมบูรณ์ จึงต้องระวังในการตีความผลลัพธ์
-
PydanticAI
- เฟรมเวิร์กสำหรับสร้างแอปพลิเคชันบนพื้นฐาน LLM และ agent ที่พัฒนาโดยทีมผู้สร้าง Pydantic
- มุ่งลดความซับซ้อนให้น้อยที่สุด พร้อมรองรับ structured output, การเชื่อมต่อ API ของโมเดลหลัก และเวิร์กโฟลว์แบบ graph-based
- เหมาะกับนักพัฒนาที่ต้องการหลีกเลี่ยง abstraction ที่มากเกินไป และชอบโครงสร้างที่ใช้งานจริงและมีน้ำหนักเบา
-
Swift for Resource-Constrained Applications
- หลัง Swift 6.0 การรองรับระบบปฏิบัติการที่หลากหลายดีขึ้น ทำให้มีโอกาสใช้งานในสภาพแวดล้อมที่ทรัพยากรจำกัดมากขึ้น
- มอบสมดุลระหว่างประสิทธิภาพและความเสถียรด้วย type safety ที่แข็งแกร่งและการจัดการหน่วยความจำแบบ ARC
- แม้เข้าถึงได้ง่ายกว่า Rust แต่ยังไม่ตอบโจทย์มาตรฐานการรับรองด้านความปลอดภัย (เช่น MISRA) อย่างเพียงพอ จึงยังมีข้อจำกัดในสภาพแวดล้อมที่ต้องการความเชื่อมั่นสูง
-
Tamagui
- ไลบรารี UI ที่ปรับการแชร์สไตล์ระหว่าง React Web และ React Native ให้มีประสิทธิภาพ
- มาพร้อม design system และคอมไพเลอร์ที่ปรับแต่งมาแล้ว โดยบนเว็บจะเรนเดอร์เป็น atomic CSS และบนเนทีฟจะเป็น hoisted style
- มีประโยชน์เมื่อ ต้องการทั้งความสม่ำเสมอของสไตล์และการเพิ่มประสิทธิภาพในการพัฒนา UI ข้ามแพลตฟอร์ม
-
torchtune
- ไลบรารีบน PyTorch สำหรับ LLM ที่รองรับ post-training, fine-tuning และการทดลองด้าน inference
- รองรับทั้งการฝึกแบบกระจายด้วย FSDP2 และสภาพแวดล้อม GPU แบบเดี่ยว/หลายตัว
- ใช้ recipe แบบ YAML เพื่อให้ทดลองได้อย่างตรงไปตรงมาโดยไม่ต้องตั้งค่าซับซ้อน และจัดการการดาวน์โหลดโมเดลกับการรันการทดลองได้สะดวกผ่าน CLI
Hold (แนะนำให้ชะลอ)
- Node overload
- ปัญหาการเลือกใช้ Node.js มากเกินความเหมาะสมยังคงมีอยู่ โดยมักมีหลายกรณีที่ถูกใช้งานโดยไม่ได้พิจารณาทางเลือกอื่น
- แม้ยังมีประสิทธิภาพกับงานที่เน้น IO แต่ไม่เหมาะกับงานที่ใช้การประมวลผลหนักหรือจัดการข้อมูลขนาดมาก
- เมื่อเวิร์กโหลดที่เน้นข้อมูลเพิ่มขึ้นในช่วงหลัง ข้อจำกัดของ Node.js ก็ยิ่งชัดเจนมากขึ้น
- แม้จะเข้าใจความนิยมของสแตกภาษาเดียว แต่เรายังคงแนะนำแนวทางแบบหลายภาษา (polyglot)
- ในเวลาที่มีเฟรมเวิร์กทางเลือกมากขึ้นซึ่งให้ API และประสิทธิภาพที่ดีกว่า การใช้ Node.js จึงควรถูกพิจารณาอย่างรอบคอบ
1 ความคิดเห็น
Thoughtworks Technology Radar, Volume 31
Thoughtworks Technology Radar, Volume 30
Thoughtworks Technology Radar, Volume 29
Thoughtworks Technology Radar, Volume 28
Thoughtworks Technology Radar, Volume 27
Thoughtworks Technology Radar, Volume 26
ThoughtWorks Technology Radar, Volume 23
ThoughtWorks Technology Radar, Volume 22
ข่าวเทคโนโลยีที่ ThoughtWorks เผยแพร่ทุก 6 เดือน - Radar Vol.21