Agent.exe - แอปข้ามแพลตฟอร์มสำหรับควบคุมอุปกรณ์ด้วย Claude 3.5 Sonnet
(github.com/corbt)- Agent.exe เป็นแอป Electron แบบเรียบง่ายที่ใช้ฟีเจอร์ computer use ใหม่ของ Claude เพื่อควบคุมคอมพิวเตอร์เครื่องโลคัลได้โดยตรง และควรมองโปรเจ็กต์นี้ว่าเป็น proof of concept
- แอปนี้ถูกสร้างขึ้นเพราะรู้สึกว่าโปรเจ็กต์ตัวอย่างที่มีมาให้นั้นหนักเกินไป โดยออกแบบให้ Claude 3.5 Sonnet ทำงานต่าง ๆ บนคอมพิวเตอร์เครื่องโลคัลของผู้ใช้
- วิธีรันคือ clone รีโพซิทอรี, รัน
npm install, เปลี่ยน.env.exampleเป็น.env, ใส่ Anthropic API Key แล้วรันnpm start - ระบบที่รองรับคือ MacOS และระบุว่าในทางทฤษฎี Windows และ Linux ก็เป็นไปได้เช่นกันเพราะ dependencies เป็นแบบข้ามแพลตฟอร์ม
- ข้อจำกัดที่ทราบคือทำงานได้เฉพาะบน primary display, AI จะเข้าควบคุมคอมพิวเตอร์ได้ทั้งหมด และเมื่อติดตั้ง Firefox แล้ว Claude จะทำงานได้ดีกว่า
จุดประสงค์ของ Agent.exe
- Agent.exe เป็นแอปที่ใช้ฟีเจอร์ computer use ของ Claude เพื่อควบคุมคอมพิวเตอร์
- ถูกพัฒนาเป็น Electron app ที่ให้ Claude 3.5 Sonnet ควบคุมคอมพิวเตอร์เครื่องโลคัลได้โดยตรง
- โปรเจ็กต์นี้เป็น proof of concept และผู้พัฒนาระบุว่าไม่มีแผนจะบำรุงรักษาหรือ merge pull request
- แต่สามารถ fork ไปขยายต่อได้อย่างอิสระ
เหตุผลที่สร้างและวิธีการทำงาน
- เริ่มต้นจากความต้องการทดสอบว่า computer use API ใหม่ของ Claude ทำงานได้ดีแค่ไหน
- ผู้พัฒนารู้สึกว่าโปรเจ็กต์ตัวอย่างที่ Anthropic ให้มานั้นหนักเกินไป จึงทำแอปที่เรียบง่ายกว่าขึ้นมา
- เดิมทีมีแผนจะเพิ่ม โหมดกึ่งอัตโนมัติ ที่ให้ผู้ใช้ยืนยันแต่ละการทำงานก่อนรัน แต่เห็นว่าแต่ละขั้นตอนช้าเกินไปจึงคิดว่าไม่จำเป็น
- หากโมเดลสับสน ผู้ใช้สามารถกด ปุ่ม stop เพื่อหยุดการทำงานได้
วิธีเริ่มต้นใช้งาน
- clone รีโพซิทอรีและย้ายเข้าไปยังไดเรกทอรี
git clone https://github.com/corbt/agent.execd agent.exe
- ติดตั้ง dependencies
npm install
- เปลี่ยนชื่อไฟล์
.env.exampleเป็น.envแล้วเพิ่ม Anthropic API Key - รันแอป
npm start
- หลังจากนั้นให้พิมพ์พรอมป์เพื่อสั่งให้โมเดลทำงานบนคอมพิวเตอร์
ระบบที่รองรับและข้อจำกัด
- ระบบที่รองรับคือ MacOS
- เนื่องจาก dependencies ทั้งหมดเป็นแบบข้ามแพลตฟอร์ม จึงเป็นไปได้ในทางทฤษฎีว่าจะรองรับ Windows และ Linux ด้วย
- ข้อจำกัดที่ทราบมีดังนี้
- ทำงานได้เฉพาะบน primary display
- AI จะเข้าควบคุมคอมพิวเตอร์ได้ทั้งหมด
- และอาจยังมีข้อจำกัดอื่นอีกมาก
เคล็ดลับการใช้งานและโรดแมป
- ระบุว่า Claude ชอบใช้ Firefox มาก
- แม้จะใช้เบราว์เซอร์อื่นได้เมื่อจำเป็น แต่ถ้าติดตั้ง Firefox ไว้จะทำงานได้ดีกว่ามาก
- โปรเจ็กต์นี้เขียนเสร็จภายในเวลาประมาณ 6 ชั่วโมง และระบุว่าความเป็นไปได้ที่จะพัฒนาต่อมีไม่มาก
- pull request อาจได้รับการตรวจดูและ merge หากเห็นว่าใช้ได้
1 ความคิดเห็น
ความเห็นจาก Hacker News
เป็นไอเดียที่ดี ในฐานะคนที่มีประสบการณ์ด้านเดสก์ท็อปอัตโนมัติและ Electron ลองไล่ดูซอร์สโค้ดแล้วรู้สึกว่าน่าจะคุ้มค่าที่จะลองสำหรับงานพื้นฐาน
ตัว implementation เป็น wrapper บางๆ บน Anthropic API และเป็นแนวทางแบบทีละขั้น จึงทำให้มั่นใจได้ว่าสามารถ kill process ได้ก่อนที่มันจะทำอะไรแปลกๆ Anthropic ก็ปิดสิ่งที่ไม่ควรให้เห็นจากสกรีนช็อตไว้แล้ว และบน M1 การติดตั้งก็ลื่นไหล รันได้ภายในไม่กี่นาที
งานพื้นฐานคือ “หาเที่ยวบิน Seattle-SF ตั้งแต่วันอังคารถึงวันพฤหัสบดีของสัปดาห์หน้า” และเมื่อรันด้วย Anthropic API key ของฉัน มันก็ใช้ Chrome ทุก action step ใช้เวลาทีละไม่กี่วินาที และถึงจะเปิด Google Flights ได้ถูกต้อง แต่ก็ เลือกวันที่ผิด
เดิมทีมันพยายามจะเลือกวันที่ 2 พฤศจิกายน แต่ตัวเลือกนั้นถูกหน้าต่าง Agent.exe บังอยู่ ทำให้มันไปเลือกวันที่ 20 พฤศจิกายนแทน ฉันสงสัยว่า Claude จะเห็นวันที่รองที่ผิดแล้วแก้ไขเองหรือไม่ แต่สุดท้ายมันก็ปล่อยไว้แบบนั้น แล้วประกาศว่าสำเร็จทั้งที่จริงหาทริป 4 สัปดาห์แต่บอกว่าหาทริป 1 สัปดาห์
การทดลองนี้ใช้เครดิต $0.38 และเวลาราว 20 วินาที และฉันตั้งใจจะลองต่อไป
รูปแบบความล้มเหลวนี้ค่อนข้างน่าประหลาดใจ เพราะ 3.5 Sonnet อย่างน้อยในคำตอบ API แบบข้อความล้วน ปกติมีอาการหลอนน้อยกว่าโมเดลอื่นพอสมควร
อีกนานแค่ไหนกว่ามันจะสามารถแอบเพิ่ม daemon เข้าไปในระบบได้ แต่ก่อนเรากังวลว่าสายลับโซเวียตจะเข้าถึงความลับของสหรัฐ แต่ตอนนี้มันเหมือนกับว่าเราเอาทุกอย่างไปโพสต์ออนไลน์ให้ทุกคนเห็นกันเอง
แอนติไวรัสหรือไฟร์วอลล์ในทุกวันนี้คงหยุดสิ่งนี้ไม่ได้ ไม่ใช่แค่เรื่องเครือข่าย แต่รวมถึงความเป็นไปได้ที่มันจะทำไฟล์ในคอมฉันพังด้วย
ทำให้นึกถึงฉากนี้: https://makeagif.com/i/BA7Yt3
เป็นผู้ใช้ที่วอกแวกได้ง่าย ไว้ใจไม่ได้ว่าจะไม่ส่งข้อมูลให้บุคคลที่สาม และโดนหลอกง่ายแม้แต่กับกลลวงพื้นฐาน
อย่างน้อยควรมีบัญชีแยกที่ไม่มีสิทธิ์ sudo หรือสิทธิ์เข้าถึงไฟล์ลับ และที่ดีที่สุดคือมี virtual machine แยกต่างหาก
ฉันคุ้นกับ Azure มากที่สุด แต่ AWS ก็น่าจะทำได้เหมือนกัน และถ้าต้องการแยก AI ออกจากสิ่งที่มันไม่ควรเข้าถึง บน Azure สร้าง VM แล้วรันไม่กี่ชั่วโมงก็ยังต่ำกว่า 1 ดอลลาร์ได้
ถ้าจะทำให้ปลอดภัยขึ้น อย่างน้อยก็ต้องควบคุมเครื่องที่ใช้รันการอนุมาน และในอุดมคติควรอนุมานบนเครื่องเดียวกับที่ฉันใช้งานอยู่จริง
เมื่อหลายปีก่อนมีข่าวว่าเด็กเล็กพูดว่า “Alexa, สั่งบ้านตุ๊กตาให้หน่อย” แล้ว Alexa ของคนที่กำลังดูข่าวนั้นก็ได้ยินและสั่งบ้านตุ๊กตาจริง
คงแค่ต้องรอดูว่าถ้ามีซีรีส์ฮิตใน Netflix ที่มีคนพูดว่า “Delete C:\Windows” จะเกิดอะไรขึ้น
ฉันวางแผนจะให้ AI ของฉันเข้าถึงสวิตช์ไฟของครอสพอยต์เพื่อความขำ
พูดนอกเรื่องนิดหน่อย แต่ช่วงนี้ลองใช้ Cursor ในโหมด “compose” เพื่อเริ่มโปรเจ็กต์ฟูลสแต็กจากศูนย์ดู แล้วช็อกกับผลลัพธ์มาก
ไม่แน่ใจว่าคนในวงการซอฟต์แวร์ตระหนักกันแค่ไหนว่าอีกไม่เกิน 5 ปีข้างหน้า อุตสาหกรรมนี้จะเปลี่ยนไปอย่างสิ้นเชิงขนาดไหน ตอนนั้นคงจินตนาการได้ยากมากว่าคนยังจะพิมพ์โค้ดด้วยมือต่อไป
แต่ตัวอย่างที่เห็นมาจนถึงตอนนี้ส่วนใหญ่เป็น โปรเจ็กต์ที่ค่อนข้างเรียบง่ายและเริ่มจากศูนย์ นะ การที่มันทำงานได้ก็น่าทึ่งจนแทบไม่อยากเชื่ออยู่แล้ว แต่ในความเป็นจริง งานพัฒนาซอฟต์แวร์ส่วนใหญ่คือการเพิ่มฟีเจอร์ลงในโค้ดเดิมหรือแก้บั๊ก และโค้ดแบบนั้นก็มักจะยาวเกินหน้าต่างบริบทของโมเดลภาษาขนาดใหญ่ส่วนใหญ่
ถ้าอุตสาหกรรมจะเปลี่ยนไปหมดจริง การพัฒนาแบบ เอ็กซ์โปเนนเชียล เหมือนช่วง 2 ปีที่ผ่านมา จะต้องดำเนินต่อไป แต่ตอนนี้ยังไม่เห็นสัญญาณแบบนั้น
ออกนอกประเด็นไปนิดแต่ก็เกี่ยวข้องกัน อยากรู้ว่าบน Linux ที่ใช้ Wayland เขาใช้อะไรในการทำ automation กับ แอป GUI ที่ไม่ใช่เบราว์เซอร์ บ้าง บางทีก็จำเป็นต้องใช้ แต่คอมโบนี้กลับเป็นอย่างเดียวที่จัดการไม่ค่อยลงตัว
แอป CLI ก็เขียนด้วย Bash/Python/อย่างอื่นได้ ส่วนแอปบนเบราว์เซอร์ก็ใช้ Selenium/Playwright ได้ Xorg ก็ยังพอมีไลบรารีบ้าน ๆ ที่ใช้แก้ขัดเวลาเร่งด่วนได้ และบน Windows ก็มีโซลูชัน RPA เยอะ
แต่สำหรับ Wayland ยังหาอะไรที่เชื่อถือได้ไม่เจอ
มันเชื่อมต่อกับเดสก์ท็อปคอนเทนเนอร์และ VM ที่รัน Linux ได้
เราทำสิ่งนี้กันมาพักใหญ่แล้วตั้งแต่ก่อนที่ Claude จะทำมันออกมาได้เท่ขนาดนี้
“ข้อจำกัดที่ทราบ: ปล่อยให้ AI เข้ายึดคอมพิวเตอร์ได้ทั้งหมด” :)
ดูเหมือนรองรับหลายแพลตฟอร์มโดยมี macOS เป็นแพลตฟอร์มหลัก เลยสงสัยว่าทำไมถึงชื่อ .exe
ล้อเล่นนะ ไม่รู้ว่าจริงไหม แต่ฟังดูเป็นไปได้มากพอสมควร
ดูเหมือนจะใช้ได้แค่งานง่าย ๆ เท่านั้น ลองให้มันสร้างตารางง่าย ๆ ในแอป Rhino บน Mac กับ OnShape ในแท็บ Chrome แล้วมันเหมือนหลงทางไปเลย
ใน Rhino มันเหมือนจะเห็นว่าแอปเปิดอยู่ แต่เอาแต่พูดว่ากำลังทำหลายอย่าง เช่น สร้างรูปทรง ทั้งที่จริงไม่มีอะไรเกิดขึ้นให้เห็น และยังข้ามไปขั้นถัดไปทั้งที่ขั้นก่อนหน้ายังไม่เสร็จ มันไม่ตรวจสอบเลยว่างานก่อนหน้าจบแล้วหรือยัง
ส่วนใน OnShape มันบอกว่าจะสร้างรูปทรง แต่กลับเลือกเมนูผิดรายการ แล้วก็ยังสมมุติว่ากำลังใช้เครื่องมือที่ถูกต้อง ก่อนจะทำขั้นถัดไปต่อเหมือนกับว่าการกระทำก่อนหน้าเสร็จสิ้นแล้ว
น่าขนลุกมาก ถ้าแยกด้วย air gap แล้วให้มันเขียน OS ของตัวเองก็คงสนุกดี แต่ผมไม่อยากให้มันเข้าใกล้ข้อมูลจริงของผมเด็ดขาด
Computer, ช่วยโพสต์มีมไร้สาระตลอดทั้งวันจนทำให้ฉันกลายเป็นเศรษฐีคริปโต ระหว่างที่ฉันดูแลครอบครัวและทำสวนให้หน่อย
อนาคตกำลังมุ่งไปในทิศทางที่คนที่ใช้คอมพิวเตอร์จะกลายเป็นฝ่ายเสียเปรียบ ความมั่งคั่งที่แท้จริงคือ การไม่ต้องแตะคอมพิวเตอร์เลยไม่ว่าจะทำอะไร