Brain: หน่วยความจำแบบเอเจนต์ในฐานะวิกิความรู้

ระบบไฟล์ Markdown ที่มีโครงสร้าง ตรวจสอบย้อนกลับได้ และพัฒนาตัวเองได้ ซึ่งคอมไพล์แบบออฟไลน์และนำทางได้ตามต้องการ

ผู้เขียนPerplexity Engineering

ผู้ใช้ Computer ทำงานที่กินเวลาหลายเดือนและมีเซสชันหลายร้อยเซสชัน ภายในเซสชันที่สิบ ระบบควรมีประสิทธิภาพมากกว่าเซสชันแรกมาก ระบบควรสะสมบริบทเกี่ยวกับผู้ใช้ ความชอบ และงานที่เสร็จสิ้นไปแล้ว

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

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

บทนำ

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

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

เมื่อเร็วๆ นี้ เราได้เปิดตัว Brain ซึ่งเป็นองค์ประกอบหลักของระบบหน่วยความจำของ Computer ที่มอบสิ่งที่ดีที่สุดจากทั้งสองโลก Brain คือวิกิความรู้ที่มีโครงสร้างซึ่งอยู่บนไฟล์หน่วยความจำแบบสถิตและหลักฐาน การอ้างอิงเชื่อมโยงการยืนยันกับแหล่งที่มา และข้อมูลชิ้นส่วนที่เกี่ยวข้องจะเชื่อมต่อกันในแนวราบ วิกิที่มีการ组织นี้ทำให้บริบทสามารถนำทางได้ตามต้องการ ในขณะที่สิ่งประดิษฐ์ (Artifact) ที่มีรายละเอียดจะถูกเก็บไว้ในเลเยอร์ที่อยู่ด้านล่าง

วิกิความรู้ Brain แสดงเป็นกราฟ โดยมีเอนทิตีเป็นโหนดและมีเส้นเชื่อมโยงเรื่องที่เกี่ยวข้อง
ตัวอย่าง Brain ที่สร้างจากบุคคลจำลอง

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

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

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

การจัดระเบียบและการจัดเก็บหน่วยความจำ

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

หน่วยความจำที่อิงระบบไฟล์

เซสชัน Computer ทำงานอยู่ในแซนด์บ็อกซ์ที่มีระบบไฟล์ เชลล์ และยูทิลิตี I/O อยู่แล้ว ในการออกแบบ Brain เราต้องการแนะนำกลไกใหม่ให้น้อยที่สุดเท่าที่จะเป็นไปได้ในส่วนติดต่อระหว่างโมเดลและหน่วยความจำของเอเจนต์ นี่คือเหตุผลที่เราสร้าง Brain ไว้บนเลเยอร์บริบทที่อิงระบบไฟล์เป็นหลัก หน่วยความจำจะถูกสร้างเป็นไฟล์ในแซนด์บ็อกซ์ภายใต้ไดเรกทอรี memory/ และเอเจนต์จะใช้เครื่องมือเดียวกันกับไฟล์หน่วยความจำที่ใช้อยู่แล้วกับสิ่งอื่นๆ

ที่รากของทรีหน่วยความจำมีไดเรกทอรีระดับบนสุดสามไดเรกทอรีที่รักษาบริบทในระดับความอجرที่แตกต่างกัน knowledge/ คือตัว Brain เอง ซึ่งเป็นวิกิความรู้ที่สังเคราะห์ขึ้นซึ่งเชื่อมโยงเอนทิตี แนวคิด โปรเจกต์ที่ใช้งานอยู่ และการเรียนรู้ที่ผ่านมา notes/ มีสนิปเป็ตที่กลั่นกรองแล้วซึ่งจัดระเบียบเป็นโฟลเดอร์ตามหัวข้อ และ sessions/ เก็บดัชนี สรุป และการถอดเสียงแบบเต็มเป็นประวัติข้อมูลดิบ ตัวเลขด้านล่างแสดงมุมมองแบบง่ายของเลย์เอาต์

ทรีไดเรกทอรีแสดง memory/ พร้อมซับโฟลเดอร์ knowledge/, notes/ และ sessions/
ตัวอย่างมุมมองของเลย์เอาต์ระบบไฟล์หน่วยความจำ

