Published: June 18, 2026
หากต้องการดีบักเว็บแอปพลิเคชันสมัยใหม่ได้อย่างมีประสิทธิภาพ AI Agent ต้องมีข้อมูลมากกว่าเพียงแค่ซอร์สโค้ด แต่ต้องเข้าใจลักษณะการทำงานของแอปพลิเคชันในขณะรันไทม์ด้วย
เรายินดีที่จะเปิดตัวเครื่องมือสำหรับนักพัฒนาเว็บของบุคคลที่สาม สำหรับเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome สำหรับ Agent ตอนนี้แอปและเฟรมเวิร์กของคุณสามารถให้ AI Agent ดูสถานะภายในได้โดยตรง ซึ่งจะช่วยให้ Agent เชื่อมโยงสิ่งที่เกิดขึ้นบนหน้าจอเข้ากับตรรกะที่ทำงานอยู่เบื้องหลังได้
เป้าหมาย: มากกว่าการวิเคราะห์แบบคงที่
การพัฒนาเว็บสมัยใหม่สร้างขึ้นจากการแยกส่วน เช่น เฟรมเวิร์กอย่าง Angular, React หรือ Vue, แพลตฟอร์ม CMS อย่าง WordPress หรือ Shopify และไลบรารีสำหรับ CSS, กราฟิก 3 มิติ หรือภาพเคลื่อนไหว แม้ว่าเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome จะเข้าถึง DOM ที่แสดงผลสุดท้ายได้โดยตรง แต่ "ความจริง" ของแอปพลิเคชันมักจะอยู่ในสถานะภายในของเฟรมเวิร์ก เช่น ลำดับชั้นของคอมโพเนนต์ สัญญาณ JavaScript หรือสถานะแบ็กเอนด์
เป้าหมายของเราในการสร้างเครื่องมือสำหรับนักพัฒนาเว็บของบุคคลที่สามคือการจัดเตรียมเส้นทางให้ไลบรารีใดๆ ก็ตามแชร์บริบทที่สมบูรณ์และนำไปใช้ได้จริงนี้กับ AI Agent การดำเนินการดังกล่าวจะช่วยให้ Agent ดีบักปัญหาที่ก่อนหน้านี้ "มองไม่เห็น" ได้ เช่น
- ลำดับชั้นของคอมโพเนนต์: จับคู่องค์ประกอบ DOM ในหน้ากับคอมโพเนนต์เฟรมเวิร์กและสถานะภายในที่เกี่ยวข้องโดยตรง
- การตรวจสอบสถานะภายใน: เข้าถึงสถานะฝั่งเซิร์ฟเวอร์หรือเนื้อหาฐานข้อมูลได้โดยตรงภายในเซสชันการดีบัก
วิธีการทำงาน: Discovery API
เครื่องมือสำหรับนักพัฒนาเว็บของบุคคลที่สามใช้ JavaScript API ที่อิงตามเหตุการณ์ เซิร์ฟเวอร์ MCP ของเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome จะค้นหาเครื่องมือเหล่านี้โดยการส่งเหตุการณ์ devtoolstooldiscovery ในออบเจ็กต์ window ทั่วโลก ระบบจะส่งเหตุการณ์ devtoolstooldiscovery โดยอัตโนมัติในการนำทางทุกหน้า หรือหากมีการเปลี่ยนหน้าเว็บที่เลือก และสามารถส่งได้อย่างชัดเจนโดยใช้เครื่องมือ MCP list_3p_developer_tools
ใช้เครื่องมือของคุณเอง
หากต้องการแสดงเครื่องมือจากไลบรารีหรือแอปพลิเคชัน คุณต้องรับฟังเหตุการณ์การค้นพบนี้และตอบกลับด้วย ToolGroup
window.addEventListener('devtoolstooldiscovery', (event) => {
event.respondWith({
name: "My Library Tools",
description: "Tools for inspecting internal library state",
tools: [
{
name: "getInternalState",
description: "Returns the current internal state of the framework.",
inputSchema: {
type: "object",
properties: {
componentId: { type: "string" }
}
},
execute: async (input) => {
// Access your framework's internal registry
return myFramework.getState(input.componentId);
}
}
]
});
});
การใช้งานมีดังนี้
- กำหนดสคีมา: ใช้ JSON Schema เพื่อกำหนด อินพุตที่เครื่องมือคาดหวัง
- จัดการตรรกะ: ใช้ฟังก์ชัน
executeที่ทำงานในบริบทของหน้าและแสดงผลข้อมูลที่ทำให้เป็นอนุกรมได้ - องค์ประกอบ DOM: ไม่สามารถส่งออบเจ็กต์ที่ไม่ทำให้เป็นอนุกรมได้ระหว่างหน้ากับเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome สำหรับ Agent องค์ประกอบ DOM เป็นข้อยกเว้น เมื่อเครื่องมือแสดงผลองค์ประกอบ DOM เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome สำหรับ Agent จะจับคู่องค์ประกอบเหล่านั้นกับ UID เดียวกันที่เครื่องมือ
take_snapshotใช้โดยอัตโนมัติ ซึ่งจะช่วยให้ Agent โต้ตอบกับองค์ประกอบทั้งหมดของหน้า (ไม่ว่าจะมาจากเฟรมเวิร์กหรือจากสแนปชอตของหน้า) ได้ในลักษณะเดียวกัน
โต้ตอบกับเครื่องมือโดยใช้ MCP
เมื่อลงทะเบียนเครื่องมือแล้ว Agent การเขียนโค้ดจะโต้ตอบกับเครื่องมือเหล่านั้นผ่านเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome สำหรับ Agent ได้ เครื่องมือ MCP list_3p_developer_tools จะแสดงคำอธิบายของเครื่องมือของบุคคลที่สามที่พร้อมใช้งานในหน้า นอกจากนี้ เมื่อมีการเปลี่ยนหน้าเว็บที่เลือก (เช่น หลังจากนำทาง) เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome จะเพิ่มรายการเครื่องมือที่พร้อมใช้งานลงในคำตอบของเครื่องมือ MCP
หากต้องการใช้เครื่องมือเหล่านี้ Agent จะเรียกใช้ execute_3p_developer_tool เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome จะตรวจสอบพารามิเตอร์อินพุตโดยอัตโนมัติเพื่อให้ตรงกับคำจำกัดความของเครื่องมือ
นอกจากนี้ คุณยังเรียกใช้เครื่องมือได้โดยใช้เครื่องมือ MCP evaluate_script Agent จะระบุข้อมูลโค้ด JavaScript ที่เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome จะดำเนินการในหน้า ข้อมูลโค้ดนี้สามารถเรียกใช้เครื่องมือสำหรับนักพัฒนาเว็บของบุคคลที่สามและใช้เอาต์พุตของเครื่องมือเหล่านั้นในการคำนวณเพิ่มเติมได้ทันที
การใช้ evaluate_script มีประสิทธิภาพสำหรับการดีบักที่ซับซ้อน เนื่องจากช่วยให้ Agent ทำสิ่งต่อไปนี้ได้
- สร้างการดำเนินการ: รวมขั้นตอนหลายขั้นตอนเป็นการดำเนินการเดียว
- จัดการค่าที่ไม่ทำให้เป็นอนุกรมได้: ประมวลผลออบเจ็กต์หรือ สัญญาณที่เฉพาะเจาะจงของเฟรมเวิร์กในบริบทของหน้าโดยตรง
- เพิ่มประสิทธิภาพ: ลดค่าใช้จ่ายในการทำให้เป็นอนุกรมและหลีกเลี่ยง การเดินทางไปกลับหลายครั้งระหว่าง Agent กับเบราว์เซอร์
ความสำเร็จเบื้องต้น: การผสานรวม Angular
เราได้ร่วมงานกับทีม Angular ซึ่งได้ใช้เครื่องมือสำหรับนักพัฒนาเว็บของบุคคลที่สาม 2 รายการ
- เครื่องมือ Signal Graph: ช่วยให้ Agent เห็นภาพความสัมพันธ์ระหว่างสถานะกับมุมมอง ซึ่งช่วยให้ Agent ระบุการขึ้นต่อกันที่ทำให้เกิดลูปไม่สิ้นสุดหรือการอัปเดตล้มเหลวได้
- เครื่องมือ Dependency Injection (DI) Graph: แสดงตัวฉีดองค์ประกอบ ซึ่งช่วยให้ Agent เห็นได้อย่างชัดเจนว่ามีการระบุบริการไว้ที่ใดหรือไม่มีบริการที่ใด เนื่องจากกราฟ DI ของ Angular เป็นโครงสร้างที่สร้างขึ้นในขณะรันไทม์เท่านั้น การวิเคราะห์แบบคงที่เพียงอย่างเดียวจึงไม่สามารถดีบักข้อผิดพลาดของผู้ให้บริการได้
ทีม React ได้เริ่ม ทดลองใช้เครื่องมือสำหรับนักพัฒนาเว็บของบุคคลที่สาม แล้วเช่นกัน
ร่วมสร้างอนาคตของการดีบักแบบ Agentic กับเรา
ฟีเจอร์ทดลองนี้พร้อมใช้งานในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome สำหรับ Agent ตั้งแต่เวอร์ชัน 0.25.0 เป็นต้นไป หากต้องการเปิดใช้ ให้ใช้แฟล็กบรรทัดคำสั่ง --categoryExperimentalThirdParty
หากคุณดูแลเฟรมเวิร์ก ไลบรารี หรือเครื่องมือ และต้องการปรับปรุงประสบการณ์การดีบักสำหรับ Agent การเขียนโค้ด เรายินดีที่จะร่วมงานกับคุณ
- สำรวจเอกสาร: คู่มือทางเทคนิคใน GitHub
- ติดต่อเรา: เรากำลังมองหาพาร์ทเนอร์เพื่อทำซ้ำ API เหล่านี้และช่วยกำหนดอนาคตของการดีบักเว็บที่ขับเคลื่อนด้วย AI คุณสามารถสร้างปัญหาในที่เก็บ GitHub เพื่อติดต่อเรา
เข้าร่วมกับเราเพื่อสร้างอนาคตของการพัฒนาเว็บแบบ Agentic ไปด้วยกัน