ai-agents-for-beginners

การสร้างเอเจนต์ใช้งานคอมพิวเตอร์ (CUA)

เอเจนต์ใช้งานคอมพิวเตอร์สามารถโต้ตอบกับเว็บไซต์ได้เหมือนกับที่คนทำ: โดยการเปิดเบราว์เซอร์ ตรวจสอบหน้าเว็บ และทำการดำเนินการถัดไปที่ดีที่สุดจากสิ่งที่เห็น ในบทเรียนนี้ คุณจะสร้างเอเจนต์อัตโนมัติเบราว์เซอร์ที่จะค้นหา Airbnb ดึงข้อมูลรายการในรูปแบบโครงสร้าง และระบุที่พักราคาถูกที่สุดในสต็อกโฮล์ม

บทเรียนนี้ผสมผสาน Browser-Use สำหรับการนำทางโดย AI, Playwright และ Chrome DevTools Protocol (CDP) สำหรับการควบคุมเบราว์เซอร์, Azure OpenAI สำหรับการวิเคราะห์พร้อมระบบมองเห็น และ Pydantic สำหรับการดึงข้อมูลโครงสร้าง

บทนำ

บทเรียนนี้จะครอบคลุม:

เป้าหมายการเรียนรู้

หลังจากทำบทเรียนนี้เสร็จ คุณจะรู้วิธี:

ตัวอย่างโค้ด

บทเรียนนี้มีโน้ตบุ๊กสอนหนึ่งรายการ:

เงื่อนไขเบื้องต้น

การตั้งค่า

ติดตั้งแพ็กเกจที่ใช้ในโน้ตบุ๊ก:

pip install browser_use playwright python-dotenv
playwright install chromium

กำหนดตัวแปรสภาพแวดล้อม Azure OpenAI ที่ใช้ในโน้ตบุ๊ก:

AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# ทางเลือก: ใช้ค่าปริยายเป็นเวอร์ชัน API ล่าสุดเมื่อไม่ระบุ
AZURE_OPENAI_API_VERSION=...

ภาพรวมสถาปัตยกรรม

โน้ตบุ๊กแสดงกระบวนการอัตโนมัติเบราว์เซอร์แบบไฮบริด:

  1. Chrome เริ่มต้นพร้อมเปิดใช้งาน CDP เพื่อให้ Playwright และ Browser-Use สามารถใช้เซสชันเบราว์เซอร์เดียวกันได้
  2. เอเจนต์ Browser-Use จัดการงานนำทางแบบเปิด เช่น การเปิด Airbnb, ปิดป๊อปอัพ และค้นหาสต็อกโฮล์ม
  3. ตรวจสอบหน้าเว็บที่ใช้งานด้วยสคีมา Pydantic ที่มีโครงสร้างเพื่อดึงชื่อรายการ, ราคาต่อคืน, คะแนน และ URL
  4. ลอจิก Python เปรียบเทียบรายการที่ดึงมาและเน้นผลลัพธ์ที่ถูกที่สุด

วิธีการนี้ยังคงความยืดหยุ่นของการวิเคราะห์ที่อิงระบบมองเห็นซึ่ง Browser-Use ทำได้ดี พร้อมกันนี้ยังให้การควบคุมเบราว์เซอร์ที่มีความแม่นยำเมื่อคุณต้องการ

ข้อสรุปสำคัญและแนวทางปฏิบัติที่ดีที่สุด

เมื่อใดควรใช้เอเจนต์หรือผู้แสดง

สถานการณ์ ใช้เอเจนต์ ใช้ผู้แสดง
รูปแบบหน้าที่เปลี่ยนแปลง ใช่, AI สามารถปรับตัวกับการเปลี่ยนแปลงหน้าได้ ไม่, ตัวเลือกที่เปราะบางอาจเสีย
รูปแบบที่ทราบ ไม่, เอเจนต์ช้ากว่าการควบคุมตรง ใช่, เร็วและแม่นยำ
การค้นหาองค์ประกอบ ใช่, ภาษาอย่างธรรมชาติเหมาะสม ไม่, ต้องการตัวเลือกที่แม่นยำ
การควบคุมเวลา ไม่, คาดเดาได้น้อยกว่า ใช่, ควบคุมเต็มที่ในเรื่องการรอและลองใหม่
กระบวนการที่ซับซ้อน ใช่, จัดการสถานะ UI ที่ไม่คาดคิดได้ ไม่, ต้องการแยกสาขาชี้แจง