พื้นผิวมีความซ้ำซ้อนโดยเจตนา สำหรับคำถามแบบฮอปเดียวง่ายๆ มักจะเพียงพอที่จะค้นหาสนิปเป็ตภายใน /notes สำหรับคำสำคัญ ในขณะที่เลเยอร์ /knowledge มีประโยชน์มากที่สุดสำหรับคำถามที่ต้องร้อยเรียงหลักฐานข้ามสัปดาห์หรือเดือนของเซสชัน Computer

Brain: วิกิความรู้

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

ลิงก์มี 2 ประเภท [[wikilinks]] คือขอบบริบท เชื่อมโยงหน้าในแนวราบ โปรเจกต์อาจเชื่อมโยงกับเจ้าของ ลูกค้า หรือแนวคิดที่พึ่งพา การทำตามลิงก์เหล่านี้จะตอบคำถามว่า "ฉันต้องรู้อะไรอีกบ้าง" การอ้างอิง [cite:N] คือขอบหลักฐาน เชื่อมโยงข้อเรียกร้องลงไปยังเซสชันดิบหรือแหล่งที่มาของตัวเชื่อมต่อที่สนับสนุนข้อมูลนั้น การทำตามลิงก์เหล่านี้จะตอบคำถามว่า "ฉันจะรู้ได้อย่างไรว่านี่เป็นความจริง"

ตัวเลขด้านล่างแสดงสิ่งที่ส่วนหนึ่งของ Brain จะมีหน้าตาอย่างไรสำหรับบุคคลจำลอง Nadia นักวิจัยด้านการเข้าถึง Brain ของเธอประกอบด้วยหน้าเกี่ยวกับโปรเจกต์ตัวอย่าง การวิ่งส프린트การออกแบบสากลในญี่ปุ่น สสังเคราะห์ความรู้จากเซสชันและตัวเชื่อมต่อ มุมมองกราฟแสดงให้เห็นว่าขอบบริบทและหลักฐานที่มีอยู่ในหน้าเชื่อมโยงเอนทิตีและแหล่งที่มาที่เกี่ยวข้องอย่างไร

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

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

การใช้งาน Brain

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

กลยุทธ์การสำรวจ

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

bash
# 1. Orient: the index is a map of everything known cat memory/knowledge/index.md # 2. Target: find pages that touch the question grep -Ril "kyoto\|sendai" memory/knowledge/ # 3. Read the page; follow context edges as needed cat memory/knowledge/projects/japan-universal-design-sprint.md cat memory/knowledge/entities/sora-city-laboratory.md # via [[wikilink]] cat memory/knowledge/entities/sapphir-mobility-coop.md # via [[wikilink]] # 4. Only if the claim must be verified: resolve evidence # city bases → [cite:1], [cite:10] → pplx://sessions/<id> # # Example (pseudo, replace with your real tool): # pplx-session-fetch 1eaf53d4-09e0-5823-bb96-c8662f582708 --slice <slice-id> # 5. Some evidence lives outside the sessions # meeting slots → [cite:15] → connector://google-calendar # # pplx-connector-fetch google-calendar --query "japan-sprint"

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

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

การสร้างไฟล์จริง

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

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

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

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

การดูแลรักษา Brain

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

Brainได้รับการดูแลโดยเอเจนต์เบื้องหลังที่เราเรียกว่า Dream เอเจนต์ Dream ทำงานแบบออฟไลน์เหนือหน่วยความจำที่ใช้ไฟล์ โดยสังเคราะห์ข้อมูลใหม่เป็นการอัปเดต Brain เรากำหนดขอบเขตและพฤติกรรมของเอเจนต์ Dream อย่างรอบคอบเพื่อปฏิบัติงานนี้อย่างมีประสิทธิภาพ พร้อมทั้งมีมาตรการป้องกันเฉพาะของ Dream เพื่อให้แน่ใจว่าการอัปเดต Brain มีความสอดคล้องและแม่นยำ

Dream: เอเจนต์เบื้องหลังสำหรับการปรับปรุงหน่วยความจำ

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

ไดอะแกรมวงวน: เซสชันแบบโต้ตอบป้อนข้อมูลให้ Dream ซึ่งอัปเดต Brain ซึ่งปรับปรุงเซสชันในอนาคต
เอเจนต์ Dream ทำงานเบื้องหลังเพื่ออัปเดต Brain ซึ่งก่อให้เกิดวงวนการพัฒนาตัวเอง

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

