1 คะแนน โดย GN⁺ 3 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Claude Code 2.1.198 เปิดใช้ ฟีเจอร์ดำเนินการต่ออัตโนมัติ เป็นค่าเริ่มต้น โดยหาก AskUserQuestion ไม่มีคำตอบเป็นเวลา 60 วินาที โมเดลจะตัดสินใจเองและทำงานต่อ แต่ตอนเปิดตัวไม่ได้บันทึกไว้ใน changelog หรือเอกสาร
  • แม้จะไม่ได้อนุมัติคำขอสิทธิ์โดยอัตโนมัติ แต่ในสภาพแวดล้อมที่ใช้เครื่องมือที่อนุญาตไว้แล้วหรือ --dangerously-skip-permissions ก็อาจผ่าน ด่านตัดสินใจ เช่น “staging หรือ production” แทนผู้ใช้ได้ และหากป้อนคำตอบเพียงบางส่วน โมเดลก็จะเลือกส่วนที่เหลือเอง
  • 2.1.200 ที่ออกมาหลังมีการตั้งประเด็นประมาณสองวัน ไม่ได้ลบฟีเจอร์ออก แต่เพียงปิดค่าเริ่มต้น และเปลี่ยนเป็น แบบ opt-in ให้เลือกหนึ่งใน 60s, 5m, 10m, never จาก /config
  • แม้ repository สาธารณะจะไม่มีซอร์สจริงของผลิตภัณฑ์หรือ commit ที่นำฟีเจอร์เข้า/ย้อนกลับ แต่จากการเปรียบเทียบ JavaScript bundle ที่อยู่ในไฟล์รันไทม์ Bun บน npm ยืนยันได้ว่าใน 2.1.198 มีการเพิ่มสตริง AFK, schema และ event ด้าน analytics เข้ามาพร้อมกัน
  • เมื่อการอัปเดตอัตโนมัติเป็นค่าเริ่มต้นมารวมกับบันทึกการเปลี่ยนแปลงที่ไม่สมบูรณ์ สมมติฐานด้านความปลอดภัยอาจเปลี่ยนไปโดยไม่ต้องมีผู้ใช้เข้ามาเกี่ยวข้อง หากต้องการตรึง CLI ไว้แต่ยังอัปเดตปลั๊กอิน ต้องตั้งค่า DISABLE_AUTOUPDATER=1 และ FORCE_AUTOUPDATE_PLUGINS=1 ร่วมกัน

2.1.198 ที่ตัดสินใจแทนคนหลัง 60 วินาที

  • Claude Code 2.1.198 ซึ่งออกเมื่อ 1 กรกฎาคม 2026 จะปลดการบล็อกเมื่อ AskUserQuestion รอคำตอบจากคนครบ 60 วินาที แล้วสั่งให้โมเดลตัดสินใจตามบริบทให้ดีที่สุดและทำงานต่อ
    • ในเอาต์พุตจะแสดง No response after 60s — continued without an answer
    • มีข้อความบอกว่าสามารถถามใหม่ได้ แต่การถามซ้ำก็ยังใช้ timeout เดิม
  • หากผู้ใช้ตอบคำถามเพียงบางส่วนแล้วลุกออกไป ระบบจะไม่ทิ้งอินพุต แต่จะ ส่งคำตอบบางส่วน นั้นไป
    • หากในสามคำถามตอบเฉพาะข้อแรก งานจะดำเนินต่อด้วยคำตอบนั้นและคำตอบที่โมเดลเลือกให้ในข้อที่เหลือ
    • ข้อความบนหน้าจอจะเลือกแสดง continued with the answers selected so far หรือ continued without an answer ตามว่ามีคำตอบหรือไม่
  • ไม่ใช่ว่าบนหน้าจอไม่มี countdown เลย
    • เมื่อกดปุ่ม ตัวจับเวลาจะเริ่มใหม่ และมีข้อความเช่น auto-continue in 12s · any key to stay ปรากฏ
    • แต่ค่าเริ่มต้นของ CLAUDE_AFK_COUNTDOWN_MS คือ 20 วินาที ทำให้ช่วง 40 วินาทีแรกดูเหมือนคำถามบล็อกตามปกติ และคำเตือนจะแสดงเฉพาะ 20 วินาทีสุดท้าย
    • ผู้ใช้ที่รันหลาย agent ในแท็บต่างกัน หรือไม่อยู่หน้าจอ อาจไม่เห็นคำเตือนได้

ขอบเขตการใช้งานและข้อจำกัดของ safety gate

  • timeout ใช้กับ AskUserQuestion เท่านั้น และไม่ได้เชื่อมกับ permission prompt เช่น การอนุมัติแผนหรือ Do you want to allow …
    • ในไฟล์รันไทม์ ส่วนประกอบ countdown และ timer hook เชื่อมอยู่กับกล่องโต้ตอบคำถามเท่านั้น
    • tool reference ก็ระบุว่า permission prompt จะไม่ถูก resolve อัตโนมัติเมื่ออยู่ในสถานะ idle
  • ในรูปแบบการรันที่ permission prompt ไม่ปรากฏตั้งแต่แรก การแยกส่วนนี้จึงไม่เป็นกลไกป้องกัน
    • สามารถใช้ bypassPermissions, acceptEdits, allowedTools, --dangerously-skip-permissions, hook PreToolUse ได้
    • หากคำสั่ง deploy อยู่ใน allowlist หรือมีการ bypass การตรวจสอบสิทธิ์ ตัวเลือกใน AskUserQuestion เช่น “staging หรือ production?”, “config ไหน?” อาจเป็น gate สุดท้ายที่เหลืออยู่
  • แม้ timer จะไม่ได้มอบสิทธิ์ แต่สามารถปล่อยให้โมเดลรับผิดชอบ การเลือกเอง สำหรับงานที่มีสิทธิ์อยู่แล้วได้
  • ใน tool schema ไม่มีอินพุต timeout และโมเดลก็ไม่สามารถตั้งค่าหรือควบคุมได้
    • input parameter มีเพียง questions, answers, annotations, metadata
    • ผู้ที่ข้ามคำตอบไม่ใช่โมเดล แต่เป็น agent harness ที่คืน response โดยอัตโนมัติ

