Cung cấp thứ để mọi người có thể dẫn liên kết khi trò chuyện
(simonwillison.net)- Nếu muốn mọi người hiểu và chia sẻ một dự án hoặc tính năng sản phẩm, trước khi giải thích lặp đi lặp lại, bạn cần một trang web chuyên biệt
- Dù ChatGPT Code Interpreter là một tính năng mạnh mẽ, tên gọi và khả năng được tìm thấy trong tài liệu chính thức lại thiếu ổn định, khiến phần giải thích do người khác tạo trở thành liên kết hữu ích hơn
- Các trường hợp Claude Artifacts và GitHub Codespaces·Copilot cho thấy khi một tính năng trở thành đối tượng có thể liên kết, việc chia sẻ và giải thích sẽ dễ dàng hơn
- Khi một khái niệm được tổng hợp thành một trang riêng như Boring Technology của Dan McKinley, ngay cả người mới nghe lần đầu cũng có thể nhanh chóng nắm được bối cảnh chỉ bằng một liên kết
- Giá trị của trang chuyên biệt không chỉ nằm ở việc xuất hiện trên tìm kiếm, mà còn ở chỗ giúp không phải lặp lại cùng một lời giải thích trong các cuộc trò chuyện trên web
Vì sao cần một trang có thể liên kết
- Những thứ bạn muốn người khác hiểu và bàn luận, như dự án, ý tưởng hay tính năng sản phẩm, cần có một trang có thể liên kết
- Siêu liên kết là phương tiện cơ bản để mở rộng cuộc trò chuyện trên web, giúp bạn trỏ tới phần giải thích then chốt thay vì phải viết lại lời giải thích mỗi lần
- Nếu không có trang chuyên biệt, sự quan tâm và lưu lượng tìm kiếm có thể chảy sang các phần giải thích do người khác tạo hoặc các trang đã chiếm trước từ khóa tìm kiếm
Vấn đề về khả năng được tìm thấy của ChatGPT Code Interpreter
- ChatGPT Code Interpreter là tính năng cho phép ChatGPT viết và chạy mã Python trong quá trình trả lời
- Bản thân tính năng này rất mạnh, nhưng nếu không biết cách kích hoạt bằng prompt thì khó nhận ra sự tồn tại của nó
- Khi tìm Code Interpreter trên trang của OpenAI, kết quả hiện ra là tài liệu kỹ thuật về tính năng API hoặc chuỗi thảo luận trên diễn đàn cũ, gây nhầm lẫn
- Khi giới thiệu tính năng này, trang thẻ code-interpreter được dùng như một liên kết hữu ích hơn trang chính thức của OpenAI
- Về sau, tài liệu thực tế đã được xác nhận, nhưng tiêu đề là Data analysis with ChatGPT và trên trang không có thuật ngữ “Code Interpreter”, nên rất khó tìm
- OpenAI đã liên tục đổi tên tính năng này qua Code Interpreter, Advanced Data Analysis, Data analysis with ChatGPT
Những ví dụ làm tốt trang tính năng
- Tính năng Artifacts của Claude ít nhất có một trang trợ giúp dễ tìm
- Tuy nhiên, bài công bố Artifacts được chia sẻ cùng với thông báo Claude 3.5 Sonnet, nên khó trông giống một đích liên kết rõ ràng chỉ dành riêng cho Artifacts
- GitHub cung cấp riêng các trang landing theo từng tính năng
- Khi một tính năng có trang chuyên biệt riêng, nó tạo ra một điểm chuẩn cho phần giải thích khi liên kết và chia sẻ
Boring Technology: ví dụ về một khái niệm trở thành website
- Dan McKinley đã tạo ra thuật ngữ Boring Technology trong bài luận Choose Boring Technology năm 2015
- Cốt lõi là năng lực giải quyết các vấn đề mới của đội ngũ phát triển có giới hạn, nên năng lực đó cần được dùng cho phần làm cho sản phẩm trở nên khác biệt
- Ở các phần còn lại, nên chọn những công nghệ nhàm chán nhất và phổ biến nhất, với lỗi và giới hạn đã được hiểu và thảo luận trực tuyến trong thời gian dài
- Ý tưởng này cũng được tổng hợp thành website boringtechnology.club
- Khi ai đó chưa biết thuật ngữ này, chỉ cần chia sẻ một liên kết là họ có thể theo kịp bối cảnh trong vài phút
Ý tưởng cá nhân cũng cần trang có thể chia sẻ
- Các ý tưởng như baked data, git scraping, prompt injection cũng đã được tổng hợp thành các trang có thể chia sẻ thường xuyên
- Tuy nhiên, nếu không có cả một tên miền riêng, thông điệp “đây là trang cốt lõi nên liên kết tới” có thể trở nên kém rõ ràng
- Một đích liên kết rõ ràng làm tăng khả năng được chia sẻ và khả năng trở thành chủ đề trò chuyện của ý tưởng
Giá trị phát huy trong trò chuyện còn lớn hơn SEO
- Một mục đích rõ ràng của trang chuyên biệt là SEO
- Khi người dùng tìm kiếm tính năng sản phẩm, cần đưa họ đến trang của chính mình chứ không phải trang do người khác tạo
- Giá trị lớn hơn xuất hiện trong các cuộc trò chuyện
- Khi giải thích một khái niệm, thay vì viết lại một đoạn văn, bạn có thể chia sẻ liên kết chứa phần giải thích then chốt
- Nếu muốn mọi người hiểu và thảo luận về ý tưởng, dự án hoặc tính năng, bạn cần tạo một trang web tương xứng cho nó
1 bình luận
Ý kiến trên Hacker News
rsync.net là một dịch vụ làm rất tốt chuyện này. Ví dụ, tôi chưa từng thấy ở dịch vụ nào khác có thứ như trang CEO.
Không biết thực sự có hữu ích không, và tôi cũng chưa từng cần chuyển gì đó đến CEO, nhưng dù không phải khách hàng, ngay khi đọc bài này tôi đã nghĩ đến trang đó đầu tiên.
[1]: https://www.rsync.net/products/ceopage.html
Đó là trang được thiết kế để người tham dự có thể chuyển thẳng cho sếp, thay vì phải tự nghĩ ra một lý do công việc nghe có vẻ thuyết phục.
Tầm như OpenAI thì tưởng giờ đã thuê người viết tài liệu kỹ thuật rồi, nhưng theo LinkedIn thì có vẻ không phải vậy. Vì thế việc tài liệu tệ đến mức này cũng không quá ngạc nhiên.
Tôi không hiểu vì sao họ không tuyển một vai trò chuyên trách tài liệu. Có vẻ họ xem nó là không quan trọng, hoặc lạnh lùng ưu tiên tăng trưởng hơn tài liệu; dù lý do là gì thì cuối cùng họ cũng đang tự gây thiệt hại cho mình.
Bài viết có tham chiếu https://boringtechnology.club/, một bộ slide rất hay về việc chỉ dành nỗ lực đổi mới cho những giải pháp thật sự độc đáo.
Những phần còn lại nên dùng công nghệ nhàm chán nhiều nhất có thể. Tôi đã thấy quá nhiều lần đội phát triển cố đổi mới mọi thứ từ dưới lên, rồi rốt cuộc mất tập trung vào giá trị họ thực sự đem lại. Tôi muốn khắc bộ slide này vào thế giới quan của mình.
Lại là một bài viết hay nữa của Simon. Tối qua tôi đã đưa nguyên khái niệm này vào một dự án mới. Tôi muốn đưa ra bằng chứng rằng Google Gemini App kiểm duyệt yt-dlp nhưng Gemini API thì không, đồng thời cũng muốn tạo kênh dẫn người dùng vào dự án và các lý do kinh doanh mà Simon nói tới.
https://topicalsource.dev/chat/84a0d6dd-f66f-4f12-af17-5e99c...
Tôi cũng dùng localStorage để lưu danh sách các cuộc trò chuyện công khai đã truy cập. Khi quay lại, bạn có thể xem những cuộc trò chuyện khác mình đã đọc, và cũng dễ tìm hơn so với việc lục lại lịch sử tin nhắn để xem ban đầu nhận liên kết từ đâu.
Liên kết chết là thứ tệ nhất. Không ai làm được một extension trình duyệt dùng GPT để hallucinate lại website của liên kết chết sao?
Nghệ sĩ chỉ liên kết đến các trang mạng xã hội, nhưng tài khoản có thể bị đình chỉ và tên người dùng có thể thay đổi. Lập trình viên cũng “liên kết” dependency mà không tính đến việc repository có thể biến mất, và nếu không ai sao lưu thì mã nguồn của phiên bản đó cũng biến mất theo; phiên bản package có thể bị gỡ khỏi registry, hoặc tài liệu online của dependency có thể biến mất.
[1]: Chỉ thêm tên + phiên bản vào file manifest rồi quên nó mãi mãi. Kể cả có thêm cache thì đó cũng không phải mirror đúng nghĩa, càng không phải cách để tự build dependency khi có thảm họa.
Nếu mọi người lần lượt mô tả trang đó từng trông như thế nào, hoặc crawl web để tìm manh mối, thì đây sẽ là một ý tưởng khá hấp dẫn. Có thể mang cả banner “đang xây dựng” trở lại.
Tôi thích blog của Simonw. Từ tháng 9 năm ngoái tôi đã dùng trình thông dịch Python để đọc blog của anh ấy. Anh ấy nói đã bắt đầu làm vậy một mình để tạo cả ứng dụng ngay tại chỗ.
Tuy nhiên tôi vẫn chưa rõ cách làm. Tôi tưởng sẽ có một tùy chọn hoặc nút bấm đơn giản nhưng không tìm thấy. Lẽ ra tôi có thể cố thêm để tìm hiểu, nhưng nếu có một liên kết tiện lợi hoặc tutorial thì có lẽ tôi đã tiếp tục dùng GPT thay vì phần lớn là bỏ qua nó.
Trong bối cảnh này, meme ứng phó sự cố của Square vẫn sống tiếp tại https://outage.party/
Tôi từng cực kỳ ghét khá nhiều sản phẩm của Microsoft chính vì lý do này. Những sản phẩm đổi tên như VSTS/VSO/Dev Ops hay Sharepoint đặc biệt kinh khủng. Một deep link dài 700 ký tự, kèm hàng chục chuỗi truy vấn base64 và những đường dẫn vô lý. Kiểu như “Có vấn đề gì đâu? Dùng dịch vụ rút gọn URL là được mà? URL vốn dĩ dài, chịu thôi” khiến tôi phát điên.
Năm 2014, một công cụ nội bộ của nhóm hiển thị trạng thái tài nguyên hệ thống, và mọi tài nguyên cùng trạng thái đều nằm trong cơ sở dữ liệu SQL. Nhưng webapp đó là một SPA từ trước khi có thứ như router, không cập nhật URL cũng không hỗ trợ deep link. Muốn gửi vấn đề của một tài nguyên cụ thể qua email hay trình nhắn tin thì phải giải thích rằng “vào công cụ X, tìm Y rồi bấm Z -> W -> M -> O -> K thì sẽ thấy ở đó”. Tôi rất bực vì không hiểu sao không thể chia sẻ trạng thái lồng sâu chỉ bằng một liên kết https://X.com/Y/Z/W/M/O/K. Nói nhiều lần cũng chỉ nhận được câu trả lời “không phải ưu tiên và cũng không phải chuyện gì lớn”
Có một lần tôi có cơ hội làm trong 2 tuần một thứ mình muốn sửa, và quyết định tạo một phương án thay thế hỗ trợ deep link. Tôi cũng làm cho mọi deep link, nếu thêm tiền tố
/api/, sẽ trả về nội dung dưới dạng JSON. Nó thành công vang dội trong nhóm và trong công ty; dù công cụ của tôi đơn giản hơn nhiều và ít tính năng hơn, mức sử dụng công cụ X gần như giảm chỉ sau một đêm. Rốt cuộc, đa số mọi người muốn một cách dễ dàng để chia sẻ liên kết hơn là một “SPA mạnh mẽ để đào sâu điều tra”Một tháng sau, nhóm công cụ X gửi email toàn công ty hoành tráng thông báo hỗ trợ deep link. Nhưng họ cho rằng tính năng đơn giản trả về dữ liệu JSON bằng tiền tố
/api/là không quan trọng. 5 năm sau, UI của công cụ tôi đã lỗi thời, nhưng dịch vụ thực tế được nâng lên thành dịch vụ nội bộ cốt lõi vì nhiều nhóm đã xây dựng tự động hóa quanh các URL có tiền tố/api/, và cuối cùng nhóm đó phải lấy mã về bảo trìVới tư cách là fan của Simonw, tôi muốn nói một điểm mà dường như chưa ai nhắc tới: những ví dụ khác về việc Simon cung cấp thứ để mọi người có thể liên kết tới cũng rất hiệu quả trên HN: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
Simon thường rất nhanh trong việc tóm tắt những diễn biến đang diễn ra trong mảng AI mà những người ở gần lĩnh vực này đã biết, nhưng công chúng rộng hơn thì chưa. Anh ấy nhanh chóng liên kết và làm cho các sự kiện liên quan trở nên dễ tiếp cận, giúp cả những người ở xa vấn đề đó cũng có thể tham gia thảo luận
Tôi đồng ý với câu “siêu liên kết là điều tuyệt vời nhất của web”. Nói chính xác là siêu liên kết và URL.
URL là nền móng của web. Nó cho phép tham chiếu bài viết và các tài nguyên khác một cách chính xác, phổ quát nếu có thể, và theo cách ta mong là bền lâu. Tôi luôn thấy bực khi người ta không nhận ra sự tuyệt vời này. Ví dụ như thay vì dán liên kết vào tin nhắn, họ lại nói “hãy tìm cái này trên YouTube”. Khi trao cho một bài viết một nơi cư trú lâu dài trên web, khả năng hiển thị cũng tăng lên, và tác giả cũng ít phải viết lại cùng một ý tưởng hơn.
Bài luận kinh điển liên quan: Cool URIs don't change. [0][1]
[0] https://www.w3.org/Provider/Style/URI
[1] https://news.ycombinator.com/item?id=23865484
Hiệu quả thực tế là thế này. Khi đang trò chuyện với ai đó hoặc trong phần Q&A của một buổi thuyết trình, bạn muốn nói “vâng, chúng tôi cũng đã nghĩ về việc đó, và có thông tin liên quan tại acmeinitiative.example.com/skub”, dù bạn chưa viết bài
/skub, thì ngay tại chỗ bạn vẫn có thể lập tức ấn định/skublàm định danh dành riêng cho bài đó. Bài viết có thể được viết sau và sẽ xuất hiện ở đó, còn những người quan tâm có thể tìm bằng URL đó bất cứ lúc nào. Với bài của người khác hay tài nguyên bên ngoài cũng vậy: tạo ngay một URL trong namespace của mình, rồi sau này khi có thời gian thì redirect đến liên kết gốc.Tôi đã nghe quá nhiều bản ghi âm, podcast, v.v. có những kỹ sư thông minh rõ ràng sở hữu domain của riêng mình nhưng lại không dùng cách này. Thường thì họ lẩm bẩm một mô tả có thể tìm được hoặc không, hoặc cố nhớ tiêu đề rồi nói sai một nửa. Khi đó, mọi thính giả quan tâm đều phải tự lãng phí thời gian và sự chú ý để đi tìm, và xét trên tập thể thì một lượng năng lượng khổng lồ bị rò rỉ.
FB chặn rất nhiều site, tới cả các blog ngẫu nhiên, với lý do chia sẻ nội dung có bản quyền; reddit chặn mọi
.ru, nhiều site lưu trữ, liên kết Telegram, v.v. Twitter từng chặn một số nền tảng blog, và nhiều site nhỏ hơn cũng thường chặn Discord. Việc chặn Discord có thể có lý do chính đáng, nhưng tôi hy vọng xu hướng này sẽ trở thành động lực để mọi người rời khỏi đó.Thứ nhất, nó lập tức gợi cảm giác khó chịu kiểu AOL Keyword. Thứ hai, nó hoàn toàn phớt lờ khái niệm bong bóng tìm kiếm. Ngay cả khi nhập cùng một từ khóa, kết quả bạn và tôi nhận được có thể rất khác nhau. Thứ ba, khi URL và siêu liên kết đã có sẵn thì không cần bắt tôi làm thêm việc. Nếu liên kết trực tiếp, tôi có thể thấy chính xác bạn đang tham chiếu tới cái gì mà không phải lang thang giữa vô số video reaction.
Nhưng nhiều site và dịch vụ không thích điều này. Họ xem đó là xâm phạm lãnh thổ chú ý của họ. Với tư cách tác giả, nếu tôi liên kết tới một ý tưởng mà mình đã diễn đạt cẩn thận trong bài blog hoặc sách, bình luận có thể bị gỡ xuống hoặc kiểm duyệt vì bị coi là “quảng bá”. Trên HN dạo này, để tránh bị phạt, tôi thường chỉ sao chép và dán nguyên văn phần mình đã viết, thay vì đưa liên kết để độc giả có thể đào sâu thêm. Có một khoảng cách rõ ràng giữa cách “học thuật” tốt đẹp để lan truyền thông tin mà chúng ta vẫn rao giảng, và thực tế của các hệ thống kiểm soát cách biểu đạt.