โดยทั่วไป การทำงานของ Dream ประกอบด้วย 4 ขั้นตอน:

  1. กำหนดทิศทาง: เอเจนต์ทำตามขั้นตอนการกำหนดทิศทางตามลำดับ โดยจะระบุขอบเขตที่เชื่อถือได้ คำสั่งยืนยัน บันทึกการลบ อินพุตเพิ่มเติม และเงื่อนไขการหยุด
  2. สรุปเซสชัน: สำหรับแต่ละเซสชันที่เป็นเซสชันใหม่ (หรือมีการเปลี่ยนใหม่) นับตั้งแต่การอัปเดตครั้งล่าสุด เอเจนต์จะเขียน (หรืออัปเดต) สรุปสั้นๆ ของเซสชันนั้น
  3. แนบข้อเท็จจริงเข้ากับเรื่องต่างๆ: เอเจนต์จะเพิ่มการสังเกตการณ์ทุกอย่างที่เห็นว่าสำคัญไปยังตำแหน่งที่เหมาะสม ซึ่งโดยทั่วไปคือหน้าวิกิ โดยจะตรวจสอบและสอบถามตัวเชื่อมต่อที่ผ่านการตรวจสอบความถูกต้องเมื่อมีให้ใช้งาน
  4. อัปเดตวิกิความรู้: เอเจนต์อัปเดตวิกิจากสิ่งที่พบ โดยสามารถสร้างหน้าใหม่สำหรับหัวข้อที่ยั่งยืน แก้ไขหน้าเมื่อการสังเคราะห์ปัจจุบันเปลี่ยนไป หรือเพิ่มลิงก์หรือการอ้างอิงใหม่ที่สนับสนุนข้อเรียกร้องเชิงข้อเท็จจริง นอกจากนี้ยังสามารถเลือกที่จะไม่เปลี่ยนแปลงใดๆ เมื่อกราฟปัจจุบันถูกต้องอยู่แล้ว

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

ไดอะแกรมช่องทางของ Dream ที่ทำงานและสร้างการอัปเดตที่เสนอสำหรับหน้า Brain
เอเจนต์ Dream ใช้ Brain ที่มีอยู่และข้อมูลใหม่เพื่อเสนอและเขียนการอัปเดต

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

การตรวจสอบ Brain

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

การประเมินแบบออฟไลน์

การประเมินแบบออฟไลน์หลักของเราใช้ชุดข้อมูลภายในที่มี 640 คำถามจาก 44 บุคคลจำลอง บุคคลจำลองจำลองรูปแบบที่ได้จากการผลิตในด้านจังหวะเซสชัน จำนวนเทิร์น การผสมหัวข้อ และความหนาแน่นของข้อความ โดยไม่มีข้อความคำถามในการผลิตเพื่อรักษาความเป็นส่วนตัวของผู้ใช้ แต่ละบัญชีถูกเติมข้อมูลผ่านท่อส่งหน่วยความจำในการผลิต ซึ่งรวมถึงการ استخراجหน่วยความจำ สรุปการสนทนา และการคอมไพล์วิกิความรู้ของ Dream สำหรับแต่ละคำถาม คำตอบที่ถูกต้องจะเชื่อมโยงทางกลไกกับหลักฐานเฉพาะที่มีอยู่ในประวัติของบัญชี

ตัวอย่างเช่น สำหรับ Nadia นักวิจัยด้านการเข้าถึงบุคคลจำลองที่แนะนำก่อนหน้านี้ ชุดข้อมูลประกอบด้วยคำถาม "ฉันกำลังประชุมกับองค์กรใดบ้างในเกียวโตและเซนได" คำตอบ (Sora City Lab ในเกียวโตและ Sapphir Mobility Coop ในเซนได) ปรากฏบนหน้าวิกิที่เกี่ยวข้องโดยตรง

เราเปรียบเทียบคำถามและบัญชีเดียวกันโดยเปิดใช้งานวิกิความรู้ที่คอมไพล์แล้วเทียบกับปิดใช้งาน พื้นผิวหน่วยความจำอื่นๆ ยังคงใช้งานได้ในทั้งสองเงื่อนไข วิธีนี้ช่วยแยกการมีส่วน 0.600 เป็น 0.661 ซึ่งเป็นการเพิ่มขึ้น 6.1 จุดเปอร์เซ็นต์ และการเรียกคืนหลักฐานจาก 0.573 เป็น 0.625 ซึ่งเป็นการเพิ่มขึ้น 5.2 จุดเปอร์เซ็นต์ ผลกระทบมีมากที่สุดสำหรับคำถามเกี่ยวกับความชอบ (+10.2 จุดเปอร์เซ็นต์) การใช้เหตุผลเชิงเวลา (+8.6 จุดเปอร์เซ็นต์) และการดึงรายละเอียดจากกิจกรรมก่อนหน้า (+6.9 จุดเปอร์เซ็นต์) ใน 84% ของคำถาม เอเจนต์สัมผัสแหล่งที่มาที่ผูกกับหลักฐานจริงได้อย่างตรวจสอบได้

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