ไทม์ไลน์การเปิดตัวและการย้อนกลับ

  • บันทึกสาธารณะที่ตรวจสอบได้เรียงตามลำดับดังนี้
    • 2026-06-29: ออก 2.1.196 ซึ่งผู้รายงานคาดว่าเป็นเวอร์ชันสุดท้ายที่ปกติ
    • 2026-06-30: ออก 2.1.197 โดย changelog มีเพียงบรรทัดเดียวเรื่องการเปิดตัว Sonnet 5
    • 2026-07-01: ออก 2.1.198 ที่มีการดำเนินการต่ออัตโนมัติ
    • 2026-07-02 02:54 UTC: Aleksey Nogin เปิด issue #73125
    • 2026-07-02 03:45 UTC: มีการแชร์ CLAUDE_AFK_TIMEOUT_MS ซึ่งเป็นทางออกที่ไม่เปิดเผยในคอมเมนต์
    • 2026-07-02: ออก 2.1.199 ระหว่างที่ issue ยังเปิดอยู่ พร้อมรายการ 24 รายการ แต่ยังไม่กล่าวถึงการดำเนินการต่ออัตโนมัติ
    • 2026-07-03: ย้อนค่าเริ่มต้นใน 2.1.200
    • 2026-07-04 18:04 UTC: ปิด issue
  • issue นี้มี 384 👍 และ 143 คอมเมนต์ โดยสภาพแวดล้อมที่รายงานคือ 2.1.198, Opus, AWS Bedrock, VS Code terminal
  • ใช้เวลาประมาณ สองวัน ตั้งแต่การรายงานปัญหาจนถึงการเปลี่ยนค่าเริ่มต้น

วิธีที่ 2.1.200 แก้ไข

  • 2.1.200 ไม่ได้ลบฟีเจอร์ แต่ ปิดใช้งานการดำเนินการต่ออัตโนมัติเป็นค่าเริ่มต้น และเปลี่ยนให้ opt-in ผ่าน /config
  • ก่อนแก้ไข ใน 2.1.198 ไม่มีการตั้งค่า askUserQuestionTimeout ใน /config และหากต้องการหลีกเลี่ยงผลกระทบต้องใช้ environment variable ที่ไม่ปรากฏในเอกสารเปิดตัว
  • ใน 2.1.211 การ implement ทั้งหมดยังคงอยู่
    • ชื่อรายการใน /config คือ Question auto-continue timeout
    • ค่าที่อนุญาตคือ 60s, 5m, 10m, never
    • หากไม่ได้ตั้งค่า จะถือเป็น never และฟีเจอร์จะปิดอยู่
    • timeout ภายในยังคงเป็น 60,000ms และเกณฑ์ countdown คือ 20,000ms
    • CLAUDE_AFK_TIMEOUT_MS และ CLAUDE_AFK_COUNTDOWN_MS สามารถ override ค่าที่ตั้งไว้ได้
  • การแก้ไขไม่ได้ลบ timer แต่เป็นการ เพิ่มเงื่อนไข gate หนึ่งข้อ ให้เปิดใช้งานเฉพาะเมื่อมีค่าตั้งหรือ environment variable เท่านั้น
  • ผู้ใช้ที่ตรึงอยู่กับเวอร์ชันที่ได้รับผลกระทบ สามารถใส่ค่าที่ใหญ่มากใน CLAUDE_AFK_TIMEOUT_MS ใน settings.json เพื่อหลีกเลี่ยงชั่วคราวได้

การนำฟีเจอร์ที่หายไปจากบันทึกการเปลี่ยนแปลงเข้ามา

  • โน้ตการเผยแพร่ถูกโพสต์ด้วยเนื้อหาเดียวกันทั้งใน บันทึกการเปลี่ยนแปลงอย่างเป็นทางการ และ CHANGELOG.md ของรีโพซิทอรี
  • เมื่อดูบันทึกในเวลานั้นโดยอิงจากคอมมิตที่ตรึงไว้ การเพิ่มการดำเนินการต่ออัตโนมัติไม่ปรากฏในเวอร์ชันใดเลย
    • 2.1.197: มีเพียงหนึ่งบรรทัดเรื่องการเปิดตัว Sonnet 5
    • 2.1.198: มีประมาณ 30 รายการ แต่ไม่มีการดำเนินการต่ออัตโนมัติ
    • 2.1.199: ไม่มีอยู่ใน 24 รายการที่โพสต์หลังมีการเปิด issue เช่นกัน
  • AskUserQuestion เป็นเครื่องมือที่ตามปกติถูกบันทึกไว้ในบันทึกการเปลี่ยนแปลง โดยปรากฏรวม 15 ครั้งใน 13 เวอร์ชันหลัง 2.0.55
    • แต่ในช่วงที่มีการเปลี่ยนแปลงเข้ามา ตั้งแต่ 2.1.181 จนก่อน 2.1.200 ไม่ปรากฏเลยแม้แต่ครั้งเดียว
    • จากการเปลี่ยนพฤติกรรมสองครั้งคือเปิดและปิด มีการบันทึกไว้เฉพาะตอนปิดเท่านั้น
  • รายการเดียวที่บันทึกการดำเนินการต่ออัตโนมัติเป็นครั้งแรกคือข้อความใน 2.1.200 ที่ระบุว่า “โดยค่าเริ่มต้นจะไม่ดำเนินการต่ออัตโนมัติอีกต่อไป และให้ opt-in ผ่าน /config
  • CLAUDE_AFK_TIMEOUT_MS ไม่ปรากฏทั้งในบันทึกการเปลี่ยนแปลงและ README

