วิธีที่เราได้เปิดตัว Gemini ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome

Alex Rudenko
Alex Rudenko
Ergün Erdogmus
Ergün Erdogmus

เผยแพร่เมื่อวันที่ 14 มกราคม 2025

ในงาน Google I/O 2024 เมื่อปีที่แล้ว เราได้เปิดตัว Console Insights ซึ่งเป็นฟีเจอร์ AI แรกในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome ข้อมูลเชิงลึกของคอนโซลช่วยให้เข้าใจข้อผิดพลาดและคําเตือนที่บันทึกไว้ในคอนโซลโดยการส่งข้อมูลเครือข่าย ซอร์สโค้ด และสแต็กเทรซที่เกี่ยวข้องกับข้อความบันทึกไปยัง Gemini ซึ่งเป็นโมเดลภาษาขนาดใหญ่ (LLM) ของ Google ข้อมูลเชิงลึกของ Console จะส่งพรอมต์เดียวไปยัง Gemini ซึ่งจะแสดงคำตอบเดียวโดยที่นักพัฒนาแอปไม่สามารถถามคำถามต่อได้ แม้ว่าขั้นตอนการทำงานแบบเดียวนี้จะใช้อธิบายข้อความแสดงข้อผิดพลาดได้ดี แต่ก็ไม่เหมาะกับกรณีการใช้งานการแก้ไขข้อบกพร่องที่ซับซ้อนมากขึ้นในเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ ซึ่งไม่แน่ชัดว่า AI ต้องการข้อมูลใดจากหน้าเว็บที่ตรวจสอบเพื่อช่วยเหลือ

Use Case อย่างหนึ่งที่กล่าวถึงคือการแก้ไขข้อบกพร่องเกี่ยวกับการจัดรูปแบบ หน้าเว็บหน้าเดียวอาจมีองค์ประกอบและกฎ CSS หลายพันรายการ โดยมีเพียงบางส่วนเท่านั้นที่เกี่ยวข้องกับการแก้ไขข้อบกพร่องของสถานการณ์หนึ่งๆ การระบุโค้ดที่ถูกต้องเพื่อแก้ไขข้อบกพร่องนั้นเป็นเรื่องยาก แม้กระทั่งสำหรับมนุษย์ แต่จากการสร้างต้นแบบระหว่างแฮ็กแฮทแคน AI ที่ Google เราพบว่า LLM ทำงานได้ดีทีเดียว เราจึงอยากนำความสามารถนี้มามอบให้แก่ผู้ใช้เครื่องมือสำหรับนักพัฒนาเว็บด้วย นั่นคือการสร้างเครื่องมือที่สามารถตรวจสอบปัญหาการจัดสไตล์โดยการค้นหาหน้าเว็บเพื่อหาข้อมูลบริบทเพิ่มเติมแบบอินเทอร์แอกทีฟ สิ่งที่เราสร้างขึ้นได้เปิดตัวเป็นความช่วยเหลือจาก AI สำหรับการจัดสไตล์ในอีกไม่กี่เดือนต่อมา

ในโพสต์นี้ เราต้องการพูดถึงความท้าทายที่เราพบขณะนํา AI มาใช้กับผลิตภัณฑ์ที่ได้รับความนิยม เช่น เครื่องมือสําหรับนักพัฒนาเว็บใน Chrome ซึ่งเป็นเว็บแอปโดยพื้นฐาน และสิ่งที่คุณสามารถปรับใช้กับฟีเจอร์ AI ของคุณเอง

การเก็บรวบรวมข้อมูลที่ถูกต้อง

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

เราจึงใช้ ReAct (Yao et al., 2022) strategy กลยุทธ์การแจ้งนี้ช่วยให้ LLM สามารถใช้เหตุผลได้อย่างอิสระและกำหนดการดำเนินการต่อๆ ไปตามการหาเหตุผล

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