แนวทางปฏิบัติที่ดีที่สุดของ Browser-Use

  1. เริ่มด้วยเอเจนต์สำหรับการสำรวจและการนำทางแบบไดนามิก
  2. เปลี่ยนไปควบคุมหน้าตรงเมื่อการโต้ตอบคาดเดาได้
  3. ใช้แบบจำลองผลลัพธ์ที่มีโครงสร้างเพื่อให้ข้อมูลที่ดึงมาถูกตรวจสอบและปลอดภัยในชนิดข้อมูล
  4. เพิ่มเวลาหน่วงอย่างมีกลยุทธ์หลังจากการกระทำที่ทำให้ UI เปลี่ยนแปลงแสดงผล
  5. ถ่ายภาพหน้าจอขณะทำซ้ำเพื่อให้ง่ายต่อการดีบักเมื่อเกิดข้อผิดพลาด
  6. คาดหวังว่าเว็บไซต์จะเปลี่ยนและออกแบบกลยุทธ์สำรองสำหรับป๊อปอัพและการเลื่อนรูปแบบ
  7. ผสมผสานรูปแบบเอเจนต์และผู้แสดงเพื่อให้ได้ทั้งความยืดหยุ่นและความแม่นยำ

เกราะป้องกันความปลอดภัยสำหรับเอเจนต์เบราว์เซอร์

เอเจนต์เบราว์เซอร์ทำงานบนเว็บไซต์สด จึงต้องมีขอบเขตเข้มงวดกว่าสคริปต์ที่เรียก API ที่ทราบเท่านั้น ก่อนย้ายจากตัวอย่างในโน้ตบุ๊กไปสู่กระบวนการจริง ให้กำหนดการควบคุมเกี่ยวกับสิ่งที่เอเจนต์เห็น คลิก และส่งข้อมูล

  1. กำหนดขอบเขตสภาพแวดล้อมการท่องเว็บ. รันเอเจนต์ในโปรไฟล์เบราว์เซอร์หรือ sandbox เฉพาะ และจำกัดเขตโดเมนที่จำเป็นสำหรับงานนั้น
  2. แยกการสังเกตจากการกระทำ. ให้เอเจนต์ค้นหา อ่าน และดึงข้อมูลก่อน; ต้องมีขั้นตอนอนุมัติชัดเจนก่อนส่งแบบฟอร์ม, ส่งข้อความ, จองการเดินทาง, ทำการซื้อ, ลบข้อมูล หรือเปลี่ยนแปลงการตั้งค่าบัญชี
  3. ไม่เก็บความลับใน prompt หรือ trace. หลีกเลี่ยงรหัสผ่าน, รายละเอียดการชำระเงิน, คุกกี้เซสชัน หรือข้อมูลส่วนตัวดิบในบริบทของโมเดล ให้ผู้ใช้จัดการรับรองตัวตนและลบข้อมูลลับออกจากบันทึก
  4. จัดการเนื้อหาหน้าเว็บเป็นข้อมูลที่ไม่เชื่อถือได้. เว็บไซต์อาจมีคำสั่งที่มุ่งหมายสำหรับเอเจนต์ ไม่ใช่ผู้ใช้ เอเจนต์ควรละเลยข้อความที่ขอให้เปลี่ยนเป้าหมาย, เปิดเผยข้อมูล, ปิดการป้องกัน หรือเยี่ยมชมเว็บไซต์ที่ไม่เกี่ยวข้อง
  5. ใช้การตรวจสอบแบบกำหนดการรอบขั้นตอนที่เสี่ยง. ยืนยัน URL ปัจจุบัน, ชื่อหน้า, รายการที่เลือก, ราคา, ผู้รับ และสรุปการกระทำด้วยโค้ดก่อนให้ผู้ใช้อนุมัติขั้นสุดท้าย
  6. ตั้งงบประมาณและเงื่อนไขหยุด. จำกัดจำนวนการกระทำ, การลองใหม่, แท็บ และนาทีที่เอเจนต์ใช้ได้ หยุดเมื่อสถานะหน้าเว็บไม่ชัดเจนแทนที่จะคลิกต่อ
  7. บันทึกหลักฐานที่มีประโยชน์, ไม่ใช่ทุกอย่าง. เก็บสรุปการกระทำ, เวลาบันทึก, URLs, คำอธิบายองค์ประกอบที่เลือก และการอ้างอิงภาพหน้าจอ เพื่อให้การตรวจสอบข้อผิดพลาดทำได้โดยไม่ต้องเก็บเนื้อหาหน้าเว็บที่เป็นความลับโดยไม่จำเป็น