เอกสารที่เพิ่มหลังย้อนพฤติกรรมกลับ

  • ปัจจุบัน เอกสารอ้างอิงตัวแปรสภาพแวดล้อม บันทึกตัวแปรสภาพแวดล้อม AFK สองตัว และระบุชัดว่าใน 2.1.198 และ 2.1.199 การดำเนินการต่ออัตโนมัติหลัง 60 วินาทีถูกเปิดใช้เป็นค่าเริ่มต้น
  • เอกสารนี้ไม่อาจเป็นเอกสารที่สะท้อนสถานะในวันเปิดตัวได้
    • askUserQuestionTimeout ที่ข้อความปัจจุบันแนะนำไม่มีอยู่ในไฟล์ปฏิบัติการ 2.1.198
    • ในภาพเก็บถาวรของ Wayback Machine วันที่ 23 มิถุนายน และวันที่ 1 กรกฎาคม เวลา 12:11·21:35 UTC พบ CLAUDE_AFK และ AskUserQuestion อย่างละ 0 ครั้ง
    • รายการเปรียบเทียบอย่าง DISABLE_AUTOUPDATER พบ 2 ครั้งในทุกภาพเก็บถาวร จึงไม่ใช่การตกหล่นจากการเก็บหน้าเว็บไม่สำเร็จ
  • 2.1.198 ถูกโพสต์ขึ้น npm เวลา 16:50:16 UTC วันที่ 1 กรกฎาคม แต่ในเอกสาร หลังจากนั้น 4 ชั่วโมง 45 นาที ก็ยังไม่มี AFK, การดำเนินการต่ออัตโนมัติ, เครื่องมือถามคำถาม หรือการนับถอยหลัง
  • ข้อความที่เกี่ยวข้องถูกเพิ่มระหว่างวันที่ 1 กรกฎาคม เวลา 21:35 ถึงวันที่ 5 กรกฎาคม เวลา 13:58 และช่วงนี้รวมการย้อนกลับใน 2.1.200 ด้วย
  • เอกสารใหม่บันทึกเฉพาะสถานะหลังแก้ไขที่ “ปิดเป็นค่าเริ่มต้น” แล้ว จึงไม่เคยมีช่วงเวลาที่พฤติกรรมค่าเริ่มต้นจริงของวันที่ 1–2 กรกฎาคมถูกจัดทำเป็นเอกสาร

ซอร์สผลิตภัณฑ์และคอมมิตที่ไม่มีในรีโพซิทอรีสาธารณะ

  • ไม่มีทั้งคอมมิตสาธารณะที่นำฟีเจอร์เข้ามาและคอมมิตสาธารณะที่ย้อนกลับ
  • ในประวัติ Git สาธารณะเหลือเพียงคอมมิตอัตโนมัติสองรายการที่อัปเดตเฉพาะบันทึกการเปลี่ยนแปลงและ feed.xml
    • 75709ea: โพสต์โน้ตการเผยแพร่ 2.1.198
    • 1322e9b: โพสต์โน้ตการเผยแพร่ 2.1.200
  • รีโพซิทอรี anthropics/claude-code มีไฟล์ที่ติดตาม 216 ไฟล์ โดย 104 ไฟล์เป็น Markdown และไม่มีซอร์สของผลิตภัณฑ์ที่แจกจ่ายจริง
    • ไฟล์ที่รันได้เป็นตัวอย่างหรือสคริปต์อัตโนมัติสำหรับติดตาม issue
    • plugins/ และ examples/ ก็มีปลั๊กอินตัวอย่าง, การตั้งค่า Terraform สำหรับเกตเวย์ GCP, โปรไฟล์ MDM เป็นต้น
  • ความแตกต่างระหว่างแท็ก 2.1.197 กับ 2.1.198 มีเพียง CHANGELOG.md และ feed.xml ที่ทำซ้ำเนื้อหานั้นเป็น RSS
    • การเผยแพร่ต่อเนื่องสิบครั้งตั้งแต่ 2.1.196 ถึง 2.1.206 ก็เปลี่ยนแค่สองไฟล์เดียวกันนี้
    • แท็กจึงไม่ใช่ซอร์สรีลีส แต่แทบจะเป็น แท็กโน้ตการเผยแพร่
  • ไม่สามารถตรวจสอบพฤติกรรมที่แจกจ่ายจริงได้จากบันทึกการเปลี่ยนแปลงหรือการเปรียบเทียบรีโพซิทอรี·แท็ก และซอร์สที่เขียนไว้ไม่ได้ถูกเผยแพร่สู่สาธารณะ แต่แจกจ่ายเฉพาะเป็นไฟล์ปฏิบัติการที่คอมไพล์แล้ว

ร่องรอยของการออกแบบและการวัดผลอย่างตั้งใจ

  • ไม่มีเอกสารออกแบบอย่างเป็นทางการ, PR หรือข้อความในบันทึกการเปลี่ยนแปลงที่ใช้ยืนยันเหตุผลของการนำฟีเจอร์นี้เข้ามา
  • ชื่อและข้อความเป็น หลักฐานแวดล้อม ที่ชี้ว่ามุ่งแก้สถานการณ์ที่เอเจนต์แบบขนานถูกบล็อกไม่มีกำหนดเพราะผู้ใช้ไม่อยู่
    • ชื่อภายใน AFK หมายถึง away from keyboard
    • ข้อความตั้งสมมติฐานว่า “ผู้ใช้อาจอยู่ห่างจากคีย์บอร์ด”
    • ผู้ร่วมสนทนาใน issue ระบุว่าพวกเขาใช้เวิร์กโฟลว์ที่มีเอเจนต์หลายสิบตัวรอคำตอบจากคนเป็นเวลาหลายวัน
  • ใน 2.1.198 มีการเพิ่มฟิลด์ afkTimeoutMs ซึ่งบ่งชี้ว่าถูกแก้ไขอัตโนมัติหรือไม่ เข้าไปในสคีมาผลลัพธ์ของเครื่องมือ
    • ไม่มีในเส้นทางที่คนตอบ และจะบันทึกเวลาว่างเมื่อมีการแก้ไขอัตโนมัติ
    • ใช้เพื่อแจ้งโมเดลว่าเป็นคำตอบที่ถูกแก้ไขอัตโนมัติ และใช้เลือกองค์ประกอบเอาต์พุตในเทอร์มินัล
  • ในเวอร์ชันเดียวกันยังเพิ่ม อีเวนต์วิเคราะห์ tengu_ask_user_question_afk_auto_advance ด้วย
    • ส่ง timeoutMs, จำนวนคำถาม, สถานะว่าอยู่ในโหมดวางแผนหรือไม่ และมีคำตอบบางส่วนหรือไม่
    • ไม่ส่งข้อความคำถามต้นฉบับ แต่ใช้ source_hash และตัวนับ
  • เนื่องจาก hadPartialAnswers ถูกวัดแยกต่างหาก เส้นทางคำตอบบางส่วนจึงมีโค้ดและการวัดผลเป็นของตัวเองด้วย
  • พฤติกรรม, UI นับถอยหลัง, ฟิลด์สคีมา และอีเวนต์วิเคราะห์เข้ามาพร้อมกันในเวอร์ชันเดียว จึงไม่ใช่บรรทัดเดียวที่เกิดขึ้นโดยบังเอิญ แต่เป็นฟีเจอร์ที่มีระบบวัดผลประกอบ
  • หลักฐานเท่านี้ไม่สามารถบอกได้ว่าใครเป็นผู้เขียน·ตรวจทาน·อนุมัติ·merge หรือมีมนุษย์เข้ามาเกี่ยวข้องในขั้นตอนไหน