เรายังเรียกใช้การตัดทอน Brain ที่ตรงกันบนชุดย่อยของเกณฑ์มาตรฐานสาธารณะสองรายการ บน LoCoMo การลบวิกิช่วยลดความถูกต้องของคำตอบลง 4.6 จุดเปอร์เซ็นต์โดยเฉลี่ย จากสามรอบการทำงานด้วยโมเดลที่แตกต่างกัน บน LongMemEval-S ไม่พบการเปลี่ยนแปลงที่มีนัยสำคัญทางสถิติ ผลลัพธ์นี้สอดคล้องกับบทบาทที่ตั้งใจไว้ของ Brain LongMemEval-S ทดสอบการกู้คืนข้อเท็จจริงจากแต่ละเซสชันเป็นหลัก ซึ่งการถอดเสียงพื้นฐานเป็นเส้นทางที่ซ้ำซ้อนไปยังคำตอบ LoCoMo เน้นย้ำหลักฐานที่กระจัดกระจายไปตามการสนทนา ผู้พูด และวันที่มากขึ้น ซึ่งสร้างโอกาสมากขึ้นสำหรับการสังเคราะห์ข้ามเซสชันของวิกิที่จะมีส่วนร่วม

โดยรวมแล้ว เมื่อเปิดใช้งาน Brain เอเจนต์ในการผลิตบรรลุความถูกต้องของคำตอบ 0.91 บน LongMemEval-S และ 0.83 บน LoCoMo เนื่องจากการทดลองเหล่านี้ใช้ชุดย่อยของเกณฑ์มาตรฐาน จึงไม่ใช่ผลลัพธ์เกณฑ์มาตรฐานที่แน่นอน อย่างไรก็ตาม การตัดทอนยังคงให้สัญญาณที่แข็งแกร่งว่าวิกิช่วยปรับปรุงประสิทธิภาพ โดยเฉพาะอย่างยิ่งเมื่อต้องรวมหลักฐานข้ามการสนทนา เนื่องจาก Brain เป็นส่วนหนึ่งของ Computer แทนที่จะเป็นระบบเรียกค้นเฉพาะเกณฑ์มาตรฐานที่ได้รับการปรับ 10 เราเชื่อว่าความสามารถในการแข่งขันจะเพิ่มขึ้นเฉพาะกับงานที่มีความคล้ายคลึงกับเวิร์กโฟลว์การผลิตมากขึ้นเท่านั้น

การประเมินแบบออนไลน์

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

ผลลัพธ์เบื้องต้นที่รายงานเมื่อวันที่ 18 มิถุนายนแสดงให้เห็นว่า Brain เพิ่มความถูกต้องของคำตอบ 25% และการเรียกคืน 16% ประสิทธิภาพเหล่านี้ยังคงรักษาไว้ได้ ในช่วง 30 วันที่ผ่านมา เซสชันที่เปิดใช้งาน Brain มีประสิทธิภาพเหนือกว่าการควบคุมในการทำงานทุกครั้งและทุกมิติที่มีการตัดสิน ในแง่สัมบูรณ์ ผู้ใช้ Computer ได้รับการปรับปรุง 9.3 จุดในด้านความถูกต้อง 8.0 จุดในด้านความเป็นปัจจุบัน และ 8.9 จุดในการเรียกคืน เส้นทางการทำงานที่เปิดใช้งาน Brain ยังใช้โทเค็นน้อยลงประมาณ 15% มีค่าใช้จ่ายลดลง 10% และเสร็จสิ้นการสร้างเร็วขึ้น 10%

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

การปรับปรุงอย่างต่อเนื่อง

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

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

บทสรุป

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

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

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

เรายังคงพัฒนาความสามารถเพิ่มเติมเพื่อปรับปรุงคุณภาพหน่วยความจำของ Computer ในระหว่างนี้ สำหรับผู้ใช้ที่เปิดใช้งาน Brain หน่วยความจำจะดีขึ้นในทุกๆ เซสชัน