ภาพแสดงรูปแบบ ReAct ที่นำมาใช้งานเพื่อรับความช่วยเหลือจาก AI ระบบจะส่งพรอมต์ไปยัง Gemini ซึ่งจะแสดงการตอบกลับที่ใช้การดำเนินการกับหน้าที่ตรวจสอบผ่านคำสั่งของเครื่องมือสำหรับนักพัฒนาเว็บ วงจรนี้จะทำงานซ้ำจนกว่า LLM จะระบุคำตอบที่เหมาะสมสำหรับการค้นหาของผู้ใช้
การแสดงภาพรูปแบบ ReAct ที่นำมาใช้งานเพื่อรับความช่วยเหลือจาก AI ระบบจะส่งพรอมต์ไปยัง Gemini ซึ่งจะแสดงการตอบกลับพร้อมการดำเนินการที่จะใช้กับหน้าที่ตรวจสอบผ่านคำสั่งของเครื่องมือสำหรับนักพัฒนาเว็บ ขั้นตอนนี้จะวนซ้ำจนกว่า LLM จะระบุคำตอบที่เหมาะสมกับการค้นหาของผู้ใช้

เราได้ให้เครื่องมือเพียงอย่างเดียวแก่ Gemini เพื่อรวบรวมข้อมูล ซึ่งก็คือการเรียกใช้ JavaScript ในหน้าที่ตรวจสอบ ซึ่งจะช่วยให้ Gemini ดำเนินการต่างๆ ผ่านความช่วยเหลือจาก AI ได้ เช่น

  • เข้าถึงและวิเคราะห์ DOM: ไปยังส่วนต่างๆ ของต้นไม้ DOM, ตรวจสอบแอตทริบิวต์ขององค์ประกอบ และทําความเข้าใจความสัมพันธ์ระหว่างองค์ประกอบ
  • เรียกข้อมูลสไตล์ที่คำนวณแล้ว: เข้าถึงสไตล์ที่คำนวณแล้วสำหรับองค์ประกอบใดก็ได้
  • ทําการคํานวณและการวัด: เรียกใช้โค้ด JavaScript เพื่อคํานวณระยะทาง ขนาด และตําแหน่งขององค์ประกอบ

วิธีนี้ช่วยให้ความช่วยเหลือจาก AI ทำงานกับโค้ดที่เกี่ยวข้องเท่านั้นแบบอินเทอร์แอกทีฟ ซึ่งช่วยปรับปรุงคุณภาพของคำตอบ เวลาในการตอบกลับ และการใช้ทรัพยากรการประมวลผล เมื่อเทียบกับการส่งซอร์สโค้ด HTML และ CSS ทั้งหมดไปยัง Gemini

เรียกใช้โค้ดที่ AI สร้างขึ้นในพื้นที่ผู้ใช้

คุณอาจแปลกใจที่เราใช้ JavaScript ในการแก้ไขข้อบกพร่องเกี่ยวกับการจัดสไตล์ ซึ่งอาจเกิดจากสาเหตุ 2 ข้อต่อไปนี้

  • Web API มีประสิทธิภาพสูงและครอบคลุม Use Case ในการแก้ไขข้อบกพร่องหลายรายการโดยพื้นฐาน แม้ว่าการใช้การเรียก API ด้วยตนเองเพื่อไปยังส่วนต่างๆ ของ DOM หรือเข้าถึงสไตล์ที่คอมไพล์แล้วเพื่อแก้ไขข้อบกพร่องอาจเป็นเรื่องน่าเบื่อสำหรับนักพัฒนาซอฟต์แวร์ แต่ LLM สามารถสร้างโค้ดที่เรียกใช้ API เหล่านั้นได้
  • แม้ว่าจะสร้าง API ใหม่ให้ตัวแทนใช้ได้ แต่การใช้ API สาธารณะที่มีอยู่ซ้ำๆ มักเป็นทางเลือกที่ดีกว่า เนื่องจาก LLM รู้จัก API เหล่านั้นอยู่แล้ว การให้ความรู้ LLM เกี่ยวกับ API ใหม่ต้องใช้ทรัพยากรจํานวนมากเพื่อการปรับแต่งและข้อมูลการฝึกอบรมเฉพาะ

