Simon Willison Blog
85

Sản phẩm

Ra mắt LLM 0.32: Cải tiến mạnh mẽ với khả năng truy vết suy luận và hỗ trợ công cụ phía máy chủ

(giờ Việt Nam)

Tóm tắt AI

Simon Willison vừa phát hành bản cập nhật lớn nhất cho công cụ LLM, bổ sung tính năng theo dõi suy luận, tích hợp OpenAI Responses và nâng cấp khả năng xử lý công cụ phía máy chủ.

Bản dịch AI

New release of LLM adds support for reasoning traces, OpenAI Responses, server-side tools, and smarter logging

Ngày 4 tháng 8 năm 2026

Sáng nay tôi đã phát hành LLM 0.32, phiên bản mới quan trọng nhất của LLM kể từ khi dự án ra mắt lần đầu. Phiên bản mới bao gồm hỗ trợ cho các dấu vết suy luận (reasoning traces) hiển thị được, các công cụ nhà cung cấp phía máy chủ (server-side provider tools), nhật ký SQLite có thể định địa chỉ theo nội dung (content-addressable) được thiết kế lại, các mô hình mới và những tính năng mới được kích hoạt bởi OpenAI Responses API. Tôi cũng đã phát hành các phiên bản mới của các plugin llm-anthropic, llm-gemini và llm-openrouter, mỗi plugin đều có những cập nhật đáng kể.

Các tính năng tiêu biểu cho người dùng LLM CLI

Việc chạy LLM với các mô hình suy luận giờ đây sẽ hiển thị các dấu vết suy luận của chúng ra luồng lỗi tiêu chuẩn (standard error), vì vậy bạn có thể thấy những gì chúng đang "suy nghĩ" mà không làm thông tin đó bị lẫn vào đầu ra tiêu chuẩn (standard output) mà bạn có thể đang chuyển hướng (pipe) sang một công cụ khác. Hãy thêm -R/--hide-reasoning để tắt tính năng này.

Running llm "think about the best thing about pelicans" in the macOS terminal window - grey text outputs saying Exploring pelican qualities, then after a paragraph of that a white paragraph of text co

LLM bao gồm hỗ trợ sẵn cho dòng mô hình GPT-5.6, và mô hình mặc định mới được sử dụng với lệnh llm "prompt" hiện là GPT-5.6 Luna, một mô hình giá rẻ nhưng đầy năng lực.

Các lệnh gọi LLM giờ đây có thể sử dụng các công cụ phía máy chủ từ nhiều nhà cung cấp khác nhau. OpenAI cung cấp một môi trường thực thi mã nguồn như một công cụ phía máy chủ; LLM hiện có thể chạy các câu lệnh (prompt) tận dụng điều đó như sau:

OpenAI cũng có thêm công cụ WebSearch.

Plugin llm-anthropic bổ sung WebSearch, WebFetch, CodeExecution và AnthropicMCP, trông như thế này:

Điều đó khiến Anthropic thực thi các lệnh gọi MCP đối với plugin datasette-mcp mới của tôi như một phần của tương tác yêu cầu/phản hồi đơn lẻ với API của họ.

Lệnh llm openai endpoint mới cung cấp một công cụ để thực thi các câu lệnh đối với bất kỳ endpoint nào tương thích với OpenAI chỉ bằng một dòng lệnh. Các lệnh này không được ghi lại vào nhật ký, điều này biến nó thành một công cụ tiện lợi để chạy các câu lệnh dùng một lần đối với bất kỳ thứ gì sử dụng ngôn ngữ chung (lingua franca) của thế giới LLM API.

Đây là cách tôi sử dụng nó để chạy các câu lệnh đối với Gemma 4 12B đang chạy trên API LM Studio cục bộ của tôi, thông qua uvx (không cần cài đặt LLM) và kết hợp thêm plugin công cụ llm-tools-quickjs để đạt hiệu quả tốt hơn:

Output reads Tool call: QuickJS_execute_javascript({'javascript': '3434 * 2434'})  8358356 The result of 3434 * 2434 is 8,358,356.

Các tính năng mới trong Python API

Python API của LLM trước đây yêu cầu bạn phải tạo một cuộc hội thoại và sau đó gửi từng tin nhắn một. Đây là một sự trừu tượng hóa so với bản chất thực sự của các LLM, nơi mỗi yêu cầu mang theo toàn bộ lịch sử của các tin nhắn trước đó. Sự trừu tượng hóa đó bắt đầu gây trở ngại cho một số trường hợp nâng cao hơn, vì vậy bản phát hành mới giới thiệu tham số model.prompt(messages=[]) có thể được sử dụng như sau:

