Dành cho ai
Đừng dán cùng một cái menu vào mô hình nữa
Trên bộ mẫu 109 trang (lượt so sánh trực tiếp), Clean Web Clipper để lại 102 dòng điều hướng lặp lại, trong khi ba công cụ trích xuất khác để lại 282, 478 và 491 – và hoàn toàn không có thẻ HTML sót lại. Thứ tới được mô hình là bài viết cùng một phần đầu frontmatter ghi URL nguồn và ngày đăng.
Một trang dán vào thực sự tốn gì
Sao chép một trang tài liệu từ trình duyệt vào khung chat là bạn gửi cho mô hình cả thông báo cookie, thanh bên, bộ chọn phiên bản, cột “trên trang này”, bốn cột liên kết chân trang và một dải “đọc tiếp”. Mỗi dòng trong số đó là token bạn phải trả tiền, và mỗi dòng tranh sự chú ý với hai đoạn văn bạn thật sự muốn mô hình đọc.
Cái giá thứ hai khó thấy hơn – điều hướng lặp lại trông giống cấu trúc. Một mô hình được yêu cầu tóm tắt trang sẽ liệt kê các mục menu như chủ đề, và khi được hỏi một nhận định lấy từ đâu, nó sẽ chỉ vào một nhãn liên kết. Mảnh div và table sót lại từ một bộ chuyển đổi cẩu thả thêm một lớp nữa mà mô hình phải phân tích vòng qua trước khi tới được một câu văn.
Lần dán thứ hai là lúc bắt đầu tốn kém. Cuộc trò chuyện dài ra, lịch sử bị cắt bớt, và bạn dán lại trang – chỉ có điều trang đã thay đổi từ sáng, nên giờ mô hình đang suy luận trên một văn bản hơi khác và không có gì trong cuộc trò chuyện ghi lại điều đó. Một agent tải cùng URL mỗi lần chạy cũng gặp đúng vấn đề đó, cộng thêm giới hạn tốc độ và một trang đăng nhập nó không vượt qua được. Một tệp trên ổ đĩa là cùng một đầu vào mỗi lần, và vẫn đọc được khi trang web thì không.
Mô hình nhận được gì thay vào đó
- Điều hướng lặp lại ít hơn khoảng bốn lần so với trung bình của các công cụ được so sánh: 102 dòng lặp lại so với 282, 478 và 491.
- Không có thẻ HTML sót lại trên 512 trang đã thử: không có gì để mô hình phải phân tích vòng qua.
- Frontmatter ghi URL nguồn và ngày đăng, nên một nhận định có thể được quy nguồn thay vì phỏng đoán.
- Một phím tắt sao chép trang dưới dạng Markdown, sẵn sàng dán vào bất kỳ khung chat nào.
- Có thể bỏ hẳn hình ảnh, loại các URL hình dài khỏi ngữ cảnh.
- Trang không có bài viết được báo đúng như vậy. Một trang tin hay trang kết quả tìm kiếm không biến thành ba trăm liên kết trong prompt của bạn.
- Ít dòng cụt hơn: tỷ lệ dòng dưới hai mươi lăm ký tự là 0,221, so với 0,278, 0,262 và 0,263 của các công cụ được so sánh. Dòng ngắn phần lớn là nhãn liên kết khoác hình dạng câu văn.
- Liên kết tham chiếu thành chú thích
[^1]gom ở cuối, nên một trích dẫn đánh số trong thân bài vẫn trỏ tới nguồn thay vì dẫn vào một neo chết.
---
title: "Coroutines and Tasks"
source: "https://docs.python.org/3/library/asyncio-task.html"
extraction: "dom"
---
## Awaitables
We say that an object is an *awaitable* object if it can be used in an
`await` expression. There are three main types: coroutines, Tasks and Futures.
```python
async def main():
await asyncio.sleep(1)
print("hello")
```Thiết lập cho prompt
Hai cách thiết lập, dùng chung phần lớn cài đặt – một để dán vào khung chat, một để lấp đầy thư mục mà agent đọc. Cả hai mất khoảng năm phút.
- Nhấp chuột phải vào biểu tượng, mở Tùy chọn, và đặt việc cú nhấp vào biểu tượng sẽ làm là “sao chép vào bảng tạm”. Đó là con đường ngắn nhất – nhấp, chuyển sang khung chat, dán.
- Đặt hình ảnh là bỏ qua. Một URL hình trên CDN có thể dài hai trăm ký tự tham số thay đổi kích thước, và không ký tự nào có nghĩa với một mô hình văn bản.
- Trong phần frontmatter, giữ bật
sourcevàdate, tắtauthorvàextraction. Hai dòng đầu là đủ để mô hình quy nguồn một nhận định; phần còn lại là phần đầu mà bạn trả tiền để gửi. - Trích xuất trang bằng
Alt+Shift+Mrồi dán. Nếu tiện ích trả lời “không có bài viết”, đừng cố dán. Câu trả lời đó nghĩa là trang phần lớn là nhãn liên kết – đúng loại đầu vào khiến mô hình liệt kê mục menu như chủ đề. - Với agent thay vì khung chat, đặt nơi lưu là thư mục mà agent vốn đã đọc, như
context/trong dự án, và mẫu tên tệp là{domain}-{title}. - Trích xuất sáu hoặc tám trang mà nhiệm vụ thực sự phụ thuộc vào thư mục đó. Khi đó agent đọc tệp cục bộ: không tải trang, không giới hạn tốc độ, không trang đăng nhập nào nó không qua được, và cùng một văn bản mỗi lần chạy.
- Thêm quy tắc theo trang web cho những trang bạn trích xuất nhiều nhất,
reddit.comvào thư mục con riêng với hình ảnh bỏ qua, để thư mục luôn gọn mà bạn không phải nghĩ tới.
Cài đặt giúp giảm hóa đơn ngữ cảnh
Mỗi cài đặt dưới đây loại bỏ một thứ mà mô hình bị tính tiền để đọc. Hàng frontmatter là chỗ mọi người hay đặt sai – quy nguồn đáng hai dòng, không phải năm.
| Cài đặt | Giá trị | Vì sao chọn giá trị này |
|---|---|---|
| Cú nhấp vào biểu tượng | Sao chép vào bảng tạm | Nhấp, chuyển, dán: không tệp, không cửa sổ, không hộp thoại |
| Hình ảnh | Bỏ qua | URL hình dài, vô nghĩa với mô hình văn bản, và thường dài hơn cả đoạn văn bên cạnh |
| Frontmatter | Bật `source` và `date`, tắt `author` và `extraction` | Đủ để quy nguồn một nhận định, không tốn gì cho các trường mô hình không dùng |
| Nơi lưu (agent) | Thư mục `context/` trong dự án | Tệp cục bộ nghĩa là không tải, không giới hạn tốc độ và đầu vào giống hệt mỗi lần chạy |
| Mẫu tên tệp | `{domain}-{title}` | Agent grep thư mục sẽ phân biệt được hai trang “Overview” |
| Phần đã chọn | Trích xuất phần đã chọn, không phải cả trang | Khi một mục trả lời được câu hỏi, chín mục kia chỉ là chi phí |
| Quy tắc theo trang web | `reddit.com` → thư mục con, bỏ qua hình ảnh | Chuỗi thảo luận và tài liệu tham khảo nên để thành hai đống riêng |
No article on this page. More than a quarter of the extracted text sat inside link labels, which is what a feed, a storefront or a search result looks like. Nothing was written to the clipboard. Blocks examined 41 Chosen block <section class="cards"> Link share 0.71 Real text 740 characters
Ba cách sử dụng
Một trang, một câu hỏi
Bạn đang đọc một bản đặc tả và muốn mô hình kiểm tra cách bạn hiểu một mục. Bạn chọn mục đó, nhấn Alt+Shift+M và dán. Thứ tới nơi là mục đó, một dòng source và một dòng date: không thông báo cookie, không bộ chọn phiên bản, không cột “trên trang này”, không tám cột chân trang.
Khác biệt thể hiện ở câu trả lời hơn là ở hóa đơn. Khi được yêu cầu tóm tắt một trang dán vào, mô hình nhận cả thanh điều hướng sẽ liệt kê mục menu trong số các chủ đề, vì một cụm từ lặp lại ở mọi mục thật sự trông như cấu trúc. Loại bỏ nó là loại bỏ lỗi ngay từ gốc.
Một thư mục agent đọc thay vì tải trang
Một coding agent cần tài liệu tham chiếu API của một SDK. Bạn trích xuất tám trang vào context/, mỗi trang đặt tên theo tên miền và tiêu đề. Agent đọc tệp cục bộ: không có gì phải tải, không có gì bị giới hạn tốc độ, và các trang sau phiên đăng nhập của bạn đọc được như trang công khai.
Nó cũng đứng yên. Một trang tải về có thể thay đổi giữa hai lần chạy cùng một nhiệm vụ, và không gì trong bản ghi cho biết điều đó đã xảy ra. Một tệp đã trích xuất chỉ thay đổi khi bạn trích xuất lại, và tệp cũ vẫn còn đó để diff.
Một trang mà mô hình hoàn toàn không với tới
Tài liệu nằm trên wiki nội bộ sau đăng nhập một lần (SSO), hoặc trong một gói đăng ký bạn trả tiền. Mô hình được yêu cầu tải URL đó nhận về màn hình đăng nhập; mô hình có công cụ tìm kiếm nhận về phiên bản phục vụ cho bot. Tiện ích đọc trang mà trình duyệt đã hiển thị cho phiên của bạn, nên văn bản bạn nhìn thấy chính là văn bản bạn dán được.
Văn bản trang không rời khỏi máy bạn trên đường đi, và bản trích cũng không bị tải lên đâu cả. Bản trích vào bảng tạm, và nút “gửi tới chat” chỉ sao chép rồi mở một thẻ chứ tự nó không truyền đi thứ gì.
So với các cách khác để đưa trang vào mô hình
Đây là năm con đường mọi người thực sự dùng để đưa một trang web tới trước mô hình. Mỗi cột bên dưới là thứ bạn nhận được và cái giá phải trả – kể cả với tiện ích này.
| Cách đang làm | Bạn nhận được gì | Cái giá phải trả |
|---|---|---|
| Dán URL | Một dòng trong prompt | Nhiều mô hình không tải được trang; mô hình tải được có thể nhận phiên bản dựng cho bot |
| Sao chép và dán cả trang | Mọi thứ, kể cả phần phụ | Kết quả tương đương mang theo 282 đến 491 dòng menu lặp lại, so với 102 ở đây |
| Chụp màn hình cho mô hình đa phương thức | Trang như lúc nó hiển thị | Token hình ảnh, không dòng nguồn, không ngày, và không gì để grep về sau |
| Lưu trang dạng HTML | Bản sao trung thực trên ổ đĩa | Mã đánh dấu chiếm phần lớn tệp; bài viết chỉ là phần nhỏ trong những gì bạn gửi |
| Chế độ đọc, rồi sao chép | Văn bản sạch hơn, đôi khi | Có trang bật được, có trang không, và không kèm phần đầu ghi nguồn hay ngày |
| Clean Web Clipper | Văn bản bài viết kèm phần đầu hai dòng | Mỗi lần một trang; nó không tóm tắt, chia đoạn hay embed gì cả |
Khi câu trả lời ra sai
Mô hình tóm tắt thanh điều hướng chứ không phải bài viết
Đó là điều một trang tin gây ra cho prompt. Hãy xem cửa sổ trích xuất đã báo gì – nếu nó báo “không có bài viết”, hơn khoảng một phần tư số ký tự trích xuất nằm trong nhãn liên kết, dấu hiệu của trang danh mục, trang kết quả tìm kiếm hoặc trang cửa hàng. Tìm chính trang bài viết và trích xuất trang đó. Câu trả lời sẽ thay đổi nhiều hơn mọi cách sửa câu chữ trong prompt.
Bản trích ngắn hơn nhiều so với trang trông có vẻ
Có hai nguyên nhân phổ biến. Hoặc trang tải phần thân khi bạn cuộn, và chỉ phần đã hiển thị tồn tại vào lúc bạn trích xuất – hãy cuộn tới cuối trước, rồi mới trích xuất. Hoặc một mục nằm trong accordion đang đóng hay một tab chưa mở, thứ không có trong DOM cho tới khi bạn mở. Những gì trình duyệt chưa hiển thị thì không tiện ích nào đọc được.
Không có ngày để mô hình trích dẫn
Trang không khai báo ngày nào. Trường này được để trống thay vì điền ngày hôm nay, vì một ngày sai được nói chắc nịch còn tệ hơn thiếu ngày trong ngữ cảnh của mô hình. Nó sẽ được nhắc lại với bạn như sự thật. Một số bộ dữ liệu có ngày ít hơn hẳn các bộ khác – trong danh sách năm mươi trang hàng đầu của Thổ Nhĩ Kỳ và Séc, ngày đăng thật sự hiếm, và đó là đặc điểm của các trang web đó chứ không phải của việc trích xuất.
Liên kết hình vẫn đang ăn ngữ cảnh
Mặc định hình ảnh được giữ dưới dạng liên kết, đúng cho việc đọc nhưng sai cho prompt. Đặt hình ảnh là “bỏ qua”, cho mọi trang hoặc bằng quy tắc theo trang web, và Markdown sẽ không có tham chiếu hình nào – không placeholder, không cặp ngoặc trống, không gì cả.
Những gì nó không làm
Nó không liên lạc với dịch vụ AI nào. Bản trích không được gửi đi đâu – nó vào bảng tạm hoặc ổ đĩa của bạn, và nút “gửi tới chat” chỉ sao chép rồi mở một thẻ. Nó không tóm tắt, chia đoạn hay embed văn bản. Đó là việc của mô hình, không phải của web clipper. Nó trích xuất mỗi lần một trang, đúng trang bạn đang mở, không có trình thu thập. Và nó không thể chụp những gì trang chưa bao giờ hiển thị.