แต่การเรียกใช้โค้ดที่ AI สร้างขึ้นในพื้นที่ผู้ใช้มีความเสี่ยง สำหรับความช่วยเหลือจาก AI เราจำเป็นต้องลดความเสี่ยงของการเปลี่ยนแปลงที่อาจทำลายหน้าเว็บซึ่งตัวแทนอาจทำ ด้วยเหตุนี้ เราจึงใช้การตรวจสอบผลข้างเคียงที่ V8 ซึ่งเป็นเครื่องมือ JavaScript ของ Chrome แสดงผ่านโปรโตคอลเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome การตรวจสอบเดียวกันนี้ใช้กับฟังก์ชันการทำงานแบบเติมข้อความอัตโนมัติในคอนโซลเครื่องมือสำหรับนักพัฒนาเว็บ โดยจะเรียกใช้เฉพาะโค้ด JavaScript ตราบใดที่ไม่ได้แก้ไขสถานะหน้าเว็บ ระบบจะดำเนินการตรวจสอบขณะที่ V8 เรียกใช้โค้ด โดยอิงตามรายการที่อนุญาตของ JavaScript ในตัวที่ทราบว่าไม่มีผลข้างเคียง

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

นอกจากนี้ JavaScript ที่สร้างขึ้นจะทํางานในสิ่งที่เรียกว่า "โลก" แยกต่างหาก ซึ่งคล้ายกับวิธีที่ส่วนขยายเรียกใช้สคริปต์แซนด์บ็อกซ์ นั่นคือ โค้ดที่สร้างขึ้นจะสามารถเข้าถึง DOM และ Web API แต่ไม่สามารถเข้าถึงโค้ด JavaScript หรือสถานะที่หน้าเว็บที่ตรวจสอบกำหนดไว้

การติดตามการเปลี่ยนแปลงที่ตัวแทนทำ

นอกจากการตรวจสอบปัญหาและตอบคำถามเกี่ยวกับการแก้ไขข้อบกพร่องเกี่ยวกับหน้าเว็บแล้ว เรายังต้องการให้ตัวแทนความช่วยเหลือของ AI สามารถแก้ไขสไตล์ในหน้าเว็บในลักษณะที่นักพัฒนาซอฟต์แวร์สามารถติดตามได้

ในการดําเนินการนี้ เราได้ใช้การเชื่อมโยงที่เรียกว่า setElementStyles ซึ่งแสดงต่อบริบทการดําเนินการของตัวแทน นอกเหนือจาก Web API เริ่มต้น

เราได้แจ้งให้ Gemini ทราบถึงวิธีการใหม่นี้โดยระบุไว้ในคำนำของความช่วยเหลือจาก AI