ไฟล์ปฏิบัติการ Bun ที่เป็นซอร์สปิดแต่ยังอ่านได้

  • Claude Code ที่ติดตั้งเป็น ไฟล์ปฏิบัติการเนทีฟขนาดประมาณ 250MB ที่ไม่ได้ตัดสัญลักษณ์ออก
  • รูปแบบไฟล์ปฏิบัติการเดี่ยวของ Bun จะต่อกราฟโมดูลไว้หลัง runtime และในไฟล์ปฏิบัติการของ Claude Code ก็พบเครื่องหมาย ---- Bun! ---- ได้
  • เนื่องจาก Bun ฝังบันเดิล JavaScript ไว้ภายในไฟล์ปฏิบัติการ จึงสามารถใช้ strings อ่านชื่อการตั้งค่า, ข้อความ, อีเวนต์วิเคราะห์ ฯลฯ ได้
  • ไดเรกทอรีติดตั้งในเครื่องเก็บไว้เฉพาะบางเวอร์ชันล่าสุด แต่ใน npm ยังมีไฟล์ปฏิบัติการแยกตามแพลตฟอร์มของแต่ละเวอร์ชันอยู่
    • @anthropic-ai/claude-code เป็นสตับสำหรับติดตั้งขนาดประมาณ 152KB
    • แพ็กเกจ 2.1.198 สำหรับ Linux x64 จริงมีขนาดประมาณ 249MB
  • แม้ไม่มีซอร์สสาธารณะ แต่สามารถดาวน์โหลดอาร์ติแฟกต์ของแต่ละรีลีสเพื่อตรวจสอบพฤติกรรมที่แจกจ่ายได้ จึงไม่ใช่กล่องดำโดยสมบูรณ์

เปรียบเทียบไฟล์ปฏิบัติการ 2.1.197 กับ 2.1.198

  • เมื่อค้นหาสตริงที่เกี่ยวข้องกับ AFK ในไฟล์ปฏิบัติการทั้งสอง จะเห็นเส้นแบ่งชัดเจน
    • 2.1.197: away from keyboard, CLAUDE_AFK_TIMEOUT_MS, CLAUDE_AFK_COUNTDOWN_MS ทั้งหมดปรากฏ 0 ครั้ง
    • 2.1.198: ปรากฏอย่างละ 2 ครั้ง, 3 ครั้ง, 3 ครั้งตามลำดับ
  • หลังการแก้ไข gate ของตัวจับเวลาใน 2.1.211 ถูกเพิ่มเงื่อนไขว่าต้องมีค่า /config หรือตัวแปรสภาพแวดล้อมอยู่
    • ใน 2.1.198 ก็มี gate ที่ตรวจสอบสิ่งต่าง ๆ เช่น มีการรันคู่แข่งภายนอกอยู่หรือไม่อยู่แล้ว
    • แต่ไม่มีเงื่อนไขที่ผู้ใช้สามารถปิดได้ และการแก้ไขก็เป็นรูปแบบที่เพิ่มเงื่อนไข && เข้าไปอีกหนึ่งเงื่อนไขตรงนี้
  • การเปรียบเทียบรีลีสทั่วไปโดยไม่รู้ชื่อฟีเจอร์และเวอร์ชันที่เกิดปัญหานั้นยากกว่ามาก
    • หากเทียบแบบง่าย ๆ ด้วย strings -n 8 จะมี 21,903 สตริง ที่ต่างกัน
    • จำนวนอาจเปลี่ยนเป็น 81,289 หรือ 29,910 ตามความยาวสตริงขั้นต่ำ ดังนั้น 21,903 จึงไม่ใช่คุณลักษณะคงที่ของรีลีส
    • ในแต่ละบิลด์ minifier จะเปลี่ยนชื่อ identifier ทำให้ส่วนใหญ่เป็น noise ไม่ใช่การเปลี่ยนแปลงฟีเจอร์จริง
  • หากกรองเฉพาะประโยคภาษาอังกฤษที่เพิ่มเข้ามาซึ่งขึ้นต้นด้วยตัวพิมพ์ใหญ่ เป็นรูปประโยคทั่วไป และมีอย่างน้อย 5 คำ จะลดเหลือ 156 บรรทัด
    • ภายในนั้นมี Before going idle the user had selected: รวมอยู่ด้วย
    • เนื่องจากเป็นสตริงที่กล่องโต้ตอบแทรกเข้าไปในบทสนทนาเมื่อตอบแทนมนุษย์ ต่อให้อ่านโดยไม่มีข้อมูลล่วงหน้าก็เป็นการเปลี่ยนแปลงที่ควรหยุดตรวจสอบ
  • แม้จะค้นพบได้ภายในราว 5 นาทีด้วย curl, strings, diff แต่วิธีให้ผู้ใช้ตรวจไฟล์ปฏิบัติการของทุกรีลีสที่อัปเดตอัตโนมัติไม่สามารถทดแทน changelog ได้

ปัญหาด้านความปลอดภัยที่ใหญ่กว่าค่าใช้จ่าย

  • หากเลือกเส้นทางผิดโดยอัตโนมัติ ก็อาจใช้โทเค็นโดยไม่จำเป็น
  • ปัญหาที่ใหญ่กว่าคือ hook และกฎที่ตั้งสมมติฐานว่า AskUserQuestion เป็น safety gate แบบบล็อก จะกลายเป็นการนับถอยหลัง 60 วินาที
  • Claude Code ถูกใช้งานแม้ในสภาพแวดล้อมที่มีความเสี่ยง เช่น deployment, infrastructure และสคริปต์ที่อยู่ใกล้ production
  • เนื่องจาก Claude Code อัปเดตอัตโนมัติโดยค่าเริ่มต้น เมื่อรวมกับการเปลี่ยนพฤติกรรมแบบเงียบ ๆ สมมติฐานด้านความปลอดภัยเดิมอาจเปลี่ยนไปได้โดยที่ผู้ใช้ไม่ต้องทำอะไรเลย
  • ประเด็นว่านโยบายที่รับเวอร์ชันล่าสุดทันทีอาจเป็นทางเลือกที่มีความเสี่ยงเองนั้นเชื่อมโยงกับ On Cooldowns and Dependabot Tuning

