cronex 10 시간 전 | ความคิดเห็นหลัก | ใน: ภาพลวงของพรสวรรค์ (gwagjiug.com) ทุกวันนี้โค้ดดิ้งเอเจนต์สามารถช่วยเติมเต็มส่วนที่เรายังขาดได้ ผมเลยคิดว่าถ้าเรารู้จุดแข็งของตัวเองอย่างชัดเจนและนำมันมาใช้ให้ดี อุปสรรคในการเริ่มต้นก็อาจลดลงได้ สำหรับผม ปัญหามักอยู่ที่การทำเอกสารมาโดยตลอด แต่พอผมมอบหมายส่วนนี้ให้โค้ดดิ้งเอเจนต์ทำได้ในระดับหนึ่ง ภาระก็ลดลง และเมื่อได้ตรวจทานเอกสารที่ทำออกมา ก็รู้สึกว่าตัวเองเริ่มมีสายตาในการมองงานเอกสารมากขึ้นด้วย oksktank 11 시간 전 | ความคิดเห็นหลัก | ใน: react-native-pure-chart 2.0.0 - ไลบรารีวาดกราฟด้วย View ล้วนโดยไม่ใช้ SVG/Skia และเรื่องราวการชุบชีวิตกลับมาด้วย AI agent หลังผ่านไป 9 ปี (github.com/oksktank) ขอบคุณที่อ่านครับ! เมื่อก่อนมีหลายอย่างที่คนต้องคอยใส่ใจเองโดยตรง ไม่ว่าจะเป็นเอกสาร เทสต์เคส การตรวจสอบต่าง ๆ แต่ตอนนี้พอสามารถทำหลายส่วนร่วมกับ AI coding agent ได้แล้ว ก็รู้สึกว่าการดูแลโอเพนซอร์สเองมีความยากในการบริหารลดลงกว่าสมัยก่อนมากกว่าที่คิดครับ! forestkeep21 11 시간 전 | ความคิดเห็นหลัก | ใน: ทำไมบริษัทถึงสูญเสีย Product-Market Fit ไปโดยไม่รู้ตัว (focusedchaos.co) @xguru ดูเหมือนว่าลิงก์จะผิดนะครับ~ jaren82 11 시간 전 | ความคิดเห็นหลัก | ใน: DevClip – จากการสร้างและเปิดตัวตัวจัดการคลิปบอร์ดด้วย Claude Code ภายใน 24 วัน (apps.apple.com) ใช่ครับ ถ้าดูแค่ประวัติคลิปบอร์ด ก็มีส่วนที่ทับซ้อนกันเยอะครับ แต่ Raycast มีฟีเจอร์อื่น ๆ อีกมากนอกจากคลิปบอร์ด เลยรู้สึกว่ามันเยอะเกินไปหน่อย สิ่งที่ผมให้ความสำคัญมีประมาณนี้ครับ อย่างแรกคือให้เบา และจัดการเฉพาะประวัติคลิปบอร์ดเท่านั้น ตอนนี้ขนาดประมาณ 2 MB ครับ และสามารถแก้ไขเนื้อหาที่บันทึกไว้จากหน้ารายละเอียดได้ เวลาตรวจดูพรอมป์หลาย ๆ อันแล้วแก้เล็กน้อยล่วงหน้า สะดวกดีครับ ผมใส่ใจเรื่องการค้นหาและการจัดโฟลเดอร์ด้วยครับ พยายามแก้ปัญหาข้อมูลที่จำเป็นตอนทำงานซึ่งใช้ครั้งเดียว หรือข้อมูลที่ขี้เกียจกลับไปค้นหาใหม่ ทำให้ค้นหาได้จากเนื้อหา แท็ก ชื่อเรื่อง เป็นต้น ต่อไปอยากให้สามารถเพิ่มฟีเจอร์หรือการจัดวางเองผ่านปลั๊กอินได้ แต่ส่วนนี้ยังไม่ได้กำหนดรายละเอียดชัดเจนครับ ผมก็คิดว่า Raycast เป็นแอปที่ดีครับ และอยากพยายามให้เป็นตัวเลือกตามความชอบของแต่ละคนได้ ขอบคุณสำหรับความคิดเห็นครับ opula 11 시간 전 | ความคิดเห็นหลัก | ใน: CodeAlmanac - วิกิฐานโค้ดสำหรับเอเจนต์เขียนโค้ด AI (github.com/AlmanacCode) สิ่งที่ยากที่สุดในเครื่องมือแบบนี้ไม่ใช่ฝั่งที่สะสมข้อมูล แต่เป็นฝั่งที่ทิ้งข้อมูล ซึ่งจุดที่แยก garden ออกมาเป็น lifecycle ต่างหากนั้นน่าสนใจครับ บริบทที่ให้เอเจนต์ ถ้าเก่าไปแล้วไม่ได้แค่ไร้ประโยชน์ แต่เป็นโทษด้วย คนเราอ่านเอกสารแล้วจะพอมีความรู้สึกว่า “นี่ดูเหมือนเรื่องเก่าแล้วนะ” แต่โมเดลไม่มีเซนส์แบบนั้น จึงรับเงื่อนไขคงที่ที่เคยเป็นจริงเมื่อ 3 เดือนก่อนมาใช้ต่อราวกับยังเป็นจริงอยู่ตอนนี้ โค้ดอย่างน้อยถ้าผิดก็ยังคอมไพล์พัง แต่วิกิจะผิดไปอย่างเงียบ ๆ เลยสงสัยว่าในหน้าเพจมีการระบุไหมว่าอิง ณ เวลาใด และเขียนขึ้นจากหลักฐานอะไร การเลือกเก็บเป็น Markdown ไว้ใน repository แล้วให้รีวิวผ่าน Git ผมมองว่าถูกทางในแง่นั้น แต่สิ่งที่เหลืออยู่ใน diff คือเวลาที่เอกสารถูกเปลี่ยน ไม่ใช่เวลาที่เนื้อหานั้นยังคงถูกต้องอยู่ครับ opula 11 시간 전 | ความคิดเห็นหลัก | ใน: ขอคำแนะนำสแต็กขั้นต่ำสำหรับทำเดโม “การจับคู่แบบฟิลเตอร์” ขนาด 1,700 รายการภายในไม่กี่วัน ถ้าแค่ 1,700 รายการ เรื่องประสิทธิภาพแทบไม่มีความหมายแล้วครับ จะประมวลผลโดยตรงฝั่งฟรอนต์เอนด์หรือมีแบ็กเอนด์ก็แสดงผลได้ทันทีทั้งคู่ ดังนั้นผมคิดว่าเกณฑ์ตัดสินใจไม่ใช่เรื่องความเร็ว แต่คือจะต้องเขียนตรรกะ Python ที่มีอยู่ใหม่หรือไม่มากกว่า ถ้าดูตามเกณฑ์นี้ Streamlit เหมาะที่สุดครับ สามารถ import ตรรกะการแมตช์มาใช้ได้เลย ส่วนหน้าจอก็มีแค่ selectbox 5 อันกับตารางผลลัพธ์ก็จบ ไม่ต้องเขียนโค้ดฟรอนต์เอนด์ ถ้าอัปขึ้น Streamlit Community Cloud ก็ได้ลิงก์แชร์ได้ฟรี และถ้าตั้งให้อ่าน JSON ตอนรันไทม์ แค่เปลี่ยนไฟล์ก็สะท้อนข้อมูลล่าสุดได้ HTML แบบสแตติก deploy ง่ายกว่าก็จริง แต่ต้องย้ายตรรกะ Python ไปเป็น JS ถ้าการคำนวณคะแนนซับซ้อนแม้แต่นิดเดียว เวลาก็จะหมดไปกับการ port ตรงนั้นหลายวัน ถ้าเป้าหมายคือแสดงให้เห็นว่ามันทำงานได้ภายในสัปดาห์นี้ ผมว่าไม่ควรแบกรับความเสี่ยงนั้นครับ อีกอย่างหนึ่ง Streamlit ยังไงก็ดูเหมือนเครื่องมือมากกว่าผลิตภัณฑ์ ถ้าเป็นการเดโมให้ผู้มีอำนาจตัดสินใจภายใน และเป้าหมายคือยืนยันว่า “พอป้อนข้อมูลแล้วผลลัพธ์ขึ้นจริง” ก็ไม่เป็นไร แต่ถ้าเป็นการเดโมให้ลูกค้าภายนอก ก็ต้องคำนึงถึงจุดนี้ด้วยครับ selene 12 시간 전 | ความคิดเห็นหลัก | ใน: DevClip – จากการสร้างและเปิดตัวตัวจัดการคลิปบอร์ดด้วย Claude Code ภายใน 24 วัน (apps.apple.com) ดูเหมือนว่าจะรองรับฟีเจอร์เกือบทั้งหมดที่มีใน Raycast แล้ว ไม่ทราบว่ามีจุดไหนที่แตกต่างกันบ้างครับ? skageektp 13 시간 전 | ความคิดเห็นหลัก | ใน: react-native-pure-chart 2.0.0 - ไลบรารีวาดกราฟด้วย View ล้วนโดยไม่ใช้ SVG/Skia และเรื่องราวการชุบชีวิตกลับมาด้วย AI agent หลังผ่านไป 9 ปี (github.com/oksktank) โอ้... ในโพสต์ Show GN ผมอยากเห็นอินไซต์แบบนี้ควบคู่ไปกับการบอกว่า “ทำอะไรขึ้นมา” อยู่เสมอ พอได้เห็นโพสต์แบบนี้แล้วตื่นเต้นเลยครับ 555 click 13 시간 전 | ความคิดเห็นหลัก | ใน: โมเดลโอเพน 9B ที่ปรับจูนด้วยเงิน 500 ดอลลาร์ แซงหน้าโมเดลฟรอนเทียร์ในการตรวจสอบแคตตาล็อก (fermisense.com) แทนที่จะต้องหาผู้เชี่ยวชาญแยกตามแต่ละเคสแล้วมอบหมายงานแค่ในขอบเขตนั้น คนเราก็มักอยากยกให้คนเดียวแล้วให้เขาจัดการทุกอย่างให้ดีไปเลยมากกว่านะครับ สำหรับ LLM เอง สุดท้ายฟังก์ชันรางวัลก็คงเลี่ยงไม่ได้ที่จะถูกออกแบบให้รับได้หมด ไม่ว่าเราจะโยนอะไรมาก็ตามไม่ใช่หรือครับ jrtrang 22 시간 전 | ความคิดเห็นหลัก | ใน: คุณติดตามความผิดพลาดของ AI Agent ในระบบโปรดักชันอย่างไร? แม้จะเป็น public benchmark ก็เพิ่งเคยเห็นตัวเลขที่เจาะจงขนาดนี้เป็นครั้งแรกครับ ขอบคุณมากครับ สัดส่วน 159 กรณี / 76 กรณี / 3,197 กรณี สะดุดตาเป็นพิเศษ กรณีที่ตัดสินไม่ได้ (ไม่มี ID) มีจำนวนมากอย่างท่วมท้น — สุดท้ายก็หมายความว่าความซ้ำซ้อนส่วนใหญ่อยู่ในช่วงที่ตามรอยกันไม่ได้ตั้งแต่แรก และยืนยันอีกครั้งว่าห้ามอุ่นใจเพียงเพราะคิดว่า "มี audit log ก็พอ" แนวทางที่ให้ความสำคัญกับการสร้าง (POST) ก่อนนั้นตรงกับการออกแบบของเราอย่างพอดี เหตุผลที่เราตั้งใจจะใส่ idempotency key กับ event การสร้างก่อนใน hash chain ก็เพราะจุดนี้นี่เอง ข้อเสนอเรื่อง email message ID ผมจะนำไปปรับใช้ทันทีเลยครับ แค่เพิ่มข้อกำหนดว่า "การตอบกลับต้องมี entity ID เสมอ" ในสเปกของเครื่องมือภายใน ก็ทำให้ความสามารถในการตรวจสอบย้อนหลังของ audit log เปลี่ยนไปมากจริง ๆ ครับ ถ้าใช้ ID เป็น anchor ใน hash chain ก็ตรวจสอบได้จากการคำนวณเลยว่าเกิดรายการซ้ำหรือไม่ ไม่ทราบว่าพอจะทราบไหมครับว่าเคส "ไม่มี ID" จำนวน 3,197 กรณีนั้นกระจุกอยู่กับเครื่องมือประเภทไหนบ้าง? นอกจากอีเมลแล้ว ผมอยากทราบว่ามีเครื่องมือที่คืนมาแค่ "สำเร็จ/ล้มเหลว" อยู่มากแค่ไหนครับ shbinx 22 시간 전 | ความคิดเห็นหลัก | ใน: เว็บไซต์ที่ให้ LLM Agent รวบรวมข่าว AI ทุกวันแล้วสะสมเป็นลิงก์วิกิ — เดินระบบไร้คนดูแลมา 72 วัน (trend.undefined-studio.dev) ตอนนี้กำลังปรับแต่งอยู่ ถ้าเสร็จภายในสัปดาห์นี้ก็น่าจะดูเรียบร้อยขึ้นอีกหน่อย :) wayden 23 시간 전 | ความคิดเห็นหลัก | ใน: เว็บไซต์ที่ให้ LLM Agent รวบรวมข่าว AI ทุกวันแล้วสะสมเป็นลิงก์วิกิ — เดินระบบไร้คนดูแลมา 72 วัน (trend.undefined-studio.dev) คุณเพิ่มฟีเจอร์สลับเป็นภาษาเกาหลีให้แล้วสินะครับ :) ขอบคุณมากจริง ๆ ครับ marshallku 1 일 전 | ความคิดเห็นหลัก | ใน: comux - tmux สำหรับ AI coding agent (github.com/marshallku) ผมก็ดีใจมากเหมือนกันที่ได้เจอคนที่ทำอะไรคล้าย ๆ กันครับ! แม้ก่อนยุค Claude จะมาถึง ผมก็เคยทุ่มเวลากับ Rust ค่อนข้างมาก ทั้งทำ API และ CLI ด้วย Rust ครับ! ผมเพิ่งคิดได้ไม่นานว่าควรแทนที่ tmux ดังนั้นแม้จะเพิ่งเลิกใช้ tmux จริง ๆ ได้ไม่นาน แต่ก็เคยทำ multiplexer เอง และตั้งแต่วันที่สองก็พยายามลดการใช้ tmux ให้น้อยที่สุดครับ! ตรงนี้นอกจากเรื่องความสมบูรณ์ของงานแล้ว ผมคิดว่าอีกเหตุผลใหญ่คือถ้ามี fallback ไปยังเครื่องมืออื่นที่ไม่ใช่เครื่องมือที่ผมทำเอง มันกลับกลายเป็นที่หลบภัย ทำให้ผมไม่ตั้งใจพัฒนาต่อเท่าที่ควรครับ ส่วนที่ใช้เวลาถึง 4 เดือนนั้น อย่างที่คุณบอก น่าจะเป็นเพราะการทำฟีเจอร์ตามรสนิยมของผมให้อยู่ในรูปแบบที่หลายคนใช้ได้และขยายต่อได้ก็ใช้เวลานานเหมือนกัน และการตัดสินใจเผยแพร่มันสู่สาธารณะก็ต้องใช้ความกล้าพอสมควรครับ แล้วเมื่อเทียบกับโปรแกรมอย่าง orca ที่ได้รับการสนับสนุนจากบริษัท เรื่องแรงจูงใจของโปรเจกต์ที่ทำแบบส่วนตัวนั้น ผมกลับมองในแง่บวกครับ แน่นอนว่าไม่มีแรงจูงใจอะไรใหญ่เท่ากับการมีภาระทางการเงินเพิ่มขึ้น แต่ผมปรับ workflow ทั้งหมดให้เข้ากับเครื่องมือที่ผมใช้เองไว้แล้ว ดังนั้นถ้าผมจะทำงานตอนนี้ ผมก็อยู่ในสถานะที่ต้องปรับปรุงเครื่องมือนี้ จึงพยายามแบ่งเวลาส่วนตัวให้มากที่สุดมาลงกับการปรับปรุงเครื่องมือเหล่านี้ครับ แน่นอนว่ามีปัญหาว่าทุกอย่างจะจบลงทันทีที่แรงจูงใจของผมหายไป แต่เพื่อป้องกันสถานการณ์นั้น ผมจงใจปรับ workflow ของตัวเองให้เหมาะกับเครื่องมือของผมไว้ เพื่อพยายามหลีกเลี่ยงไม่ให้เกิดแบบนั้นครับ! ส่วนตัวแล้ว ตอนนี้ผมก็ยังคิดว่าสิ่งที่ด้อยกว่าเครื่องมือคู่แข่งไม่ใช่ด้านเทคนิค แต่มีแค่ด้านการตลาดเท่านั้น ดังนั้นการเปิดเผยออกมาเพื่อรับฟีดแบ็กก็น่าจะเป็นเหตุผลสำคัญมากครับ ที่ทำ GPU rendering นั้นไม่ใช่เพื่อรองรับ Windows มากกว่า แต่เป็นความท้าทายทางเทคนิคและการปรับแต่งประสิทธิภาพสำหรับโปรแกรมที่ใช้พื้นที่หน้าจอเทอร์มินัลเต็ม ๆ ครับ ส่วนตัวผมไม่ได้ใช้ Windows เพื่อการพัฒนามานานแล้ว จึงยังไม่ได้คิดลึกเรื่องการรองรับ OS นี้ แต่ตอนนี้ดูเหมือนว่าพื้นฐานจะมีค่อนข้างพร้อมแล้ว เลยคิดว่าน่าจะลองท้าทายดูสักครั้งครับ เป้าหมายของผมคือแค่ให้การพัฒนาโดยรวมของผมจบได้ด้วย copad ตัวเดียว และเพื่อสิ่งนั้นผมก็ทำระบบ plugin ไว้แล้วครับ! ดังนั้นฟีเจอร์ที่ต้องใช้ GUI ผมจึงพยายาม implement ลงใน copad ให้มากที่สุดครับ marshallku 1 일 전 | ความคิดเห็นหลัก | ใน: comux - tmux สำหรับ AI coding agent (github.com/marshallku) ในแง่วิธีการเรนเดอร์มีความต่างกันค่อนข้างมาก แต่จริง ๆ แล้วในมุมของผู้ใช้ปลายทางก็ไม่ได้รู้สึกว่าต่างกันมากนัก เลยแอบเขินนิดหน่อยที่จะลงรายละเอียดครับ อย่างที่คุณบอกไว้ พอต้นทุนการผลิตต่ำลง โลกก็คงกลายเป็นที่ที่สิ่งที่เข้ามือเราที่สุดคือสิ่งที่ดีที่สุดแล้ว..! mammal 1 일 전 | ความคิดเห็นหลัก | ใน: พนักงาน Netflix ฟ้องอ้างถูกไล่ออกหลังเปิดเผยเรื่องส่วนตัวในกิจกรรมสร้างความไว้วางใจระหว่างรีทรีต (nypost.com) Samsung ที่เคยเก็บบันทึกการให้คำปรึกษาภายในบริษัทไว้ในโฟลเดอร์วินัยของฝ่ายบุคคล ก็สมกับเป็นบริษัทชั้นนำระดับโลกจริง ๆ qlcla123 1 일 전 | ความคิดเห็นหลัก | ใน: คุณติดตามความผิดพลาดของ AI Agent ในระบบโปรดักชันอย่างไร? ผมยังไม่เคยนำไปใช้กับบริการจริงครับ ตัวเลขเหล่านี้ทั้งหมดมาจาก trace ของ benchmark สาธารณะ ดังนั้นน่าจะต้องบอกข้อจำกัดนี้ไว้ก่อน อย่างไรก็ตาม มีข้อสังเกตหนึ่งที่อาจเป็นประโยชน์ต่อการออกแบบ idempotency key เพื่อแยกแยะระหว่าง “เรียกสองครั้ง” กับ “ดำเนินการสองครั้ง” ผมลองเปรียบเทียบ entity ID ที่อยู่ใน response ดูครับ เพราะถ้าเรียกด้วย argument เดิมสองครั้งแล้ว response ID ต่างกัน ก็แปลว่ามีการสร้างขึ้นจริงสองรายการ แต่ถ้าเหมือนกันก็แปลว่า API dedup ให้เอง อิงจาก benchmark Toolathlon ในบรรดาการเรียกซ้ำของเครื่องมือที่เปลี่ยนสถานะ: ID ต่างกัน (เกิดการสร้างซ้ำจริง): 159 กรณี ID เหมือนกัน (API dedup): 76 กรณี ไม่มี ID ให้ตัดสินไม่ได้: 3,197 กรณี จากตรงนี้เห็นรูปแบบอย่างหนึ่งครับ 159 กรณีที่ ID ต่างกันล้วนเป็นเครื่องมือกลุ่มสร้างทั้งหมด (สร้างเอกสาร, สร้างสเปรดชีต, อัปโหลดไฟล์, สร้างควิซ) ในทางกลับกัน กลุ่มอัปเดต (patch, update, enroll) ไม่มีกรณีที่ ID ต่างกันเลย เพราะชี้ไปยังเป้าหมายเดิม จึงไม่ได้ถูกสร้างขึ้นใหม่ กล่าวคือ หากจะใส่ idempotency key ฝั่งการสร้าง (POST) น่าจะควรให้ความสำคัญก่อนครับ ส่วนฝั่งอัปเดตดูเหมือนว่าหลายกรณีจะมีความเป็น idempotent ตามธรรมชาติอยู่แล้ว และปัญหาเรื่องอีเมลที่พูดถึงก่อนหน้านี้ก็กลับมาเกี่ยวตรงนี้อีกครับ การส่งอีเมลมี response เป็นเพียงสตริง “สำเร็จ” จึงเปรียบเทียบ ID ไม่ได้ แม้จะใส่ idempotency key ก็ไม่มีทางยืนยันจาก trace เพียงอย่างเดียวได้ว่ามันทำงานจริงหรือไม่ หากออกแบบเครื่องมือภายใน แค่ให้ผลลัพธ์การส่งคืน message ID ก็จะตรวจสอบได้ใน audit log และน่าจะเข้ากันได้ดีกับวิธี hash chain ที่คุณพูดถึงด้วยครับ ขอย้ำข้อจำกัดอีกครั้งว่า ตัวเลขข้างต้นทั้งหมดมาจาก benchmark trace จึงไม่ทราบว่าในสภาพแวดล้อม production จริงจะมีสัดส่วนแบบเดียวกันหรือไม่ ถ้ามีโอกาสได้ลองรัน trace ผมก็อยากรู้เหมือนกันว่าผลลัพธ์จะแตกต่างไปอย่างไร gronxb 1 일 전 | ความคิดเห็นหลัก | ใน: Sukurini - ตัวจัดการสกรีนช็อตที่เรียกใช้จากแถบเมนู macOS (ssut.github.io) เหมือนเป็นตะกร้าใส่ภาพหน้าจอเลยนะครับ geesecross 1 일 전 | ความคิดเห็นหลัก | ใน: Rextio: เครื่องมือที่แปลงโค้ด Python เป็นโค้ด Rust โดยอัตโนมัติให้มากที่สุด คอมไพล์เป็น Native และปล่อยส่วนที่เหลือไว้ให้ CPython (github.com/rextio) มี numba ที่ใช้แนวทาง JIT compilation ซึ่งเป็นไอเดียคล้ายกัน แต่ตัวนี้ให้ความรู้สึกว่าครอบคลุมได้มากกว่า savvykang 1 일 전 | ความคิดเห็นหลัก | ใน: จุดยืนของ Anthropic ต่อโมเดลแบบ Open Weights (anthropic.com) ถ้าแค่ปล่อยอะไรอย่าง gps oss 120b ออกมา ก็น่าจะดูพอมีน้ำหนักอยู่บ้าง แต่ก็ไม่แน่ใจเหมือนกันครับ yhpat1 1 일 전 | ความคิดเห็นหลัก | ใน: จุดยืนของ Anthropic ต่อโมเดลแบบ Open Weights (anthropic.com) ดังนั้นทางที่ดีที่สุดคือการนำ LLM แบบปิดออกสู่ตลาดให้มีราคาถูกที่สุดเท่าที่จะทำได้ หากการเข้าถึงปัญญาประสิทธิภาพสูงเพิ่มขึ้น แรงจูงใจในการพัฒนาโมเดลแบบ open-weight ก็จะลดลงไปเอง และองค์กรทั่วไปก็ยังสามารถเป็นผู้นำทางเทคโนโลยีได้ แต่เอาเข้าจริง Anthropic กลับเป็นผู้ให้บริการที่กีดกันมากที่สุดในตลาดไม่ใช่หรือ? โหลดความคิดเห็นเพิ่มเติม
ทุกวันนี้โค้ดดิ้งเอเจนต์สามารถช่วยเติมเต็มส่วนที่เรายังขาดได้ ผมเลยคิดว่าถ้าเรารู้จุดแข็งของตัวเองอย่างชัดเจนและนำมันมาใช้ให้ดี อุปสรรคในการเริ่มต้นก็อาจลดลงได้
สำหรับผม ปัญหามักอยู่ที่การทำเอกสารมาโดยตลอด แต่พอผมมอบหมายส่วนนี้ให้โค้ดดิ้งเอเจนต์ทำได้ในระดับหนึ่ง ภาระก็ลดลง และเมื่อได้ตรวจทานเอกสารที่ทำออกมา ก็รู้สึกว่าตัวเองเริ่มมีสายตาในการมองงานเอกสารมากขึ้นด้วย
ขอบคุณที่อ่านครับ! เมื่อก่อนมีหลายอย่างที่คนต้องคอยใส่ใจเองโดยตรง ไม่ว่าจะเป็นเอกสาร เทสต์เคส การตรวจสอบต่าง ๆ แต่ตอนนี้พอสามารถทำหลายส่วนร่วมกับ AI coding agent ได้แล้ว ก็รู้สึกว่าการดูแลโอเพนซอร์สเองมีความยากในการบริหารลดลงกว่าสมัยก่อนมากกว่าที่คิดครับ!
@xguru ดูเหมือนว่าลิงก์จะผิดนะครับ~
ใช่ครับ ถ้าดูแค่ประวัติคลิปบอร์ด ก็มีส่วนที่ทับซ้อนกันเยอะครับ แต่ Raycast มีฟีเจอร์อื่น ๆ อีกมากนอกจากคลิปบอร์ด เลยรู้สึกว่ามันเยอะเกินไปหน่อย
สิ่งที่ผมให้ความสำคัญมีประมาณนี้ครับ
อย่างแรกคือให้เบา และจัดการเฉพาะประวัติคลิปบอร์ดเท่านั้น ตอนนี้ขนาดประมาณ 2 MB ครับ
และสามารถแก้ไขเนื้อหาที่บันทึกไว้จากหน้ารายละเอียดได้ เวลาตรวจดูพรอมป์หลาย ๆ อันแล้วแก้เล็กน้อยล่วงหน้า สะดวกดีครับ
ผมใส่ใจเรื่องการค้นหาและการจัดโฟลเดอร์ด้วยครับ พยายามแก้ปัญหาข้อมูลที่จำเป็นตอนทำงานซึ่งใช้ครั้งเดียว หรือข้อมูลที่ขี้เกียจกลับไปค้นหาใหม่
ทำให้ค้นหาได้จากเนื้อหา แท็ก ชื่อเรื่อง เป็นต้น
ต่อไปอยากให้สามารถเพิ่มฟีเจอร์หรือการจัดวางเองผ่านปลั๊กอินได้ แต่ส่วนนี้ยังไม่ได้กำหนดรายละเอียดชัดเจนครับ
ผมก็คิดว่า Raycast เป็นแอปที่ดีครับ และอยากพยายามให้เป็นตัวเลือกตามความชอบของแต่ละคนได้
ขอบคุณสำหรับความคิดเห็นครับ
สิ่งที่ยากที่สุดในเครื่องมือแบบนี้ไม่ใช่ฝั่งที่สะสมข้อมูล แต่เป็นฝั่งที่ทิ้งข้อมูล ซึ่งจุดที่แยก garden ออกมาเป็น lifecycle ต่างหากนั้นน่าสนใจครับ
บริบทที่ให้เอเจนต์ ถ้าเก่าไปแล้วไม่ได้แค่ไร้ประโยชน์ แต่เป็นโทษด้วย คนเราอ่านเอกสารแล้วจะพอมีความรู้สึกว่า “นี่ดูเหมือนเรื่องเก่าแล้วนะ” แต่โมเดลไม่มีเซนส์แบบนั้น จึงรับเงื่อนไขคงที่ที่เคยเป็นจริงเมื่อ 3 เดือนก่อนมาใช้ต่อราวกับยังเป็นจริงอยู่ตอนนี้ โค้ดอย่างน้อยถ้าผิดก็ยังคอมไพล์พัง แต่วิกิจะผิดไปอย่างเงียบ ๆ
เลยสงสัยว่าในหน้าเพจมีการระบุไหมว่าอิง ณ เวลาใด และเขียนขึ้นจากหลักฐานอะไร การเลือกเก็บเป็น Markdown ไว้ใน repository แล้วให้รีวิวผ่าน Git ผมมองว่าถูกทางในแง่นั้น แต่สิ่งที่เหลืออยู่ใน diff คือเวลาที่เอกสารถูกเปลี่ยน ไม่ใช่เวลาที่เนื้อหานั้นยังคงถูกต้องอยู่ครับ
ถ้าแค่ 1,700 รายการ เรื่องประสิทธิภาพแทบไม่มีความหมายแล้วครับ จะประมวลผลโดยตรงฝั่งฟรอนต์เอนด์หรือมีแบ็กเอนด์ก็แสดงผลได้ทันทีทั้งคู่ ดังนั้นผมคิดว่าเกณฑ์ตัดสินใจไม่ใช่เรื่องความเร็ว แต่คือจะต้องเขียนตรรกะ Python ที่มีอยู่ใหม่หรือไม่มากกว่า
ถ้าดูตามเกณฑ์นี้ Streamlit เหมาะที่สุดครับ สามารถ import ตรรกะการแมตช์มาใช้ได้เลย ส่วนหน้าจอก็มีแค่ selectbox 5 อันกับตารางผลลัพธ์ก็จบ ไม่ต้องเขียนโค้ดฟรอนต์เอนด์ ถ้าอัปขึ้น Streamlit Community Cloud ก็ได้ลิงก์แชร์ได้ฟรี และถ้าตั้งให้อ่าน JSON ตอนรันไทม์ แค่เปลี่ยนไฟล์ก็สะท้อนข้อมูลล่าสุดได้
HTML แบบสแตติก deploy ง่ายกว่าก็จริง แต่ต้องย้ายตรรกะ Python ไปเป็น JS ถ้าการคำนวณคะแนนซับซ้อนแม้แต่นิดเดียว เวลาก็จะหมดไปกับการ port ตรงนั้นหลายวัน ถ้าเป้าหมายคือแสดงให้เห็นว่ามันทำงานได้ภายในสัปดาห์นี้ ผมว่าไม่ควรแบกรับความเสี่ยงนั้นครับ
อีกอย่างหนึ่ง Streamlit ยังไงก็ดูเหมือนเครื่องมือมากกว่าผลิตภัณฑ์ ถ้าเป็นการเดโมให้ผู้มีอำนาจตัดสินใจภายใน และเป้าหมายคือยืนยันว่า “พอป้อนข้อมูลแล้วผลลัพธ์ขึ้นจริง” ก็ไม่เป็นไร แต่ถ้าเป็นการเดโมให้ลูกค้าภายนอก ก็ต้องคำนึงถึงจุดนี้ด้วยครับ
ดูเหมือนว่าจะรองรับฟีเจอร์เกือบทั้งหมดที่มีใน Raycast แล้ว ไม่ทราบว่ามีจุดไหนที่แตกต่างกันบ้างครับ?
โอ้... ในโพสต์ Show GN ผมอยากเห็นอินไซต์แบบนี้ควบคู่ไปกับการบอกว่า “ทำอะไรขึ้นมา” อยู่เสมอ พอได้เห็นโพสต์แบบนี้แล้วตื่นเต้นเลยครับ 555
แทนที่จะต้องหาผู้เชี่ยวชาญแยกตามแต่ละเคสแล้วมอบหมายงานแค่ในขอบเขตนั้น คนเราก็มักอยากยกให้คนเดียวแล้วให้เขาจัดการทุกอย่างให้ดีไปเลยมากกว่านะครับ
สำหรับ LLM เอง สุดท้ายฟังก์ชันรางวัลก็คงเลี่ยงไม่ได้ที่จะถูกออกแบบให้รับได้หมด ไม่ว่าเราจะโยนอะไรมาก็ตามไม่ใช่หรือครับ
แม้จะเป็น public benchmark ก็เพิ่งเคยเห็นตัวเลขที่เจาะจงขนาดนี้เป็นครั้งแรกครับ ขอบคุณมากครับ
สัดส่วน 159 กรณี / 76 กรณี / 3,197 กรณี สะดุดตาเป็นพิเศษ กรณีที่ตัดสินไม่ได้ (ไม่มี ID) มีจำนวนมากอย่างท่วมท้น — สุดท้ายก็หมายความว่าความซ้ำซ้อนส่วนใหญ่อยู่ในช่วงที่ตามรอยกันไม่ได้ตั้งแต่แรก และยืนยันอีกครั้งว่าห้ามอุ่นใจเพียงเพราะคิดว่า "มี audit log ก็พอ"
แนวทางที่ให้ความสำคัญกับการสร้าง (POST) ก่อนนั้นตรงกับการออกแบบของเราอย่างพอดี เหตุผลที่เราตั้งใจจะใส่ idempotency key กับ event การสร้างก่อนใน hash chain ก็เพราะจุดนี้นี่เอง
ข้อเสนอเรื่อง email message ID ผมจะนำไปปรับใช้ทันทีเลยครับ แค่เพิ่มข้อกำหนดว่า "การตอบกลับต้องมี entity ID เสมอ" ในสเปกของเครื่องมือภายใน ก็ทำให้ความสามารถในการตรวจสอบย้อนหลังของ audit log เปลี่ยนไปมากจริง ๆ ครับ ถ้าใช้ ID เป็น anchor ใน hash chain ก็ตรวจสอบได้จากการคำนวณเลยว่าเกิดรายการซ้ำหรือไม่
ไม่ทราบว่าพอจะทราบไหมครับว่าเคส "ไม่มี ID" จำนวน 3,197 กรณีนั้นกระจุกอยู่กับเครื่องมือประเภทไหนบ้าง? นอกจากอีเมลแล้ว ผมอยากทราบว่ามีเครื่องมือที่คืนมาแค่ "สำเร็จ/ล้มเหลว" อยู่มากแค่ไหนครับ
ตอนนี้กำลังปรับแต่งอยู่ ถ้าเสร็จภายในสัปดาห์นี้ก็น่าจะดูเรียบร้อยขึ้นอีกหน่อย :)
คุณเพิ่มฟีเจอร์สลับเป็นภาษาเกาหลีให้แล้วสินะครับ :)
ขอบคุณมากจริง ๆ ครับ
ผมก็ดีใจมากเหมือนกันที่ได้เจอคนที่ทำอะไรคล้าย ๆ กันครับ!
แม้ก่อนยุค Claude จะมาถึง ผมก็เคยทุ่มเวลากับ Rust ค่อนข้างมาก ทั้งทำ API และ CLI ด้วย Rust ครับ!
ผมเพิ่งคิดได้ไม่นานว่าควรแทนที่ tmux ดังนั้นแม้จะเพิ่งเลิกใช้ tmux จริง ๆ ได้ไม่นาน แต่ก็เคยทำ multiplexer เอง และตั้งแต่วันที่สองก็พยายามลดการใช้ tmux ให้น้อยที่สุดครับ!
ตรงนี้นอกจากเรื่องความสมบูรณ์ของงานแล้ว ผมคิดว่าอีกเหตุผลใหญ่คือถ้ามี fallback ไปยังเครื่องมืออื่นที่ไม่ใช่เครื่องมือที่ผมทำเอง มันกลับกลายเป็นที่หลบภัย ทำให้ผมไม่ตั้งใจพัฒนาต่อเท่าที่ควรครับ
ส่วนที่ใช้เวลาถึง 4 เดือนนั้น อย่างที่คุณบอก น่าจะเป็นเพราะการทำฟีเจอร์ตามรสนิยมของผมให้อยู่ในรูปแบบที่หลายคนใช้ได้และขยายต่อได้ก็ใช้เวลานานเหมือนกัน และการตัดสินใจเผยแพร่มันสู่สาธารณะก็ต้องใช้ความกล้าพอสมควรครับ
แล้วเมื่อเทียบกับโปรแกรมอย่าง orca ที่ได้รับการสนับสนุนจากบริษัท เรื่องแรงจูงใจของโปรเจกต์ที่ทำแบบส่วนตัวนั้น ผมกลับมองในแง่บวกครับ
แน่นอนว่าไม่มีแรงจูงใจอะไรใหญ่เท่ากับการมีภาระทางการเงินเพิ่มขึ้น แต่ผมปรับ workflow ทั้งหมดให้เข้ากับเครื่องมือที่ผมใช้เองไว้แล้ว ดังนั้นถ้าผมจะทำงานตอนนี้ ผมก็อยู่ในสถานะที่ต้องปรับปรุงเครื่องมือนี้ จึงพยายามแบ่งเวลาส่วนตัวให้มากที่สุดมาลงกับการปรับปรุงเครื่องมือเหล่านี้ครับ
แน่นอนว่ามีปัญหาว่าทุกอย่างจะจบลงทันทีที่แรงจูงใจของผมหายไป แต่เพื่อป้องกันสถานการณ์นั้น ผมจงใจปรับ workflow ของตัวเองให้เหมาะกับเครื่องมือของผมไว้ เพื่อพยายามหลีกเลี่ยงไม่ให้เกิดแบบนั้นครับ!
ส่วนตัวแล้ว ตอนนี้ผมก็ยังคิดว่าสิ่งที่ด้อยกว่าเครื่องมือคู่แข่งไม่ใช่ด้านเทคนิค แต่มีแค่ด้านการตลาดเท่านั้น ดังนั้นการเปิดเผยออกมาเพื่อรับฟีดแบ็กก็น่าจะเป็นเหตุผลสำคัญมากครับ
ที่ทำ GPU rendering นั้นไม่ใช่เพื่อรองรับ Windows มากกว่า แต่เป็นความท้าทายทางเทคนิคและการปรับแต่งประสิทธิภาพสำหรับโปรแกรมที่ใช้พื้นที่หน้าจอเทอร์มินัลเต็ม ๆ ครับ
ส่วนตัวผมไม่ได้ใช้ Windows เพื่อการพัฒนามานานแล้ว จึงยังไม่ได้คิดลึกเรื่องการรองรับ OS นี้ แต่ตอนนี้ดูเหมือนว่าพื้นฐานจะมีค่อนข้างพร้อมแล้ว เลยคิดว่าน่าจะลองท้าทายดูสักครั้งครับ
เป้าหมายของผมคือแค่ให้การพัฒนาโดยรวมของผมจบได้ด้วย copad ตัวเดียว และเพื่อสิ่งนั้นผมก็ทำระบบ plugin ไว้แล้วครับ!
ดังนั้นฟีเจอร์ที่ต้องใช้ GUI ผมจึงพยายาม implement ลงใน copad ให้มากที่สุดครับ
ในแง่วิธีการเรนเดอร์มีความต่างกันค่อนข้างมาก แต่จริง ๆ แล้วในมุมของผู้ใช้ปลายทางก็ไม่ได้รู้สึกว่าต่างกันมากนัก เลยแอบเขินนิดหน่อยที่จะลงรายละเอียดครับ อย่างที่คุณบอกไว้ พอต้นทุนการผลิตต่ำลง โลกก็คงกลายเป็นที่ที่สิ่งที่เข้ามือเราที่สุดคือสิ่งที่ดีที่สุดแล้ว..!
Samsung ที่เคยเก็บบันทึกการให้คำปรึกษาภายในบริษัทไว้ในโฟลเดอร์วินัยของฝ่ายบุคคล ก็สมกับเป็นบริษัทชั้นนำระดับโลกจริง ๆ
ผมยังไม่เคยนำไปใช้กับบริการจริงครับ ตัวเลขเหล่านี้ทั้งหมดมาจาก trace ของ benchmark สาธารณะ ดังนั้นน่าจะต้องบอกข้อจำกัดนี้ไว้ก่อน
อย่างไรก็ตาม มีข้อสังเกตหนึ่งที่อาจเป็นประโยชน์ต่อการออกแบบ idempotency key
เพื่อแยกแยะระหว่าง “เรียกสองครั้ง” กับ “ดำเนินการสองครั้ง” ผมลองเปรียบเทียบ entity ID ที่อยู่ใน response ดูครับ เพราะถ้าเรียกด้วย argument เดิมสองครั้งแล้ว response ID ต่างกัน ก็แปลว่ามีการสร้างขึ้นจริงสองรายการ แต่ถ้าเหมือนกันก็แปลว่า API dedup ให้เอง
อิงจาก benchmark Toolathlon ในบรรดาการเรียกซ้ำของเครื่องมือที่เปลี่ยนสถานะ:
ID ต่างกัน (เกิดการสร้างซ้ำจริง): 159 กรณี ID เหมือนกัน (API dedup): 76 กรณี ไม่มี ID ให้ตัดสินไม่ได้: 3,197 กรณี
จากตรงนี้เห็นรูปแบบอย่างหนึ่งครับ 159 กรณีที่ ID ต่างกันล้วนเป็นเครื่องมือกลุ่มสร้างทั้งหมด (สร้างเอกสาร, สร้างสเปรดชีต, อัปโหลดไฟล์, สร้างควิซ) ในทางกลับกัน กลุ่มอัปเดต (patch, update, enroll) ไม่มีกรณีที่ ID ต่างกันเลย เพราะชี้ไปยังเป้าหมายเดิม จึงไม่ได้ถูกสร้างขึ้นใหม่
กล่าวคือ หากจะใส่ idempotency key ฝั่งการสร้าง (POST) น่าจะควรให้ความสำคัญก่อนครับ ส่วนฝั่งอัปเดตดูเหมือนว่าหลายกรณีจะมีความเป็น idempotent ตามธรรมชาติอยู่แล้ว
และปัญหาเรื่องอีเมลที่พูดถึงก่อนหน้านี้ก็กลับมาเกี่ยวตรงนี้อีกครับ การส่งอีเมลมี response เป็นเพียงสตริง “สำเร็จ” จึงเปรียบเทียบ ID ไม่ได้ แม้จะใส่ idempotency key ก็ไม่มีทางยืนยันจาก trace เพียงอย่างเดียวได้ว่ามันทำงานจริงหรือไม่ หากออกแบบเครื่องมือภายใน แค่ให้ผลลัพธ์การส่งคืน message ID ก็จะตรวจสอบได้ใน audit log และน่าจะเข้ากันได้ดีกับวิธี hash chain ที่คุณพูดถึงด้วยครับ
ขอย้ำข้อจำกัดอีกครั้งว่า ตัวเลขข้างต้นทั้งหมดมาจาก benchmark trace จึงไม่ทราบว่าในสภาพแวดล้อม production จริงจะมีสัดส่วนแบบเดียวกันหรือไม่ ถ้ามีโอกาสได้ลองรัน trace ผมก็อยากรู้เหมือนกันว่าผลลัพธ์จะแตกต่างไปอย่างไร
เหมือนเป็นตะกร้าใส่ภาพหน้าจอเลยนะครับ
มี numba ที่ใช้แนวทาง JIT compilation ซึ่งเป็นไอเดียคล้ายกัน แต่ตัวนี้ให้ความรู้สึกว่าครอบคลุมได้มากกว่า
ถ้าแค่ปล่อยอะไรอย่าง gps oss 120b ออกมา ก็น่าจะดูพอมีน้ำหนักอยู่บ้าง แต่ก็ไม่แน่ใจเหมือนกันครับ
ดังนั้นทางที่ดีที่สุดคือการนำ LLM แบบปิดออกสู่ตลาดให้มีราคาถูกที่สุดเท่าที่จะทำได้ หากการเข้าถึงปัญญาประสิทธิภาพสูงเพิ่มขึ้น แรงจูงใจในการพัฒนาโมเดลแบบ open-weight ก็จะลดลงไปเอง และองค์กรทั่วไปก็ยังสามารถเป็นผู้นำทางเทคโนโลยีได้ แต่เอาเข้าจริง Anthropic กลับเป็นผู้ให้บริการที่กีดกันมากที่สุดในตลาดไม่ใช่หรือ?