If you need to set styles on an HTML element, always call the \`async setElementStyles(el: Element, styles: object)\` function.

แม้ว่าจะเป็น API ที่ออกแบบมาเพื่อตัวแทนโดยเฉพาะ ซึ่งมาพร้อมกับความท้าทายที่กล่าวถึงก่อนหน้านี้ แต่ Gemini ก็ใช้ API นี้ได้อย่างน่าเชื่อถือแม้ไม่ได้ปรับแต่งอย่างละเอียดเมื่อต้องเปลี่ยนสไตล์ในองค์ประกอบหนึ่งๆ

ทางด้านเครื่องมือสำหรับนักพัฒนาเว็บ เมื่อมีการเรียก setElementStyles จากตัวแทน ความช่วยเหลือจาก AI จะใช้สไตล์ชีตของเครื่องมือตรวจสอบเพื่อบันทึกการเปลี่ยนแปลงสำหรับตัวเลือกองค์ประกอบ การฝัง CSS ใช้เพื่อตั้งชื่อการเปลี่ยนแปลงและเพิ่มความเฉพาะเจาะจงของตัวเลือกองค์ประกอบ กฎ CSS ตัวอย่างที่ตัวแทนสร้างขึ้นจึงมีลักษณะดังนี้

.ai-style-change-1 { /* the ID is incremented for each change*/
  .element-selector { /* Element selector is computed based on the element setElementStyles was called on. */
    color: blue;
  }
}

แม้ว่าวิธีนี้จะไม่แก้ปัญหาความขัดแย้งของสไตล์ที่อาจเกิดขึ้นในหน้าเว็บได้ทั้งหมด แต่วิธีนี้ใช้ได้กับกรณีส่วนใหญ่

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

การทําให้ผู้ใช้เห็นการดําเนินการของตัวแทน

เมื่อเพิ่มฟีเจอร์ตัวแทนลงในผลิตภัณฑ์ สิ่งสำคัญคือต้องทำให้การดำเนินการของตัวแทนมีความโปร่งใสต่อผู้ใช้ เพื่อให้ผู้ใช้มีโอกาสติดตาม เข้าใจ และอาจแทรกแซงได้

ดังนั้น เราจึงสั่งให้ Gemini จัดโครงสร้างคำตอบในรูปแบบที่เจาะจงสำหรับการช่วยเหลือจาก AI โดยเพิ่มข้อมูลต่อไปนี้ในคำนำ

You are going to answer to the query in these steps:
*   THOUGHT
*   TITLE
*   ACTION
*   ANSWER
*   SUGGESTIONS
Use THOUGHT to explain why you take the ACTION. Use TITLE to provide a short summary of the thought.

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

ขั้นตอนที่ยุบอยู่และหยุดชั่วคราวในความช่วยเหลือจาก AI ของเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome
ขั้นตอนที่ยุบอยู่และหยุดชั่วคราวในความช่วยเหลือจาก AI ของเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome

แนวทางนี้ไม่ได้เกี่ยวกับการสังเกต AI เพียงอย่างเดียว แต่ยังเป็นการเรียนรู้จาก AI อย่างสม่ำเสมอ การขยายส่วนเหล่านี้จะช่วยให้ผู้ใช้วิเคราะห์ข้อมูลที่ Gemini เห็นว่ามีความเกี่ยวข้องกับการแก้ไขข้อบกพร่องของปัญหาหนึ่งๆ และเข้าใจกระบวนการที่ดำเนินการ ความโปร่งใสนี้ช่วยให้ผู้ใช้เรียนรู้จากกลยุทธ์การแก้ไขข้อบกพร่องของ AI เพื่อให้ใช้เทคนิคที่คล้ายกันกับปัญหาในอนาคตได้ แม้ว่าจะทำงานโดยไม่มี AI ก็ตาม

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

ตัวอย่างพรอมต์ติดตามผลที่แนะนำในความช่วยเหลือจาก AI ซึ่งสร้างขึ้นเป็นส่วนหนึ่งของคำตอบ
ตัวอย่างพรอมต์ติดตามผลที่แนะนำในความช่วยเหลือจาก AI ซึ่งสร้างขึ้นเป็นส่วนหนึ่งของคำตอบ

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

การพัฒนาที่ขับเคลื่อนโดยการประเมิน

การพัฒนาความช่วยเหลือจาก AI สำหรับการจัดแต่งทรงผมเกิดขึ้นจากกระบวนการประเมินที่เข้มงวด เราได้รวบรวมตัวอย่างการแก้ไขข้อบกพร่องเว็บในชีวิตจริงที่ครอบคลุมเพื่อวัดประสิทธิภาพและระบุจุดที่ต้องปรับปรุง โดยครอบคลุมปัญหาที่พบได้ทั่วไป เช่น การล้น คอมโพเนนต์เว็บ ภาพเคลื่อนไหว และอื่นๆ ซึ่งช่วยให้เราระบุพื้นที่ปัญหาการแก้ไขข้อบกพร่องของเว็บได้อย่างครอบคลุมและเข้าใจความท้าทายที่เกี่ยวข้องอย่างถ่องแท้ แต่งานนี้ก็ไม่มีวันจบสิ้น เนื่องจากมีการเพิ่มฟีเจอร์ใหม่ๆ ลงในแพลตฟอร์มเว็บเป็นประจำ เราจึงต้องอัปเดตตัวอย่างเหล่านั้นให้ทันสมัยอยู่เสมอในอนาคต

ระบบจะป้อนตัวอย่างเหล่านั้นลงในไปป์ไลน์การประเมินอัตโนมัติเพื่อบันทึกคำตอบของ Gemini จากนั้นระบบจะแสดงข้อมูลจากการทดสอบอัตโนมัติเหล่านั้นในเครื่องมือที่สร้างขึ้นเอง ซึ่งเราจะประเมินประสิทธิภาพของ Gemini สำหรับความช่วยเหลือจาก AI ด้วยตนเองเทียบกับเกณฑ์ที่กำหนดไว้ล่วงหน้า ซึ่งจะเป็นข้อมูลในขั้นตอนการพัฒนาของเราต่อไป

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

เรากำลังพัฒนาวิธีการยืนยันอัตโนมัติเพื่อปรับปรุงกระบวนการประเมินให้ดียิ่งขึ้น ซึ่งรวมถึง

  • การยืนยันเพื่อยืนยันว่าการแก้ไขถูกต้อง
  • การตรวจสอบตามโค้ดเพื่อป้องกันไม่ให้ Gemini แสดงผลลัพธ์ที่ไม่ต้องการ
  • การใช้ LLM เป็นผู้ตัดสินโดยยึดตามเกณฑ์การให้คะแนนที่เฉพาะเจาะจง เพื่อทำให้การประเมินด้วยตนเองเป็นแบบกึ่งอัตโนมัติและรวดเร็วขึ้น

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

การแทรกพรอมต์

ข้อจำกัดที่ทราบกันดีและมีการบันทึกไว้ของ LLM คือมีแนวโน้มที่จะเกิดการแทรกพรอมต์ การส่งผ่านพรอมต์เป็นเทคนิคในการหาวิธีเขียนทับคำสั่งระบบเดิมของ LLM ซึ่งทำให้ระบบแสดงผลเนื้อหาที่ไม่ได้ตั้งใจโดยนักพัฒนาซอฟต์แวร์

ขณะนี้โมเดลส่วนใหญ่มีมาตรการลดผลกระทบของการแทรกพรอมต์อยู่แล้ว เช่นเดียวกับ Gemini นอกจากนี้ เรายังพยายามลดปัญหานี้ในภาคผนวกด้วย โดยใส่วิธีการต่อไปนี้

If the user asks a question about religion, race, politics, sexuality, gender, or other sensitive topics, answer with "Sorry, I can't answer that. I'm best at questions about debugging web pages.

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

การสร้างรากฐานที่มั่นคง

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

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

ผลกระทบด้านความปลอดภัยเมื่อทำงานกับคําขอเครือข่าย

ความช่วยเหลือจาก AI สำหรับเครือข่ายช่วยให้ผู้ใช้สามารถพูดคุยเกี่ยวกับคำขอเครือข่ายที่เฉพาะเจาะจงกับ Gemini โดยใช้ข้อมูลจากคำขอเป็นบริบทในการสนทนา โดยระบบจะส่งข้อมูลต่อไปนี้ไปยัง Gemini

  • ส่วนหัวของคำขอ: ส่วนย่อยของส่วนหัวที่เบราว์เซอร์ส่งไปยังเซิร์ฟเวอร์
  • ส่วนหัวการตอบกลับ: ส่วนย่อยของส่วนหัวที่เซิร์ฟเวอร์ส่งกลับ
  • สถานะการตอบกลับ: รหัสสถานะ HTTP ที่บ่งบอกการตอบกลับของเซิร์ฟเวอร์ (เช่น 200, 404)
  • เวลา: ข้อมูลเวลาโดยละเอียดที่ครอบคลุมระยะต่างๆ ของคำขอ เช่น การตั้งค่าการเชื่อมต่อและการโอนข้อมูล
  • เชนผู้เริ่มคําขอ: ลําดับการดําเนินการและสคริปต์ที่เริ่มคําขอ

แม้ว่าส่วนหัวจะมีความสําคัญในการทําความเข้าใจวิธีสร้างคําขออย่างสมบูรณ์ แต่ก็มีความเสี่ยงด้านความปลอดภัย เนื่องจากอาจมีข้อมูลเข้าสู่ระบบ เช่น คีย์ API, โทเค็นเซสชัน หรือแม้แต่รหัสผ่านธรรมดา เราไม่ส่งส่วนหัวทั้งหมดไปยัง Gemini เพื่อปกป้องข้อมูลที่ละเอียดอ่อนดังกล่าว แต่เราจะดูแลรักษารายการที่อนุญาตของส่วนหัวที่อนุญาตแทน ระบบจะแทนที่ค่าของส่วนหัวที่ไม่ได้อยู่ในรายการที่อนุญาตด้วย <redacted> วิธีนี้ช่วยให้มั่นใจได้ว่า Gemini จะได้รับบริบทที่จําเป็นขณะที่ปกป้องข้อมูลผู้ใช้

การปรับตัวให้เข้ากับรูปแบบข้อมูลต่างๆ

ความช่วยเหลือจาก AI สําหรับแหล่งที่มาช่วยให้นักพัฒนาแอปถามคําถามเกี่ยวกับไฟล์ต้นฉบับในแผงแหล่งที่มาได้ เช่น "ไฟล์นี้มีไว้สําหรับอะไร"

ระบบจะส่งข้อมูลเกี่ยวกับไฟล์ทั้งหมดในพรอมต์เดียว ซึ่งรวมถึงชื่อไฟล์ เนื้อหาไฟล์ และข้อมูลว่ามีการแมปแหล่งที่มาหรือไม่ ข้อความนี้ได้ผลดีเนื่องจากเป็นข้อความธรรมดา แต่ไฟล์ข้อความขนาดใหญ่หรือไฟล์ไบนารีเป็นปัญหาสำหรับ LLM สำหรับไฟล์ไบนารี เราตัดสินใจที่จะระบุว่าเนื้อหาเป็นไบนารีในพรอมต์และจะไม่ส่งเนื้อหาจริง สำหรับไฟล์ข้อความขนาดใหญ่ เราจะส่งเฉพาะเนื้อหาส่วนเล็กๆ ที่ตัดมาจากต้นไฟล์เท่านั้น

สำหรับความช่วยเหลือด้านประสิทธิภาพจาก AI ซึ่งช่วยให้นักพัฒนาแอปถามคําถามเกี่ยวกับงานหนึ่งๆ จากโปรไฟล์ประสิทธิภาพที่บันทึกไว้ได้ การสร้างการแสดงผลที่พอดีกับกรอบบริบทของ Gemini และสามารถตีความเพื่อให้ได้ข้อมูลเชิงลึกเพิ่มเติมก็ถือเป็นความท้าทายที่คล้ายกัน

ในการสร้างงานนำเสนอดังกล่าวจากโปรไฟล์ประสิทธิภาพ เราได้สร้างโปรแกรมเปลี่ยนรูปแบบเฉพาะที่เรียกว่า AiCallTree ซึ่งจัดรูปแบบลําดับการเรียกใช้สําหรับงานในลักษณะที่ LLM ประมวลผลได้ นับจากนี้ไป เราจะสำรวจกลยุทธ์ ReAct ที่นี่ด้วย เพื่อลดปริมาณข้อมูลที่จําเป็นต้องส่งไปยัง Gemini ล่วงหน้า

ความช่วยเหลือจาก AI ในอนาคต

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

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