วิธีปิดการอัปเดตอัตโนมัติและลำดับความสำคัญ

  • การพิจารณาว่าปิดการอัปเดตหรือไม่จะตรวจตัวแปรสภาพแวดล้อมต่อไปนี้ตามลำดับ และใช้ค่าที่ตรงกันค่าแรก
    • DISABLE_UPDATES=1: บล็อกทุกเส้นทางการอัปเดต รวมถึง claude update แบบสั่งเอง
    • DISABLE_AUTOUPDATER=1: หยุดเฉพาะการตรวจสอบเบื้องหลัง อนุญาตให้อัปเดตด้วยตนเอง และมีลำดับความสำคัญเหนือการตั้งค่า autoUpdates
    • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1: หยุดการอัปเดตอัตโนมัติ คำสั่ง feedback การรายงานข้อผิดพลาด และ telemetry พร้อมกัน
  • หากใส่ไว้ในบล็อก env ของ ~/.claude/settings.json แทน shell profile จะสามารถมีผลกับทุกเซสชัน รวมถึง CI, cron, systemd และเทอร์มินัลของ IDE
{
  "env": {
    "DISABLE_AUTOUPDATER": "1"
  }
}
  • ขอบเขตการตั้งค่ามีพลังมากขึ้นตามลำดับคือ shell profile, ~/.claude/settings.json รายผู้ใช้, .claude/settings.json ราย repository, และ managed-settings.json สำหรับการจัดการจากศูนย์กลาง
  • เส้นทางของ managed-settings.json มีดังนี้
    • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
    • Linux/WSL: /etc/claude-code/managed-settings.json
    • Windows: C:\Program Files\ClaudeCode\managed-settings.json
    • เส้นทางเดิม C:\ProgramData\ClaudeCode จะไม่ถูกอ่านอีกต่อไป
  • ไม่มี CLI flag สำหรับปิดการอัปเดตอัตโนมัติ และ /doctor จะแสดงชนิดการติดตั้งกับช่องทางอัปเดต

หากปิดการอัปเดต CLI ปลั๊กอินก็หยุดด้วย

  • หากปิดตัวอัปเดตอัตโนมัติไม่ว่าด้วยวิธีใด เช่น ตัวแปรสภาพแวดล้อมหรือ autoUpdates: false การอัปเดตปลั๊กอินอัตโนมัติก็จะหยุดด้วย
  • เอกสารสำรวจปลั๊กอิน ระบุว่าเมื่อตั้ง DISABLE_AUTOUPDATER พร้อมกับ FORCE_AUTOUPDATE_PLUGINS=1 จะสามารถตรึง CLI ไว้และยังให้ปลั๊กอินอัปเดตต่อได้
  • ในทางกลับกัน /setup documentation ที่อธิบายการปิดอัปเดตอัตโนมัติจริง ๆ และตารางตัวแปรสภาพแวดล้อมสำหรับการตั้งค่า กลับไม่มีผลกระทบต่อปลั๊กอินและ FORCE_AUTOUPDATE_PLUGINS
  • ในไฟล์ปฏิบัติการ เส้นทางที่ทำให้การอัปเดตปลั๊กอินหยุดมีสี่แบบ
    • DISABLE_UPDATES
    • DISABLE_AUTOUPDATER
    • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
    • autoUpdates: false
  • ระหว่างรันจะเหลือเพียง debug log Plugin autoupdate: skipped (auto-updater disabled) แทนที่จะมีคำเตือนว่าปลั๊กอินหยุดอยู่
  • การตั้งค่าที่ตรึง CLI แต่คงการอัปเดตปลั๊กอินไว้มีดังนี้
{
  "env": {
    "DISABLE_AUTOUPDATER": "1",
    "FORCE_AUTOUPDATE_PLUGINS": "1"
  }
}
  • FORCE_AUTOUPDATE_PLUGINS, DISABLE_AUTOUPDATER, DISABLE_UPDATES ตีความ 1, true, yes, on เป็นจริงโดยไม่สนตัวพิมพ์เล็กใหญ่ และถือว่า 0 เป็นเท็จ
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC ตรวจเฉพาะการมีอยู่ ไม่ใช่ค่า ดังนั้นแม้ =0 ก็เปิดใช้งาน และในกรณีนี้ทั้งตัวอัปเดตอัตโนมัติและการอัปเดตปลั๊กอินจะหยุด

กับดักเพิ่มเติมของการตั้งค่าอัปเดต

  • แม้ใช้ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC เพื่อวัตถุประสงค์ด้านความเป็นส่วนตัวหรือจำกัดการสื่อสารภายนอก CLI และปลั๊กอินก็จะถูกตรึงไปด้วยกัน
  • autoUpdates: false ที่ไม่มีในเอกสารอาจ ถูกละเว้นได้ หาก autoUpdatesProtectedForNative เปิดใช้งานในการติดตั้งแบบ native
    • ตัวแปรสภาพแวดล้อมจะถูกตรวจสอบก่อนการตั้งค่านี้และมีผลโดยไม่มีเงื่อนไข
  • 2.1.98 แก้ปัญหาในการติดตั้งผ่าน npm ที่ DISABLE_AUTOUPDATER ไม่สามารถบล็อกการตรวจสอบเวอร์ชัน registry และการแก้ไข symbolic link ได้อย่างสมบูรณ์
  • ปัญหาที่ตัวอัปเดตอัตโนมัติเขียนทับ launcher แบบกำหนดเองหรือ symbolic link ของผู้ใช้ที่ ~/.local/bin/claude ทุกรีลีสก็ได้รับการแก้ไขแล้ว และปัจจุบัน /doctor จะแสดง launcher ที่จัดการจากภายนอก
  • การติดตั้งแบบ native และ npm จะอัปเดตตัวเองโดยค่าเริ่มต้น
    • Homebrew, WinGet, apt, dnf, apk ไม่ใช่เป้าหมายการอัปเดตตัวเองโดยค่าเริ่มต้น
    • Homebrew และ WinGet สามารถ opt in ได้ด้วย CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1