LLM trước đây trả về một chuỗi các chuỗi ký tự (iterable sequence of strings) từ mỗi câu lệnh. Điều này hoạt động rất tốt khi các mô hình trả về phản hồi dạng chuỗi, nhưng lại thất bại trong việc dự đoán hình thái kỳ lạ mà các mô hình sẽ phát triển theo. Ngày nay, nhiều mô hình trả về sự kết hợp giữa văn bản suy luận, chuỗi đầu ra, các lệnh gọi công cụ và thậm chí cả tệp đính kèm hình ảnh. Với LLM 0.32, bạn có thể thực hiện cách này thay thế:

Kết hợp các tính năng này, cuối cùng chúng ta có thể cung cấp một triển khai mạnh mẽ của API chat completions bán tiêu chuẩn của OpenAI, mà tôi hiện đã phát hành dưới dạng plugin llm-chat-completions-server:

Giờ đây, bạn có thể chạy các câu lệnh đối với LLM thông qua máy chủ đó, sử dụng lệnh llm openai endpoint mới!

Thách thức lớn hơn với loại API đó liên quan đến việc ghi nhật ký. Nếu chúng ta định hỗ trợ mô hình mà trong đó chuỗi tin nhắn được nối thêm vào mỗi yêu cầu, thì lý tưởng nhất là chúng ta có thể tránh việc ghi nhật ký tất cả dữ liệu JSON trùng lặp đó cho mỗi lượt.

Giải pháp chính là kho lưu trữ tin nhắn có thể định địa chỉ theo nội dung mới, được mô phỏng theo Git. Bạn có thể xem lược đồ mới cho việc đó trong tài liệu, nhưng các lệnh llm logs và llm logs --json đều đã được nâng cấp để chuyển đổi định dạng đó trở lại thành thứ dễ dàng sử dụng.

Và những phần còn lại

Còn rất nhiều điều khác trong bản phát hành này. Ghi chú phát hành 0.32 khá toàn diện, và các ghi chú cho 0.32rc2, 0.32rc, 0.32a3, 0.32a2 và 0.32a0 sẽ lấp đầy mọi khoảng trống thông tin.

Các plugin LLM hiện có sẽ tiếp tục hoạt động, nhưng các plugin cung cấp thêm mô hình sẽ cần được nâng cấp lên 0.32 để tham gia đầy đủ vào hệ thống sự kiện streaming mới. Có một hướng dẫn về việc triển khai các plugin với tin nhắn có cấu trúc (Structured messages) và sự kiện streaming trong tài liệu.

Tôi đã cập nhật một số plugin của riêng mình:

Tôi đoán LLM hiện đã là một khung làm việc cho tác nhân (agent framework) rồi.

Khá nhiều thay đổi ở cấp độ công cụ thấp hơn trong bản phát hành này được thúc đẩy bởi nhu cầu của Datasette Agent. Khi tôi bắt đầu làm việc với LLM, thuật ngữ "tác nhân" (agent) có định nghĩa mơ hồ đến mức tôi từ chối sử dụng nó. Vào tháng 9 năm 2025, tôi đã thay đổi quan điểm rằng "Một tác nhân LLM chạy các công cụ trong một vòng lặp để đạt được mục tiêu" hiện đã đủ phổ biến để tôi có thể ngừng né tránh thuật ngữ này hoàn toàn.

Các chuỗi công cụ (tool chains) giờ đây có thể tạm dừng để chờ sự phê duyệt của con người và tiếp tục từ lịch sử tin nhắn đã lưu—cả hai đều là những thứ mà Datasette Agent cần.

Nhìn vào LLM ngày nay, nó bắt đầu trông rất giống một tác nhân đối với tôi. Có một điều thú vị khi sở hữu một tiện ích CLI có thể kết hợp và khớp các công cụ khác nhau từ các nguồn khác nhau với các mô hình khác nhau, tất cả chỉ trong một dòng lệnh, và điều đó bao gồm một thư viện Python đủ mạnh để xây dựng các hệ thống như Datasette Agent và llm-coding-agent.

Có lẽ phiên bản tiếp theo của LLM sẽ tích hợp khái niệm "tác nhân" vào thư viện cốt lõi. Tôi vẫn đang cố gắng tìm hiểu xem điều đó sẽ trông như thế nào.

LLMCông cụ lập trìnhOpenAICập nhật phần mềmCLI
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Simon Willison Blog. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.