
Di chuyển tác nhân AI sản xuất sang GPT 5.6
URL bài viết: https://ploy.ai/blog/migrating-a-production-ai-agent-to-gpt-5-6 URL bình luận: https://news.ycombinator.com/item?id=48864950 Điểm: 2 Bình luận: 0
Tính đến hôm nay, tác nhân của Ploy đang chạy trên GPT-5.6 Sol, phiên bản hàng đầu trong dòng mô hình mà OpenAI đã phát hành sáng nay. Trong nhiều tháng, chúng tôi không thể tìm thấy một mô hình nào có thể cạnh tranh với Claude Opus, do tiêu chuẩn chất lượng cực kỳ cao của chúng tôi. Điều đó đã thay đổi với GPT 5.6 Sol. Sau khi chạy thử nghiệm trực tiếp với Claude Opus, chúng tôi đã chọn GPT 5.6 Sol làm mô hình mặc định cung cấp năng lượng cho mọi không gian làm việc của Ploy.
Đây là một sự thay đổi lớn hơn nhiều so với những gì người ta tưởng. Tác nhân của Ploy xây dựng và chỉnh sửa các trang web tiếp thị thực tế. Nó lập kế hoạch một trang, đọc cơ sở mã, viết các thành phần, tạo hình ảnh, chụp ảnh màn hình công việc của chính nó và quyết định khi nào hoàn thành. Mô tả công việc này đặt ra một tiêu chuẩn rất cao cho một mô hình, và chúng tôi kiểm tra mọi bản phát hành tiên tiến dựa trên tiêu chuẩn đó. Trong bốn tháng Opus giữ vị trí mặc định (đầu tiên là Opus 4.7, sau đó là 4.8), không có gì chúng tôi thử nghiệm đánh bại được nó. GPT-5.6 là mô hình đầu tiên làm được điều đó.
Không phải lần chạy đánh giá đầu tiên là hoàn hảo. Nó có những chế độ lỗi thực sự, mà chúng tôi sẽ chỉ ra. Nhưng nó đã hoạt động cực kỳ tốt, và lời hứa là ngay lập tức và cụ thể: các bản dựng hoàn thành trong chưa đầy một nửa thời gian thực tế, với chi phí thấp hơn 27%, đạt điểm bằng hoặc cao hơn mô hình hiện tại của chúng tôi về công việc đã hoàn thành. Những con số như vậy khiến một mô hình xứng đáng với nỗ lực di chuyển thực sự.
Mặc dù sử dụng AI SDK của Vercel, một SDK LLM phổ quát, việc chuyển đổi từ Claude Opus 4.8 sang GPT 5.6 Sol đòi hỏi phải khám phá, từng lỗi đánh giá một, rằng những thứ chúng ta coi là “mô hình” là các hành vi cụ thể của nhà cung cấp mà toàn bộ hệ thống của chúng tôi đã âm thầm chuyên biệt hóa xung quanh: cách nó điền vào các đối số công cụ, cách bộ nhớ đệm lời nhắc của nó hoạt động, cách nó phát lại lý luận của chính nó giữa các lượt.
Đây là những gì cần thiết: sửa bộ công cụ đánh giá, sau đó là lược đồ công cụ, sau đó là bộ nhớ đệm, sau đó là phát lại lý luận.
Bước 0: Sửa bộ công cụ của bạn trước khi bạn tin tưởng bất kỳ con số nào
Bộ đánh giá của chúng tôi chạy tác nhân thực tế trên các không gian làm việc cố định thực tế. Hàng trăm trường hợp, từ “xây dựng một trang chủ từ đầu” đến “yêu cầu sao chép này có an toàn để thực hiện không”. Các trường hợp xây dựng được chấm điểm bởi một thẩm phán trực quan chạy các kiểm tra nhị phân dựa trên một thiết kế tham chiếu, mười câu hỏi có/không như “phần chính là một cảnh chụp ảnh toàn màn hình” hoặc “các nút kêu gọi hành động chính là hình chữ nhật bo tròn, không phải hình viên thuốc”, cộng với kiểm tra nội dung, kiểm tra quỹ đạo công cụ và xác nhận tệp. Mọi trường hợp thất bại đều được phân loại dựa trên dấu vết đầy đủ của nó: các lệnh gọi công cụ thực tế và văn bản mô hình, không chỉ điểm số.
Chạy bộ công cụ đó trên hai dòng mô hình đã làm chúng tôi ngạc nhiên hơn bất kỳ kết quả riêng lẻ nào:
Bộ công cụ của bạn được điều chỉnh theo mô hình hiện tại của bạn, và bạn không biết điều đó. Ngân sách gọi công cụ của chúng tôi được định cỡ cho phong cách tuần tự của Opus; GPT-5.6 phân tán các lệnh gọi song song và vượt quá ngân sách đó trong các trường hợp nó giải quyết đúng. Trình thực thi đánh giá của chúng tôi không hỗ trợ đọc tệp theo lô, điều mà Opus hiếm khi sử dụng và GPT-5.6 sử dụng liên tục. Khoảng một phần ba các lỗi thô trong lần chạy đa mô hình đầu tiên bắt nguồn từ các giả định của bộ công cụ, không phải hành vi của mô hình, và chúng không được phân bổ đều giữa các mô hình. Nếu bạn đang đánh giá một mô hình thách thức so với một mô hình hiện tại, hãy phân loại các dấu vết trước khi bạn tin tưởng tỷ lệ đạt. Nếu không, bạn đang chấm điểm mô hình mới dựa trên mức độ nó bắt chước mô hình cũ.
Đảm bảo bạn đang chấm điểm các mô hình một cách công bằng trong các đánh giá. Một tập dữ liệu đã bỏ qua ngưỡng minScore của nó đã âm thầm kế thừa một giá trị mặc định là 1.0, vì vậy GPT-5.6 “thất bại” một anh hùng mà nó đạt 0.98 điểm, và Opus “thất bại” một trường hợp trong khi vượt qua mọi kiểm tra riêng lẻ. Hai hướng thiết kế có thể bảo vệ được; một ngưỡng vô hình.
Ấn tượng đầu tiên: hứa hẹn ngay lập tức
Sau khi hoàn thiện công cụ, dưới đây là một ví dụ từ bộ công cụ thiết kế lại của chúng tôi, trong đó tác nhân xây dựng lại trang chủ của một thương hiệu dựa trên thiết kế tham chiếu:
Trung bình trên mỗi bản dựng hoàn thành
Claude Opus 4.8 (n=11)
GPT-5.6 (n=10)
Chi phí
3,06 USD
2,22 USD
Thời gian thực tế
8 phút 00 giây
3 phút 42 giây
Token đầu vào
2,60 triệu
1,70 triệu
Token đầu ra
33,0 nghìn
17,1 nghìn
Điểm trực quan
0,936
0,970
Đây là hình ảnh của lời hứa: nhanh hơn 2,2 lần để hoàn thành một trang, rẻ hơn 27% và số lượng token đầu ra giảm khoảng một nửa. GPT-5.6 viết mã tinh gọn. Trong một cặp so sánh, Opus tạo ra tệp globals.css dài 17.957 ký tự với 174 biến CSS (các dải màu đầy đủ, hầu hết không được sử dụng), trong khi GPT-5.6 viết 2.508 ký tự và 45 biến cho một trang được hiển thị tương đương (và đôi khi tốt hơn).
Claude Opus 4.8
Xem kích thước đầy đủ
GPT-5.6 Sol
Xem kích thước đầy đủ
Thiết kế: sắc nét, gọn gàng, nhưng hơi đồng nhất
Đánh giá tổng thể của chúng tôi về công việc thiết kế của GPT-5.6: nó rất giỏi trong việc tạo ra các bố cục gọn gàng, hiện đại, có lưới chặt chẽ, nhưng nó có xu hướng hội tụ về giao diện đó trừ khi được định hướng tốt. Với công cụ cũ của chúng tôi được thiết kế cho Opus 4.8, GPT 5.6 Sol có xu hướng bỏ qua các hệ thống thiết kế hiện có và thay vào đó tạo ra đầu ra sắc nét, hạn chế và rõ ràng là chung chung.
Chi tiết về cách chúng tôi khắc phục điều này xứng đáng có một bài đăng blog riêng. Với chuyên môn của đội ngũ thiết kế và kỹ thuật của chúng tôi, chúng tôi có thể định hướng các mô hình để đạt được sự tuân thủ thương hiệu đẳng cấp thế giới mà bạn không thể có được ngay từ đầu.
Bước 1: Kiểm tra các lệnh gọi công cụ của bạn
Đây là lỗi đã âm thầm làm hỏng kết quả trước khi chúng tôi phát hiện ra.
Công cụ mã của tác nhân của chúng tôi có 25 tham số cấp cao nhất, một tham số bắt buộc (action) và các tham số còn lại là tùy chọn. Claude gửi hai hoặc ba tham số mà nó đang sử dụng và bỏ qua phần còn lại. GPT-5.6 gửi tất cả 25 tham số, mỗi lần, tạo ra các giá trị hợp lý cho những tham số mà nó không cần: offset: 0, timeout: 120000, siteId: "00000000-0000-0000-0000-000000000000".
Ba ngày theo dõi sản xuất, các lệnh gọi code(read) mang theo mọi thuộc tính:
Mô hình
Số lệnh gọi
Mang theo tất cả 25 thuộc tính
gpt-5.6
6.635
6.635 (100%)
claude-opus-4.8
2.898
4 (0,1%)
claude-sonnet-5
1.933
0
Vấn đề không phải là sự dài dòng. Vấn đề là một giá trị được tạo ra không thể phân biệt được với một giá trị có chủ đích. offset: 0 trông giống như một đối số thực. Việc triển khai đọc tệp của chúng tôi đã coi nó là một đối số, và 52% đến 64% các lần đọc tệp của GPT-5.6 đã trả về trống rỗng vì điều đó. Công cụ trả về success: true theo cả hai cách, vì vậy mô hình không có cách nào để biết rằng nó đang đọc các tệp trống. Nó chỉ thực hiện công việc kém hơn, với nhiều lệnh gọi hơn.
Việc nhắc nhở không khắc phục được điều này. Một chỉ thị mô tả công cụ để “bỏ qua các tham số không sử dụng”: vẫn 25/25. Các gợi ý “TÙY CHỌN, bỏ qua nếu không sử dụng” cho từng thuộc tính: vẫn 25/25. Chế độ nghiêm ngặt của OpenAI: giống hệt.




Nguồn tin: Hacker News AI — Tác giả: brryant. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.