ในตัวอย่าง Airbnb ค่าเริ่มต้นที่ปลอดภัยคือการค้นหารายการและดึงราคามา การเข้าสู่ระบบ, ติดต่อโฮสต์ หรือทำการจองควรเป็นการกระทำที่ผู้ใช้อนุมัติแยกต่างหาก

การใช้งานในโลกความจริง

ตัวอย่างในโลกความจริง: Microsoft Project Opal

เอเจนต์ที่คุณสร้างในบทเรียนนี้เป็นเวอร์ชันท้องถิ่นขนาดเล็กของ เอเจนต์ใช้งานคอมพิวเตอร์ (CUA) — โปรแกรมที่ขับเคลื่อนเบราว์เซอร์ในแบบที่คนทำ Microsoft กำลังนำแนวคิดนี้ไปสู่ภาคธุรกิจด้วย Project Opal (Frontier) ซึ่งเป็นฟีเจอร์ใน Microsoft 365 Copilot

ด้วย Project Opal คุณบรรยายงานและเอเจนต์จะทำงานแทนคุณโดยใช้ การใช้งานคอมพิวเตอร์บน Windows 365 Cloud PC ที่ปลอดภัย, ทำงานข้ามแอปพลิเคชัน, เว็บไซต์ และข้อมูลที่ใช้เบราว์เซอร์ในองค์กรของคุณ มันทำงาน แบบอะซิงโครนัสเบื้องหลัง และคุณสามารถแนะนำงานหรือควบคุมได้ตลอดเวลา งานตัวอย่างได้แก่:

Opal เป็นตัวอย่างอ้างอิงที่ดีของเอเจนต์ใช้งานคอมพิวเตอร์ที่ อยู่ในระดับผลิตภัณฑ์และน่าเชื่อถือ — และเสริมแนวคิดจากบทเรียนก่อนหน้า:

แนวคิดในหลักสูตรนี้ วิธีที่ Project Opal ใช้งาน
มนุษย์ในลูป (บทเรียน 06) Opal หยุดเพื่อรอข้อมูลรับรองการเข้าสู่ระบบ ข้อมูลที่ละเอียดอ่อน หรือคำสั่งที่กำกวม และไม่เคยกรอกรหัสผ่านหรือส่งแบบฟอร์มโดยไม่มีการยืนยันชัดเจน คุณสามารถ ควบคุมการทำงาน และ คืนการควบคุม กลางงานได้
เอเจนต์ที่น่าเชื่อถือและปลอดภัย (บทเรียน 06 & 18) ทำงานใน Windows 365 Cloud PC ที่แยกออกมา, ปกติจะเป็นเฉพาะเบราว์เซอร์เท่านั้น (การเข้าถึงคอมพิวเตอร์อื่นบล็อกโดยผ่าน Intune), ใช้ตัวตนของ คุณ เพื่อเข้าถึงเฉพาะที่คุณได้รับอนุญาต และบันทึกการดำเนินการทุกอย่างเพื่อใช้ตรวจสอบ
การวางแผนและการคิดสะท้อน (บทเรียน 07 & 09) Opal สร้างแผนงานก่อนจากนั้นตรวจสอบตรรกะของตัวเองในแต่ละขั้นตอน และหยุดถ้าตรวจพบกิจกรรมที่น่าสงสัย
ความสามารถ / เครื่องมือที่ใช้ซ้ำได้ (บทเรียน 04) ทักษะ ช่วยให้คุณเขียนคำสั่งสำหรับงานที่ทำซ้ำได้ (นำเข้าจากไฟล์ .md หรือเขียนด้วย Opal) และใช้งานซ้ำได้ในบทสนทนา

สถานะ: Project Opal เปิดให้ผู้ใช้ใน โปรแกรมเข้าถึงพรีวิว Frontier ที่มีการสมัครสมาชิก Microsoft 365 Copilot เท่านั้น และผู้ดูแลระบบต้องตั้งค่าให้เรียบร้อย เนื่องจากเป็นฟีเจอร์ทดลอง Frontier ความสามารถอาจเปลี่ยนแปลงได้ตามเวลา

แหล่งข้อมูลเพิ่มเติม

บทเรียนก่อนหน้า

สำรวจ Microsoft Agent Framework

บทเรียนถัดไป

การปรับใช้เอเจนต์ในระดับขยาย


ปฏิเสธความรับผิดชอบ: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้