ปัญหาความเชื่อมั่นที่เหลืออยู่ในกระบวนการเผยแพร่

  • หากมนุษย์กำกับดูแลเอเจนต์หลายตัวพร้อมกัน ก็ยากที่จะตรวจทุกคำถามภายใน 60 วินาที และไม่อาจรู้ล่วงหน้าว่าหลังเลือกผิดจะใช้โทเค็นหรืองานไปมากเพียงใด
  • ไม่สามารถตรวจสอบจากบันทึกสาธารณะได้ว่า Anthropic ใช้บุคคลและกระบวนการใดในขั้นตอนการเขียน ตรวจทาน อนุมัติ merge จัดทำเอกสาร และเปรียบเทียบรีลีสของฟีเจอร์นี้
  • ฟีเจอร์ถูกแก้เป็นรูปแบบ opt-in ที่เหมาะสมภายในประมาณสองวัน แต่เหตุการณ์นี้เผยให้เห็นว่าด้วยรอบการออกรีลีสรายวันและการอัปเดตอัตโนมัติโดยค่าเริ่มต้น ฟีเจอร์ที่ไม่คาดคิดสามารถถูกเผยแพร่โดยไม่มี changelog ได้
  • การวิเคราะห์ไฟล์ปฏิบัติการเป็นทางอ้อมที่ใช้ได้ในการตรวจสอบสิ่งที่เผยแพร่จริง แต่ไม่สามารถทดแทน changelog ที่ถูกต้องและผ่านการเรียบเรียงอย่างดี ได้
  • ไม่มีหลักฐานให้สันนิษฐานว่ามีเจตนาร้าย และการที่เหตุการณ์ประเภทเดียวกันจะเกิดซ้ำหรือไม่จะเป็นฐานในการตัดสินว่าอะไรได้รับการปรับปรุงในกระบวนการเผยแพร่นี้

