วิธีที่เราประมวลผล 13 พันล้านโทเค็นด้วยต้นทุนเพียง 0.04 เรอัลต่อล้านโทเค็น

@gmprestes
โปรตุเกส09 ก.ค. 2569
274K
11
0
1
3

TL;DR

Guilherme Silva เจาะลึกสถาปัตยกรรมของ Velua Code ซึ่งเป็น AI Agent ที่ใช้การบีบอัดบริบท (Context Compression), การกำหนดเส้นทางโมเดล (Model Routing) และกราฟความรู้ (Knowledge Graphs) เพื่อประมวลผลโทเค็นหลายพันล้านรายการด้วยต้นทุนที่ถูกกว่ามาตรฐานหลายเท่า

ในเดือนที่ผ่านมา เอเจนต์เขียนโค้ดที่ผมกำลังสร้างได้ประมวลผล 13 พันล้านโทเค็นระหว่างอินพุตและเอาต์พุต โดยมีอัตราการ hit แคช 97.24% และต้นทุนจริงประมาณ 0.04 R$ ต่อล้านโทเค็น

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

นี่คือ Velua Code เอเจนต์ที่เรากำลังสร้างที่สตาร์ทอัพใหม่ที่ผมตัดสินใจก่อตั้ง Velua AI (https://velua.aihttps://velua.ai/)) ก่อนสถาปัตยกรรม ขอพูดถึงแนวคิดหลักก่อน

แนวคิดหลัก: สามปัญหา ที่แก้พร้อมกัน

เอเจนต์เขียนโค้ดพังในสามจุด และการแก้แค่จุดเดียวไม่พอ

ต้นทุน เอเจนต์อัตโนมัติใช้โทเค็นในปริมาณที่ทำให้ CFO ทุกคนกลัว ถ้าแต่ละรอบการทำงานมีราคาแพง ก็ไม่มีใครปล่อยให้เอเจนต์ทำงานวนซ้ำ—และเอเจนต์ที่ไม่ทำงานวนซ้ำก็ไม่ได้แก้ปัญหาอะไรจริงๆ

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

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

ทั้งสามอย่างส่งผลซึ่งกันและกัน: บริบทที่พองตัวเพิ่มต้นทุน การขาดความจำทำให้บริบทพองตัว นั่นคือสาเหตุที่ Velua Code โจมตีทั้งสามอย่างพร้อมกัน

ต้นทุน: การบีบอัดต้นทาง + การกำหนดเส้นทางแบบแอคทีฟ

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

รอบๆ มัน เลเยอร์ที่เรียบง่ายกว่าทำงานหนัก: การลบรายการซ้ำของการอ่าน (เอเจนต์อ่านไฟล์เดิมซ้ำหรือไม่? เวอร์ชันเก่าออกจากบริบท), การบีบอัด JSON เชิงโครงสร้าง, การตัดเนื้อหาโค้ดทิ้งในขณะที่เก็บลายเซ็นไว้, และเกณฑ์แบบปรับตัวที่บีบอัดแน่นขึ้นเมื่อบริบทใหญ่ขึ้น ทุกอย่างถูกวัดด้วย tokenizer จริงของโมเดลเป้าหมาย—การประหยัดนับเป็นโทเค็นจริง ไม่ใช่ค่าประมาณ

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

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

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

เป็นการผสมผสาน—การบีบอัดต้นทาง, แคชสูง, การกำหนดเส้นทางระหว่างโมเดลขนาดเล็ก—ที่สร้างราคา 0.04 R$ ต่อล้านขึ้นมา แต่ละชิ้นส่วนทั้งสามอย่างเดี่ยวๆ ไม่สามารถทำได้ใกล้เคียงเลย

บริบท: กราฟแทนที่จะเป็น Grep

วิธีมาตรฐานที่เอเจนต์จะ "เข้าใจ" ฐานโค้ดคือ grep และการอ่านไฟล์—ซึ่งมีราคาแพงและมองไม่เห็น Velua Code จะคง กราฟความรู้ของโค้ด ไว้: ฟังก์ชัน คลาส เส้นทาง และความสัมพันธ์ระหว่างสิ่งเหล่านี้ (ใครเรียกใคร ใครทำอะไรตามใคร)

สิ่งนี้เปลี่ยนทั้งสองด้านของลูป ในด้านอินพุต เอเจนต์จะประกอบชุดบริบทที่บางเบาโดย การปรึกษากราฟ—มุมมองทางสถาปัตยกรรมของโปรเจกต์และโหนดที่เกี่ยวข้องกับงาน—แทนที่จะทิ้งไฟล์ลงในพรอมต์ ในด้านเอาต์พุต มันเปลี่ยน การตรวจสอบ: เมื่อเอเจนต์แก้ไขฟังก์ชัน กราฟจะแสดงรายการจุดเรียกที่ได้รับผลกระทบอย่างแม่นยำ และเอเจนต์ผู้ตรวจสอบ—ซึ่งมีบริบทที่สะอาด ปราศจากอคติของผู้เขียนโค้ด—จะตรวจสอบแต่ละจุดเหล่านั้น นอกเหนือจากการรันเทส lint และ build "คุณเปลี่ยนลายเซ็นของ processOrder; มีเจ็ดตำแหน่งที่เรียกใช้มัน" เป็นการตรวจสอบประเภทที่ grep ไม่สามารถให้ได้

ความจำ: ลูปที่เรียนรู้

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

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

ลูปที่สมบูรณ์แล้วคือ: รวบรวมบริบท (กราฟ + ความจำ + RAG), วางแผนด้วยโมเดลที่เหมาะสมกับขนาดของปัญหา, ดำเนินการกับเอเจนต์ย่อย, ตรวจสอบด้วยผู้ตรวจสอบที่มีบริบทสะอาดและการรับรู้กราฟ, เรียนรู้โดยการบันทึกการตัดสินใจ—และทำซ้ำ โดยมีเพดานต้นทุน มันคือลูปเอเจนต์แบบมาตรฐาน โดยแต่ละเฟสทั่วไปถูกแทนที่ด้วยความสามารถของมันเอง

ทำไมลูกค้ารายแรกถึงเป็นตัวเราเอง

กลยุทธ์ผลิตภัณฑ์นั้นจงใจขัดกับสัญชาตญาณ: ก่อนที่จะขายให้ลูกค้ารายใด Velua Code จะทำงานภายในที่ SIGE Cloud การกินอาหารของตัวเองจริงๆ—ERP ในระบบ production ที่มีทีมงานจริงใช้เอเจนต์ทำงานบนโค้ดจริง ทุกวัน

การใช้งานภายในนี้เองที่สร้าง 13 พันล้านโทเค็น และนี่คือสิ่งที่กำลังหล่อหลอมผลิตภัณฑ์ เอเจนต์อัตโนมัติในระบบ production เผยให้เห็นปัญหาที่ไม่มี benchmark ใดเผยให้เห็น: สิทธิ์, ต้นทุนสะสม, งานที่ชะงัก, บริบทที่เสื่อมสภาพ ผมอยากให้มันเติบโตเต็มที่ในที่ที่ความเจ็บปวดเป็นของเราเอง

สิ่งที่จะเกิดขึ้นต่อไป: ความจำแบบรวมสำหรับบริษัท

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

ลองนึกภาพการตัดสินใจที่บันทึกโดยเอเจนต์ของทีม A—"เราย้ายไปใช้ X เพราะ Y; เราหลีกเลี่ยง Z เพราะมันพัง W"—ที่สามารถดึงมาใช้โดยเอเจนต์ของทีม B และโดยนักพัฒนามนุษย์ที่ใช้งานเอเจนต์เหล่านี้ พร้อมการควบคุมการเข้าถึง ที่มา และการตรวจสอบ คำถาม "ทำไมโค้ดนี้ถึงเป็นแบบนี้?" ตอบได้ด้วยการตัดสินใจดั้งเดิม ซึ่งเชื่อมโยงกับโค้ด สำหรับใครก็ตามหรือเอเจนต์ใดๆ ในองค์กร การเริ่มต้นงานที่เร็วขึ้น ความสอดคล้องระหว่างทีม และความรู้ทางวิศวกรรมของบริษัทที่ไม่ได้อาศัยอยู่ในหัวของคนอีกต่อไป

เมื่อให้บริการผ่าน gateway ความจำนี้จะกลายเป็นโครงสร้างพื้นฐาน: เอเจนต์ใดๆ ในบริษัท ในเครื่องมือใดๆ จะสืบทอดการเรียนรู้ที่สะสมไว้

เอเจนต์อัตโนมัติจะเป็นสินค้าทั่วไป ความรู้ที่พวกมันสะสมเกี่ยวกับ

ระบบของคุณ

จะไม่ใช่

นั่นคือสิ่งที่เดิมพัน

หากคุณกำลังสร้างด้วยเอเจนต์ในระบบ production—หรือปวดหัวกับต้นทุนบริบท—DM ของผมเปิดอยู่

บันทึกในคลิกเดียว

อ่านบทความไวรัลเชิงลึกด้วย AI ใน YouMind

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

สำรวจ YouMind
สำหรับครีเอเตอร์

เปลี่ยน Markdown ของคุณให้เป็นบทความ 𝕏 ที่สะอาดตา

เวลาคุณเผยแพร่งานเขียนยาวของตัวเอง การจัดรูปแบบรูปภาพ ตาราง และบล็อกโค้ดให้เข้ากับ 𝕏 นั้นน่าปวดหัว YouMind เปลี่ยนร่าง Markdown ทั้งฉบับให้เป็นบทความ 𝕏 ที่สะอาดตาและพร้อมโพสต์ทันที

ลอง Markdown เป็น 𝕏

แพตเทิร์นให้ถอดรหัสเพิ่มเติม

บทความไวรัลล่าสุด

สำรวจบทความไวรัลเพิ่มเติม