19 คะแนน โดย xguru 2025-04-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ทำให้เห็นภาพและอธิบายเทรนด์ล่าสุดในหมวดเทคนิค/เครื่องมือ/แพลตฟอร์ม/ภาษาและเฟรมเวิร์กสำหรับการพัฒนา ด้วย 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 จึงควรถูกพิจารณาอย่างรอบคอบ