คอนเทนเนอร์ ChatGPT รองรับการรัน bash ติดตั้งแพ็กเกจ และดาวน์โหลดไฟล์แล้ว
(simonwillison.net)- สภาพแวดล้อมการรันคอนเทนเนอร์ ของ ChatGPT ถูกขยายครั้งใหญ่ และตอนนี้สามารถ รันคำสั่ง Bash, ติดตั้งแพ็กเกจด้วย pip/npm, และ ดาวน์โหลดไฟล์ ได้แล้ว
- จากเดิมที่เน้น Python เป็นหลัก ตอนนี้ได้เพิ่ม ภาษาอีกกว่า 10 ภาษา เช่น Node.js, Ruby, Go, Java, Swift, Kotlin, C, C++ ทำให้รองรับการรันโค้ดหลายภาษา
- การเข้าถึงเครือข่ายภายนอกยังคงถูกจำกัด แต่มีการตั้งค่าให้
pip installและnpm installทำงานผ่าน พร็อกซีภายในของ OpenAI - เครื่องมือใหม่
container.downloadสามารถ ดึงไฟล์จาก URL สาธารณะและบันทึกไว้ภายในคอนเทนเนอร์ ได้ โดยผ่านกระบวนการตรวจสอบด้านความปลอดภัย - การอัปเกรดนี้ช่วย ขยายความสามารถด้านการรันโค้ดและการประมวลผลข้อมูลของ ChatGPT อย่างมาก และตอกย้ำถึงความจำเป็นของเอกสารอย่างเป็นทางการ
ความสามารถหลักที่ขยายเพิ่มของคอนเทนเนอร์ ChatGPT
- ตอนนี้ ChatGPT สามารถ รันคำสั่ง Bash ได้โดยตรง ขณะที่ก่อนหน้านี้รองรับเฉพาะโค้ด Python
- ไม่ต้องอ้อมผ่านโมดูล
subprocessของ Python อีกต่อไป ทำให้ควบคุมได้ในระดับบรรทัดคำสั่ง
- ไม่ต้องอ้อมผ่านโมดูล
- มีการเพิ่ม สภาพแวดล้อม Node.js ทำให้รัน JavaScript ได้ และยังทดสอบผ่านกับ Ruby, Perl, PHP, Go, Java, Swift, Kotlin, C, C++ ด้วย
- Rust ยังไม่รองรับในตอนนี้
- คอนเทนเนอร์ยังคงไม่สามารถส่งคำขอเครือข่ายภายนอกได้โดยตรง แต่
pip installและnpm installทำงานผ่านพร็อกซีได้ - สามารถใช้เครื่องมือ
container.downloadเพื่อ ดาวน์โหลดไฟล์จากเว็บมายังพาธที่กำหนดได้- ChatGPT สามารถระบุ URL แล้วบันทึกไฟล์นั้นลงในสภาพแวดล้อมแซนด์บ็อกซ์เพื่อประมวลผลต่อได้
ความสามารถของ container.download
container.downloadเป็นเครื่องมือสำหรับ ดึงไฟล์จาก URL ที่เข้าถึงได้แบบสาธารณะและบันทึกลงในระบบไฟล์ของคอนเทนเนอร์- รูปแบบอินพุตคือ
{"url": "https://example.com/file.zip", "filepath": "/mnt/data/file.zip"}
- รูปแบบอินพุตคือ
- ไฟล์ที่ดาวน์โหลดมาแล้วสามารถนำไป แตกไฟล์, พาร์ส, แปลงรูปแบบ และประมวลผลต่อ ภายในคอนเทนเนอร์ได้
- จากผลการทดสอบ เฮดเดอร์ของคำขอมี
User-Agent: ChatGPT-User/1.0และตรวจสอบ IP ได้ว่าเป็น Microsoft Azure Cloud (Des Moines, Iowa)
การตรวจสอบความปลอดภัย: มีโอกาสข้อมูลรั่วไหลหรือไม่
- มีการทดลองว่า
container.downloadจะ กลายเป็นช่องโหว่สำหรับการรั่วไหลของข้อมูลได้หรือไม่- เมื่อเรียก URL ที่มี query string จะเกิดข้อผิดพลาด “url not viewed in conversation before”
- สิ่งนี้ทำหน้าที่เป็น กลไกป้องกันการเข้าถึง URL คล้ายกับ Web Fetch ของ Claude โดยอนุญาตเฉพาะ URL ที่ยืนยันแล้วจากอินพุตผู้ใช้หรือผลการค้นหา
- แม้จะสามารถส่ง query string บางส่วนผ่าน
web.runได้ แต่สตริงยาวที่มีประวัติการสนทนาก่อนหน้าจะถูกตัวกรองบล็อกไว้ - จากการทดลองจนถึงตอนนี้ ประเมินว่าความเสี่ยงด้านข้อมูลรั่วไหลยังอยู่ในระดับต่ำ แต่ก็ยังควรมีการวิจัยด้านความปลอดภัยเพิ่มเติม
การรัน Bash และหลายภาษา
- การรองรับ Bash ทำให้ ChatGPT สามารถ ดำเนินคำสั่งระดับระบบ ได้
- เช่น สามารถรันคำสั่ง
npm installและตรวจสอบผลลัพธ์ได้
- เช่น สามารถรันคำสั่ง
- สามารถยืนยันได้ว่ามีการรันคำสั่งจริงผ่าน บันทึกการทำงานในแผง Activity (คอนโซลขาวดำ)
- การทดสอบรัน “Hello World” สำเร็จในหลายภาษา ยืนยันว่าเป็น สภาพแวดล้อมสำหรับรันโค้ดหลายภาษา
กลไกการติดตั้งแพ็กเกจผ่าน pip และ npm
- แม้คอนเทนเนอร์จะถูกบล็อกไม่ให้ออกเครือข่ายภายนอก แต่ยังสามารถ ติดตั้งแพ็กเกจผ่านพร็อกซีภายในของ OpenAI (
applied-caas-gateway1.internal.api.openai.org) ได้- ตัวแปรสภาพแวดล้อมอย่าง
PIP_INDEX_URL,NPM_CONFIG_REGISTRYชี้ไปยังพร็อกซีดังกล่าว
- ตัวแปรสภาพแวดล้อมอย่าง
- ตัวจัดการแพ็กเกจหลักอย่าง
pip,uv,npmทำงานผ่านพร็อกซีนี้ - ในตัวแปรสภาพแวดล้อมยังมีพาธรีจิสทรีหลายรายการที่ใช้คำนำหน้า CAAS_ARTIFACTORY_*
- มีพาธของคลังภายในหลายประเภท เช่น PyPI, npm, Go, Maven, Gradle, Cargo, Docker
- แม้ Rust และ Docker จะยังไม่ได้ติดตั้ง แต่ก็ บ่งชี้ถึงความเป็นไปได้ในการขยายต่อในอนาคต
การใช้งานแบบบูรณาการและโจทย์ในอนาคต
- ตอนนี้ ChatGPT สามารถ ติดตั้งแพ็กเกจ Python และ Node.js แล้วนำไปใช้กับไฟล์ที่อัปโหลดหรือดาวน์โหลดมาได้
- ตั้งแต่การเขียนโค้ด การรัน การประมวลผลข้อมูล ไปจนถึงการอ่านเขียนไฟล์ ตอนนี้มีความสามารถในระดับ สภาพแวดล้อมสำหรับพัฒนาแบบครบวงจร
- จุดที่ยังขาดมากที่สุดคือ การไม่มีเอกสารทางการ จึงมีความจำเป็นต้องเผยแพร่ release notes และข้อจำกัดโดยละเอียด
- OpenAI ควรตั้งชื่ออย่างเป็นทางการให้ชุดความสามารถนี้ โดยในตอนนี้เรียกชั่วคราวว่า “ChatGPT Containers”
สรุปรายชื่อเครื่องมือทั้งหมดของ ChatGPT
- มีการเปิดเผยรายชื่อเครื่องมือที่ใช้งานได้ในสภาพแวดล้อม GPT-5.2
- รวมถึง python.exec, web.run, container.exec, container.download, image_gen.text2im เป็นต้น
- แต่ละเครื่องมือมีทั้ง คำอธิบาย (description) และ ซิกเนเจอร์ (signature) ที่ชัดเจน
container.execใช้รันคำสั่ง,container.feed_charsใช้ป้อนข้อมูลให้เซสชันแบบโต้ตอบ,container.open_imageใช้แสดงภาพ- ยังรวมความสามารถด้านการปรับให้เหมาะกับผู้ใช้ เช่น
bio.update,personal_context.search,user_settings.set_setting - โดยรวมแล้ว ChatGPT กำลังพัฒนาไปเป็นสภาพแวดล้อม AI แบบผสานรวมที่ครอบคลุมทั้ง การรันโค้ด การเข้าถึงเว็บ การจัดการไฟล์ และการจัดการบริบทของผู้ใช้
1 ความคิดเห็น
ความเห็นจาก Hacker News
ฉันทำงานสายซัพพอร์ตด้านเทคนิค คุ้นเคยกับ Python แต่ไม่ใช่นักพัฒนา
แต่ช่วงไม่กี่สัปดาห์ที่ผ่านมา Gemini กับ Claude ถามฉันว่า “ใช้คอมพิวเตอร์ได้ไหม?”
ฉันเลยถามกลับว่า “คอมพิวเตอร์เครื่องไหน? เครื่องของฉัน? หรือเครื่องของพวกคุณ?”
ฉันใช้เวอร์ชันเบราว์เซอร์ฟรีอยู่ เลยไม่คิดว่ามันจะใช้คอมของฉันได้โดยตรง แต่กลายเป็นว่ามันกำลังรันสคริปต์ Python ในสภาพแวดล้อมของตัวเอง
เลยเริ่มสงสัยว่าใครเป็นคนแรกที่คิดไอเดีย ให้คอมพิวเตอร์จริงกับ LLM เพื่อแก้โจทย์การคำนวณ
แล้วตอนสั่งให้ Nano Banana ทำงานด้วยพรอมป์ต์ Gemini ก็พูดถึงตัวสร้างภาพในบุรุษที่สาม ให้ความรู้สึกเหมือน “เต่าซ้อนเต่า”
จากประสบการณ์ของเรา การให้เอเจนต์มีสภาพแวดล้อม Linux ทำให้ได้ประโยชน์หลายอย่าง
มันจัดการสถานการณ์ประหลาดที่เครื่องมือทั่วไปจัดการยากได้ด้วยตัวเอง
ตัวอย่างเช่น เวลามีไฟล์ที่ตั้งชื่อเป็น .png แต่จริง ๆ เป็น jpeg มันจะอ่าน magic bytes แล้วจัดการให้ถูกต้อง
เคยพยายามใช้โมเดล Vision ตรวจสอบ ICC profile หรือความหนาแน่นของหมึก แต่ชอบพูดมั่วบ่อย ๆ
สุดท้ายเลยให้เอเจนต์เข้าถึง ImageMagick เพื่อวิเคราะห์เองโดยตรง และนั่นเป็นวิธีเดียวที่เชื่อถือได้
ไม่อย่างนั้นฉันต้องรับต้นทุนงานพิมพ์ที่ล้มเหลวเอง
โปรแกรมดูหรือแก้ไขภาพบน Linux ส่วนใหญ่ก็แยกชนิดไฟล์จาก magic bytes แทนนามสกุลไฟล์อยู่แล้ว
ฉันคิดว่า การออกแบบที่พึ่งพานามสกุลไฟล์ของ Microsoft เป็นต้นเหตุที่ทำให้เกิดปัญหาแบบนี้
ถ้าเป็นคน ใช้เครื่องมือ Unix ทั่วไปไม่กี่วินาทีก็ทำได้แล้ว
ตอนนี้ ChatGPT แบบพื้นฐานก็รันโค้ดใน Node.js, Ruby, Perl, PHP, Go, Java, Swift, Kotlin, C, C++ และอื่น ๆ ได้แล้ว
แม้จะไม่มีใน release notes อย่างเป็นทางการ แต่ ยืนยันได้ว่าใช้ได้แม้กับบัญชีฟรี
ลิงก์แชร์
ฉันตกใจที่เห็นรายการอย่าง “gmail (read-only)”
แอป ChatGPT บน Android บอกว่าไม่มีสิทธิ์แบบนั้น เลยสงสัยว่า การเข้าถึง Gmail แบบอ่านอย่างเดียว ใช้ได้ในบริบทไหน
ในแอป iPhone ก็เห็นฟีเจอร์ gmail. กับ gcal. ด้วย
ตัวอย่างที่แชร์
น่าจะเป็นฟีเจอร์ที่อยู่ใน บทความของ Mashable
ดูเหมือนว่าผู้ใช้ต้อง เลือกเปิดใช้เองแบบ opt-in ก่อนถึงจะเปิดใช้งานได้
ทุกวันนี้ดูเหมือนทุกบริษัทกำลังแข่งกันผูกฟีเจอร์ tool calling ไว้ในแพลตฟอร์มของตัวเอง
สุดท้ายถ้าโมเดลทำงานได้แทบทุกอย่างในสภาพแวดล้อมโลคัลได้ การถกเรื่อง sandbox ก็คงมีความหมายน้อยลง
เลยสงสัยว่าเมื่อไรจะมี สภาพแวดล้อมพัฒนาเสมือนแบบถาวร ให้ใช้
และยังคิดว่าความพยายามในการ รันเครื่องมือเขียนโค้ด AI หรือเอเจนต์ในสภาพแวดล้อมแยกขาด ยังมีคุณค่าอยู่
นักพัฒนาส่วนใหญ่น่าจะใช้เครื่องมือเขียนโค้ดเฉพาะทางแบบนี้ มากกว่า GPT เว็บ UI ทั่วไป
คุณเริ่มเซสชัน ทำงาน แล้วกลับมาอีกวันหนึ่ง สถานะของระบบไฟล์ก็ยังอยู่เหมือนเดิม
โครงสร้างนี้น่าจะใช้ object storage เพื่อลดต้นทุน
อีกอย่าง บทความ Sprites.dev ว่าด้วยการออกแบบ ของ Fly ก็น่าสนใจ
คือเหลือแค่ thin client แทนฮาร์ดแวร์โลคัล แล้วโยนเวิร์กโหลดจริงไปให้ที่อย่าง Microsoft จัดการ
ส่วนตัวฉันรู้สึกว่านรกชัด ๆ ถ้าไม่มีสภาพแวดล้อมพัฒนาแบบโลคัล แต่ดูเหมือนกระแสจะไปทางนั้น
ฟีเจอร์นี้อาจช่วยประหยัดเวลาได้มหาศาล หรือไม่ก็สร้าง outage ทางการศึกษา ขึ้นมา
การค้นพบแบบนักสืบของ Simon เจ๋งมาก
โพสต์แนว “ค้นพบสิ่งใหม่” แบบนี้น่าสนใจกว่าประกาศทางการเยอะ
ให้แรงบันดาลใจมากกว่าข่าวประชาสัมพันธ์ธรรมดาเยอะ
ดูเหมือนอีกไม่นาน ChatGPT จะสร้าง แอปใช้ครั้งเดียว (single-use app) ให้สด ๆ ได้
คือสร้างแอป sandbox บนคลาวด์ในเบราว์เซอร์เพื่อบรรลุเป้าหมาย แล้วพอเสร็จก็ทิ้งทันที