1 ความคิดเห็น

 
GN⁺ 3 시간 전
ความคิดเห็นจาก Hacker News
  • ผมคือ Thariq จากทีม Claude Code ผู้สร้าง AskUserQuestion เมื่อโมเดลทรงพลังขึ้น เราได้รับฟีดแบ็กว่างานที่ใช้เวลานานมักติดค้างตั้งแต่คำถามช่วงต้น จึงปรับเปลี่ยนเพื่อแก้ปัญหานี้ แต่ผลลัพธ์ยังไม่ถึงมาตรฐานคุณภาพที่คาดหวัง และนี่ก็ไม่ใช่วิธีปล่อยฟีเจอร์ตามปกติของ Claude Code
    แม้การประเมินภายในจะออกมาดี ก็ควรเปิดให้ใช้แบบ opt-in ตั้งแต่แรกและบันทึกไว้ใน changelog เราไม่ได้ออกแบบ AskUserQuestion ให้เป็นกลไกป้องกันความปลอดภัย แต่เข้าใจว่าผู้ใช้บางส่วนมองและใช้งานมันแบบนั้น เราจะหาวิธีอื่นในการสร้างสมดุลระหว่างงานระยะยาวกับอินพุตจากผู้ใช้ และเรียนรู้จากการปล่อยครั้งนี้

    • แทนที่จะแก้แบบเฉพาะหน้า ควรมี การตั้งค่าสิทธิ์แบบละเอียด ระหว่างการขออนุมัติทุกครั้งกับการรันอัตโนมัติเต็มรูปแบบที่เสี่ยง ควรกำหนดข้อจำกัดได้ง่าย เช่น “รันไปจนเสร็จ แต่อย่าเข้าดูเว็บ อย่าแตะไฟล์นอก codebase และอย่าลบอะไรเลย”
    • มีหลายครั้งจริง ๆ ที่คาดหวังให้มันรันต่อเนื่องจนจบเป็นเวลาหลายชั่วโมงแล้วเดินออกไป แต่ Claude กลับหยุดค้างอยู่กับคำถามตั้งแต่ช่วงต้น ทำให้เสียเวลาในการพัฒนาไปเปล่า ๆ ในอีกด้านหนึ่ง AskUserQuestion มีประโยชน์มากจนถึงขั้นตั้งใจบอกให้ Claude ใช้มัน เพราะตอบได้สะดวกกว่าคำถามข้อความธรรมดา และก็ขอบคุณที่ยอมรับความผิดพลาดและแสดงความรับผิดชอบ
    • ApprovIQ พึ่งพา Claude Code เป็นหัวใจสำคัญของการปล่อยผลิตภัณฑ์ แต่รู้สึกถึง ความไม่สมมาตร ว่าสำหรับ Anthropic เครื่องมือนี้ดูไม่ได้สำคัญเท่ากับที่มันสำคัญต่อผู้ใช้ นี่เป็นผลิตภัณฑ์ที่ส่งผลต่ออาชีพของผู้คนจำนวนมาก แต่ถ้าเน้นเพียงความรับผิดชอบส่วนบุคคลว่า “เป็นการเปลี่ยนแปลงของผมเอง” ก็ยิ่งทำให้ความเชื่อมั่นลดลง
      บริษัทระดับ Anthropic ควรยอมรับและแก้ไขความล้มเหลวของ PR และกระบวนการองค์กรที่ปล่อยให้มีการเผยแพร่แบบนี้ ไม่ใช่โยนเป็นเรื่องของบุคคล
    • วิธีที่บริษัทแนวหน้ามูลค่าหลายพันล้านดอลลาร์ออกมาขอโทษต่อสาธารณะว่า “เป็นการเปลี่ยนแปลงของผมเอง” หรือ “ไม่ถึงมาตรฐานของเรา” นั้นดูมีความเป็นมนุษย์ แต่ไม่ค่อยเป็นกลยุทธ์ และอาจทำให้บริษัทดูอ่อนแอ เมื่อเทียบกับยุครุ่งเรืองของ Apple หรือ Google ก็น่าจะเสียภาพลักษณ์ด้านความเป็นเลิศทางเทคนิคด้วย และ การยอมรับความรับผิดชอบต่อสาธารณะ ว่าควรทำเมื่อไร ที่ไหน และอย่างไรก็สำคัญเช่นกัน
      สงสัยว่านี่คือกระแสใหม่ในยุคอินเทอร์เน็ต หรือเป็นวัฒนธรรมของบริษัทเทคโนโลยีที่กำลังเปลี่ยนไป
    • ในเมื่อการรักษาสมดุลระหว่างความเร็วในการพัฒนาทำได้ยาก ก็น่าจะมี หลาย release channel แบบ Chrome จะดีกว่า เช่น stable ที่อัปเดตไม่บ่อย, beta ที่ใส่ฟีเจอร์แบบนี้ก่อน และถ้าจำเป็นก็มี canary ด้วย เพื่อให้แต่ละคนเลือกได้ตามระดับความเสี่ยงที่ยอมรับได้
  • สิ่งที่น่าหงุดหงิดเป็นพิเศษคือข้อความว่า “ไม่ใช่ทุกฟีเจอร์จะปรากฏใน changelog เสมอไป” และการที่ Anthropic ไม่อธิบายว่าทำไมจึงไม่ดูแล changelog ให้เป็นประวัติที่ครบถ้วนอีกต่อไป เราไม่รู้เลยว่าจะมีอะไรถูกปล่อยออกมาแบบเงียบ ๆ อีก(1)
    สิ่งที่ Boris Cherny ทำในการถกเถียงนั้นมีเพียงลบคำว่า “extreme danger” ออกจากชื่อ issue บน GitHub เท่านั้น(2) อย่างน้อยก็ยังดีที่ Anthropic เพิ่มตัวเลือกและปิดไว้เป็นค่าเริ่มต้น แต่ OpenAI ยังยืนยันไม่ให้ปิด timeout 60 วินาที อยู่(3) อย่างไรก็ตาม เครื่องมือรันของ Codex เปิดซอร์สมากกว่า ผู้ใช้จึง fork เองเพื่อเพิ่มตัวเลือกได้

    • ทุกครั้งที่มีโมเดลใหม่ถูกปล่อยออกมา รู้สึกว่าโมเดลก่อนหน้าช้าลงหรือทึ่มลง อาจเป็นเพราะการจัดสรรทรัพยากรหรือ quantization แต่ก็ยากจะมั่นใจ และต้องเรียนรู้ workflow เฉพาะแต่ละโมเดล แล้วคอยปรับใหม่ทุกครั้งที่เกิดปัญหา ไม่ว่าจะเป็น Opus 4.8 หรือ Sonnet 5
    • ตอนนี้งานเขียนโค้ดถูกแก้ได้แล้ว ดูเหมือนคนที่ยังอยากตัดสินใจเองจะถูกมองเป็นไดโนเสาร์ไปแล้ว
  • ผมคงไม่ไว้ใจเครื่องมือรันที่สร้างโดยบริษัทซึ่งเมื่อการอุดหนุนต้นทุน token จบลงแล้วก็จะเริ่มคิดค่าคอมพิวต์ด้วย ตอนนี้ผลประโยชน์ยังสอดคล้องกัน แต่ทันทีที่ จำนวน token ที่เพิ่มขึ้นเท่ากับกำไรที่เพิ่มขึ้น แรงจูงใจที่บิดเบือนก็จะมากเกินไป
    สุดท้ายเครื่องมือรันแบบโอเพนซอร์สน่าจะเป็นฝ่ายชนะ ดังนั้นบริษัทต่าง ๆ ก็ควรเปิดซอร์สเองจะดีกว่า

    • ถ้าใช้ coding agent แบบโอเพนซอร์ส ค่าสมัคร OpenAI เดือนละ 20 ดอลลาร์ ก็เป็นทางเลือกที่ใช้ได้ แม้มีข้อจำกัดการใช้งาน แต่ราคาก็ไม่แย่
    • การปล่อย การเพิ่ม token แบบแฝง เช่น ปรับการตั้งค่า chain-of-thought (CoT) ใน backend ให้สูงขึ้น ก็น่าจะทำได้ง่ายเช่นกัน
  • เมื่อเร็ว ๆ นี้ผมคลิกเมาส์เพื่อโฟกัสหน้าต่าง terminal แต่ Claude Code กลับตีความว่าเป็นการคลิกตัวเลือก ทำให้ปวดหัวมาก

    • พฤติกรรม copy/paste ก็ถูกเปลี่ยนอย่างกะทันหัน ทำให้การคัดลอกข้อความลำบากมาก ไม่มีใครอยากได้ซอฟต์แวร์ที่อัปเดตทุกวันแล้วพฤติกรรมหลักเปลี่ยนไปเรื่อย ๆ และถ้าบังคับผู้ใช้ให้รับ ฟีเจอร์ที่เทออกมาจาก vibe coding ก็ย่อมเจอแรงต้านแบบนี้
    • terminal ไม่ใช่สภาพแวดล้อมที่คาดหวัง ปุ่มแบบคลิกได้ มันไม่สะดวกอย่างยิ่งและลด productivity
    • ถ้าต้องการแอปที่ใช้เมาส์เป็นหลัก ผมคงใช้ GUI ไปแล้ว ยากจะเข้าใจว่าทำไมต้องพยายามจำลองประสบการณ์นั้นในสภาพแวดล้อมแบบข้อความ
    • มันถามก่อนว่าจะ opt-in ไหมก็จริง แต่ผมเผลอเปิดแล้วใช้งานลำบากมาก ปกติผมคลิกเพื่อโฟกัส terminal ตลอด แต่ตอนนี้มันดันสั่งให้เกิด action จริงไปด้วย
    • UI แบบเต็มหน้าจอ ใหม่แย่มาก วิธีเลื่อนแบบเดิมใช้ไปนาน ๆ ก็รวนเหมือนกัน แต่ยังรีสตาร์ตแล้วทำงานต่อได้
  • วันนี้เจอกับตัวเอง ระหว่างอ่านคำตอบของ agent มีคำถามเด้งขึ้นมา แต่ก่อนจะทันอ่านคำถาม มันก็เลือกอะไรบางอย่างให้อัตโนมัติไปแล้ว ไม่รู้ว่า software engineering หายไปไหนหมด

    • คลิกที่ตั้งใจจะโฟกัสหน้าต่าง terminal อยู่คนละตำแหน่งกับคำถามโดยสิ้นเชิง แต่กลับถูกนับเป็นการอนุมัติ จนต้องปิด TUI mode ผมไม่เคยเปิด auto mode ด้วยซ้ำ แต่มันกลับเปิดใช้งานและกำลังอนุมัติคำสั่ง shell ที่ไม่ต้องการอยู่
      ถึงขั้นเห็นมันเติม flag อนุมัติอัตโนมัติให้ terraform apply ซึ่งอันตรายมาก
  • ไม่เข้าใจว่า Claude Code ดูเหมือนจะตั้งค่า virtual machine ที่ค่อนข้างหนักไว้ในคอมพิวเตอร์ แต่โดยค่าเริ่มต้นกลับแทบไม่ทำ sandbox isolation เลย โมเดลรุ่นใหม่ ๆ แก้ไขคอมพิวเตอร์อย่างก้าวร้าว และแม้ผมขอให้ช่วย debug โค้ด UI ฝั่ง frontend มันก็เริ่มเขียนทับไฟล์ระบบ Linux ที่เข้าถึงได้ด้วยสิทธิ์ผู้ใช้
    พอเอาเข้า sandbox แล้วจึงเห็นว่ามันพยายามออกนอกขอบเขตบ่อยแค่ไหนด้วยเหตุผลเล็ก ๆ น้อย ๆ และยิ่งทำให้มีเหตุผลมากขึ้นที่จะใช้ OpenCode กับ local LLM

    • เครื่องมือรันของ Claude Code มีการตัดสินใจด้านการออกแบบแปลก ๆ หลายอย่าง ในระยะยาว OpenCode อาจเป็นตัวเลือกที่ดีกว่า
  • มีปฏิกิริยาจำนวนมากที่ตีความว่าเป็นเจตนาร้าย แต่ในความเป็นจริงดูเหมือนใกล้เคียงกับการที่ทีมพัฒนาสร้างฟีเจอร์ที่พวกเขาเองอยากใช้มากกว่า สถานการณ์ที่เปิดเซสชัน Claude ทิ้งไว้แล้วกลับมาพบว่ามันติดอยู่กับคำถามเดียวและไม่ได้ทำงานอะไรเลยนั้น น่าหงุดหงิดมากจริง ๆ
    และก็ไม่ควรเชื่อว่าการที่ Claude ถามคำถามคือกลไกเดียวที่จะป้องกันหายนะได้ ต้องกำหนด ขอบเขตความปลอดภัย ไว้ที่สิทธิ์ที่มอบให้จากภายนอก ไม่ใช่การตัดสินใจภายในของ Claude เอง อีกอย่าง ในบทความนี้มีประโยคอย่าง “Which cuts less far than it looks.” อยู่ด้วย แต่ก็ดูไม่น่าเป็นไปได้ที่ Claude จะถามและหยุดเพราะประโยคนี้

    • ร้อยแก้วในบทความนี้เขียนเองโดยตรง ส่วน Claude รับผิดชอบแค่การค้นคว้า และได้ระบุข้อเท็จจริงนั้นไว้อย่างชัดเจน งานค้นคว้าของ Claude ถูกทิ้งไว้เป็น bullet points เพื่อให้ผู้อ่านมีจุดเริ่มต้นสำหรับสำรวจต่อ
      ด้วยเหตุผลเดียวกับที่ไม่ให้ LLM ไขปริศนาอักษรไขว้แทน จึงไม่เผยแพร่ ร้อยแก้วที่เขียนโดย LLM ซึ่งทำให้ความสนุกหายไป
    • ถ้าเป็นการสร้างฟีเจอร์ที่ทีมพัฒนาเองจะใช้ ก็ยิ่งแย่กว่าเดิม
    • การที่ฟีเจอร์มีประโยชน์ กับการเปิดใช้เป็นค่าเริ่มต้นให้ทุกคนโดยไม่มีแม้แต่วิธีปิดที่มีเอกสารกำกับ เป็นคนละเรื่องกันโดยสิ้นเชิง ถ้าเป็น ฟีเจอร์ให้เลือกใช้ที่มีเอกสารกำกับ ก็จะดี แต่การปล่อยใช้งานจริงไม่ได้เป็นแบบนั้น และทีม Claude Code กับกระบวนการของพวกเขาก็ล้มเหลวอย่างชัดเจน
      ไม่ได้มองว่าเป็นเจตนาร้าย แต่เป็นความบุ่มบ่ามและไม่รอบคอบ และแม้จะเกิดเรื่องคล้ายกันซ้ำ ๆ ก็ยังไม่เห็นว่าทีมได้เรียนรู้อะไร Claude Code ไม่ใช่เครื่องมือที่เสถียรและเชื่อถือได้ แต่ใกล้เคียงกับการทดลองระดับล้ำหน้าสุด และนี่คือราคาที่ต้องยอมรับเมื่อเลือกใช้แทนเครื่องมือรันงานอื่น
    • เป็นเรื่องเข้าใจไม่ได้ที่ปล่อยฟีเจอร์ให้คนหลายแสนคนใช้ โดยที่ยังไม่แม้แต่ตรวจสอบว่า Claude ถามคำถามประเภทใดกับผู้ใช้ Superpowers ซึ่งเป็นปลั๊กอินที่ใช้กันมากที่สุดใน marketplace ทางการ จะถามความต้องการของผลิตภัณฑ์หลายครั้งตั้งแต่ขั้นแรก ดังนั้นไม่ควรข้ามขั้นตอนนี้
      ไม่มีแม้แต่พารามิเตอร์ให้ Claude ระบุระดับความร้ายแรงของคำถามหรือเวลาตอบโดยประมาณ และ timeout ก็มีแค่ 60 วินาที เท่านั้น แค่จะหาคำตอบของคำถามโดยไปดูเอกสารบนจอที่สองแล้วกลับมา มันก็ข้ามไปแล้ว และ 60 วินาทียังแทบไม่พออ่านบริบทของคำถามด้วยซ้ำ
      ต่อให้ไม่ใช่เจตนาร้าย ก็เผยให้เห็นช่องว่างใหญ่ด้านวิจารณญาณในกระบวนการนำไอเดียไปสู่การปล่อยใช้งานจริง
  • ก่อนหน้านี้ปลั๊กอิน Codex สำหรับ VS Code ก็เคยมีฟีเจอร์คล้ายกันเข้ามา แล้วถูกถอดออกอย่างรวดเร็ว LLM จากผู้ให้บริการต่างกันมักลู่เข้าหาแนวคิดและอคติคล้าย ๆ กันอยู่บ่อย ๆ จึงน่าสงสัยเหมือนกันว่า สำหรับผู้จัดการผลิตภัณฑ์หรือผู้รับผิดชอบของ Claude นั้น LLM อาจแนะนำไอเดียเดียวกันนี้ให้หรือไม่

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

  • การที่ Anthropic สามารถเปลี่ยนพฤติกรรมของ Claude Code ได้ทั้งชุด เป็นหนึ่งในเหตุผลที่ทำให้มีการสร้าง Pi coding agent ขึ้นมา หากผู้ใช้ลงทุนเวลาไม่น้อยเพื่อสร้าง workflow บนผลิตภัณฑ์ใดผลิตภัณฑ์หนึ่ง ความสม่ำเสมอถือว่าสำคัญมาก