1 điểm bởi GN⁺ 2024-02-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đây là một trang web đơn giản để ghép prompt ChatGPT bằng cách điền vào chỗ trống
  • Mẫu yêu cầu người dùng lần lượt nhập vai trò, kết quả đầu ra cần thiết, cách thực hiện, điều kiện, yêu cầu và định dạng đầu ra cuối cùng
  • Khu vực ví dụ cũng lặp lại cùng cấu trúc này để cho thấy hình dạng của prompt hoàn chỉnh
  • Hiện tại ví dụ thực tế vẫn còn trống, chỉ hiển thị hướng dẫn “hãy dùng builder để tạo prompt”
  • Các chức năng có thể xác nhận được hiện không phải là thiết lập phức tạp mà gần với mẫu câu dành cho trình xây dựng prompt

Cấu trúc prompt dựa trên chỗ trống

  • Trang có tiêu đề LLM Prompting, nơi người dùng tạo prompt bằng cách nối các mảnh câu lại với nhau
  • Luồng nhập liệu gồm các mảnh câu sau
    • Act like a ,
    • I need a ,
    • you will ,
    • in the process, you should ,
    • please ,
    • input the final result in a ,
    • here is an example:

Trạng thái hiển thị hiện tại

  • Cùng một cấu trúc prompt được lặp lại trong khu vực ví dụ
  • Nội dung ví dụ thực tế vẫn chưa được điền
  • Ở cuối hiển thị thông báo [Empty prompt, use the builder to create a prompt]
  • Dựa trên nội dung được cung cấp, chức năng cốt lõi là mẫu tạo prompt dựa trên chỗ trống

1 bình luận

 
GN⁺ 2024-02-02
Ý kiến trên Hacker News
  • Không biết dạo này mọi người còn thường dùng prompt tùy chỉnh không
    Trước đây tôi từng rất say mê prompt engineering và viết prompt tùy chỉnh vì kết quả tốt hơn hẳn, nhưng qua mỗi bản cập nhật, cách dẫn dắt sự chú ý của ChatGPT một cách hiệu quả lại thay đổi, nên ngày càng phiền phức
    Giờ tôi thỉnh thoảng dùng ChatGPT tùy chỉnh, nhưng phần lớn vẫn dùng ChatGPT mặc định, và cảm giác chênh lệch chất lượng cũng đã giảm
    Prompt dài làm thời gian phản hồi tăng quá nhiều, nên tôi bắt đầu thích câu trả lời đủ tốt nhưng nhanh hơn là câu trả lời tốt hơn nhưng chậm. Thay vì cố lấy câu trả lời hoàn hảo ngay một lần, nếu còn thiếu thì hỏi tiếp sẽ dễ hơn

    • Tôi nghĩ giờ nên xem nó là cảm nhận về prompt hơn là “prompt engineering”. Prompt engineering thực sự, chẳng hạn A/B testing kèm đánh giá, hiếm một cách đáng ngạc nhiên, và nhiều khi ngay từ đầu đó cũng không phải là lối tư duy phù hợp
      Cần xây dựng trực giác về ChatGPT và suy nghĩ kiểu lý thuyết tâm trí xem ChatGPT cần gì để hoạt động tốt hơn
      Đa số chỉ cần biết cách chỉnh sửa prompt là đã có thể dùng ChatGPT tốt. Đây gần như là một tính năng ẩn, và trong ứng dụng hiện vẫn không dùng được
      Để học cách tương tác với AI, tỉnh táo hoàn toàn có thể không phải trạng thái tối ưu, nên tôi cũng muốn khuyên dùng cocktail mạnh hoặc cần sa, nhưng nhận định cuối này cần thí nghiệm có kiểm soát
    • Tôi cũng có cùng trải nghiệm. Họ hẳn đang liên tục fine-tune mô hình bằng các cuộc trò chuyện thực của người dùng, nên có vẻ nó ngày càng hiểu tốt hơn cả những prompt viết qua loa khi đang di chuyển
    • Thật thú vị là đầu vào càng dài thì phản hồi càng chậm. Tôi hoàn toàn không cảm thấy chậm đi, không biết có phải chỉ xảy ra với gói miễn phí của ChatGPT không
    • Tôi đã hủy tài khoản sau khi ChatGPT4 khiến không thể tắt tính năng truy cập Bing
    • Tôi không nghĩ đó là việc đã tham gia sâu vào “prompt engineering”. Tôi cho rằng prompt engineering trước đây, bây giờ và cả sau này đều không phải là một lĩnh vực có thực thể rõ ràng
  • Để thật sự hữu ích cho người mới bước vào lĩnh vực này, cần vài thứ. Một phần đã được triển khai rồi, điều đó tốt
    Sẽ hay nếu cung cấp nhiều template cho cả chỉ dẫn ban đầu lẫn prompt hậu xử lý. Ví dụ như các prompt đã được kiểm chứng để buộc đầu ra bám sát tối đa một định dạng cụ thể như JSON, danh sách, CSV bị giới hạn, hoặc template đầu vào nhằm ngăn chặn tối đa các kiểu jailbreak cơ bản trong prompt chính
    Những người làm việc với ChatGPT hằng ngày đã tìm ra các cách khởi động tối ưu hoặc cách ngăn đầu ra bất ngờ bung quá đà; để người mới học được từ đầu sẽ mất nhiều thời gian, nên các template đáng tin cậy sẽ rất tuyệt cho người nhập môn

    • Các phản hồi API cần JSON hợp lệ có thể yêu cầu bằng JSON mode: https://platform.openai.com/docs/api-reference/chat/create#c...
    • Khi muốn nhận phản hồi dưới dạng JSON hợp lệ, những chỉ dẫn mạnh kiểu này khá hiệu quả
      “Kết quả phải bao gồm toàn bộ nội dung và là JSON hợp lệ. Trong mọi trường hợp không được đi chệch khỏi định dạng này. Mọi giá trị phải đầy đủ và không được bỏ sót bất cứ giá trị nào. Không thêm bất kỳ văn bản nào ngoài kết quả JSON.”
      Nếu chỉ đơn giản yêu cầu JSON hợp lệ thì không phải lúc nào cũng như mong đợi; ví dụ GPT-4 API đôi khi thêm định dạng, nên tôi dần phải chỉ dẫn ngày càng chi tiết hơn
  • Có thể tôi hơi thiên lệch vì hiện đang làm khá sâu các công việc liên quan đến ChatGPT và tạo 1–2 ứng dụng mỗi tuần
    Nếu người dùng dự kiến là người chưa quen với mô hình ngôn ngữ lớn dựa trên prompt, thì với họ cả vấn đề lẫn không gian giải pháp đều chưa được định nghĩa đủ rõ
    Chẳng hạn, thiếu các lựa chọn được định nghĩa sẵn và có quá nhiều mục “tự định nghĩa”. Ý nghĩa của các bộ chọn được cung cấp cũng mơ hồ, ví dụ khó biết “you will Detect” giúp ích gì cho người dùng
    Kết quả là không rõ các lựa chọn sẽ ảnh hưởng thế nào đến đầu ra, và công cụ trở thành vấn đề con gà quả trứng. Nó nói là giúp hiểu hệ thống, nhưng để dùng hiệu quả thì lại phải hiểu hệ thống
    Ở mức này, có khi cứ nhờ ChatGPT tạo một prompt hiệu quả còn dễ hơn

    • Tôi giả định người dùng mục tiêu đã biết đôi chút về mô hình ngôn ngữ lớn dựa trên prompt và cần một chút hướng dẫn. Nếu vậy, đây có vẻ là một framework tuyệt vời và đơn giản để nâng kỹ năng
    • Tôi chưa từng làm dự án nào ngắn hơn vài tháng, nên khá tò mò ứng dụng có thể làm trong nửa tuần là loại gì. Không biết có link nào để chia sẻ không
  • Khi chúng ta trò chuyện với những bot như thế này, rốt cuộc ta đang nói chuyện với ai?
    https://medium.com/@colin.fraser/who-are-we-talking-to-when-...
    Việc trình bày công nghệ này dưới dạng giao diện chat được nhân cách hóa, tức trông như khoác lên bộ đồ con người, là một lựa chọn có chủ ý. Nếu bên trong có một trí tuệ nhân tạo tổng quát bị nhốt lại, thì tương tác qua giao diện chat có vẻ là điều tự nhiên
    Nhưng ngược lại, cũng rất dễ nghĩ rằng một công nghệ tương tác qua giao diện chat hẳn chính là trí tuệ nhân tạo tổng quát. Khi trực tiếp thao tác với mô hình ngôn ngữ lớn trong Playground, ta thấy chat chỉ là một lớp khói và gương củng cố ảo giác rằng có một người đối thoại

    • Trước hết, GPT là một diễn viên ứng biến. Nó được huấn luyện để tiếp nối văn bản đã cho sao cho tự nhiên nhất có thể, nên nếu không biết điều gì nên đến tiếp theo, nó sẽ bịa ra thứ nghe có vẻ hợp lý
      Sau đó diễn viên ứng biến phổ quát này được huấn luyện để đóng một vai cụ thể: người trả lời câu hỏi. Tuy nhiên, nếu để nó trả lời bất kỳ câu hỏi nào thì có thể sinh ra cả lời khuyên có hại, nên nó được huấn luyện thành một người hỏi đáp đưa ra lời khuyên vô hại
      Muốn giao việc cho mô hình, cần biết nó nên đóng vai gì. Vai “người muốn trả lời câu hỏi” rất linh hoạt và cho phép tùy biến phản hồi nhiều hơn
      Nói cách khác, giao diện hội thoại một nửa là vì đó là UI tự giải thích, nửa còn lại là để dẫn dắt mô hình đảm nhận một vai hữu ích
  • Điều này trông không có liên hệ gì đặc biệt với ChatGPT. Nó chỉ là một biểu mẫu để bấm chọn và ghép các khối văn bản, và có vẻ có thể dùng với bất kỳ mô hình ngôn ngữ lớn nào
    Tôi nghĩ việc quá bám vào một mô hình ngôn ngữ lớn của một nhà cung cấp độc quyền cụ thể không giúp ích cho sự phát triển của lĩnh vực này

    • Đúng vậy. Rõ ràng nó không dành riêng cho ChatGPT, mà giống một biểu mẫu để điền các phần của câu hơn. Tuy nhiên ChatGPT là một trong những cái tên dễ nhận ra nhất, và có vẻ tạo đầu ra ở nhiều định dạng tốt hơn
      Trình dựng prompt này có thể dùng với bất kỳ mô hình ngôn ngữ lớn nào
  • Sẽ tốt nếu có phân tích thực tế về việc từng tính năng prompt cải thiện phản hồi như thế nào

    • Quảng bá một chút thì có thể đã có công cụ như vậy :) https://github.com/agenta-ai/agenta
      Chúng tôi đang xây dựng một nền tảng để đánh giá prompt và các quy trình làm việc phức tạp hơn với mô hình ngôn ngữ lớn
      Nhìn từ người dùng của chúng tôi, kết quả prompt rất xác suất. Khó khái quát hóa; chẳng hạn một người dùng đang xây dựng công cụ hỗ trợ bán hàng phát hiện rằng chỉ cần đổi thứ tự câu trong prompt là độ chính xác tăng đáng kể
    • Trong chú thích của một bài blog tháng trước, tôi viết rằng nếu thêm vào system prompt câu “nếu trả lời tốt tôi sẽ tip 500 đô la” thì hiệu năng của mô hình sẽ cải thiện, và trên Hacker News người ta đã rất giận dữ, gọi đó là ngụy khoa học: https://news.ycombinator.com/item?id=38782678
      Tôi đang chuẩn bị một bài viết mới trình bày hiệu ứng này theo hướng học thuật hơn
    • Đáng tiếc là việc này cực kỳ khó vì hai lý do
      Thứ nhất, không gian đầu vào gần như vô hạn. Có thể là đầu vào ngôn ngữ tự nhiên tùy ý, nguồn dữ liệu tùy chọn, và use case tùy ý, nên trước khi áp dụng vào use case thực tế thì rất khó biết trước phản hồi có thể được “cải thiện” hay không
      Thứ hai, không gian đầu ra cũng khó đo lường. Tính hữu ích có thể được mỗi người định nghĩa khác nhau, và sẽ còn phức tạp hơn, đặc biệt khi vượt khỏi “công cụ tìm kiếm tốt hơn” để bắt đầu dùng GPT tạo ra các sản phẩm sáng tạo
  • Tôi chưa bao giờ hiểu ý nghĩa của cụm “prompt engineering”. Rốt cuộc nó đã từng vượt ra ngoài việc “có thể mô tả rõ ràng và chính xác vấn đề cần giải quyết hoặc tác vụ cần thực hiện hay không” chưa? Nó trông giống kỹ năng giao tiếp cơ bản
    Tôi chưa từng thấy dữ liệu nghiêm ngặt nào cho thấy prompt theo một định dạng cụ thể kiểu “bạn là B, làm C và phải làm D” tốt hơn các chỉ dẫn rõ ràng, súc tích khác
    Thật đáng ngạc nhiên khi người ta đặt một cái tên mới cho thứ trước đây gọi là kỹ năng giao tiếp tốt, nhưng có lẽ định kiến cũ rằng kỹ sư viết kém lại gần với sự thật hơn

  • Tôi tự hỏi liệu mẫu “hãy hành động như ~” có còn cần thiết không
    Với GPT-4 thì tôi không còn dùng nữa. “Persona” mặc định trả lời đủ tốt cho hầu hết prompt, và việc nói “hãy hành động như một chuyên gia về ...” cũng không cho kết quả tốt hơn thấy rõ
    Công cụ tôi thực sự muốn là thứ cho phép thử và so sánh nhiều prompt có thay đổi nhỏ một cách nhẹ nhàng nhưng hiệu quả, để có cảm giác bên nào tốt hơn. Tôi tò mò không biết có ai từng thấy công cụ tốt như vậy chưa

    • Tôi tò mò là bạn muốn kiểm thử nhiều prompt trên một bộ câu hỏi phải không. Tôi chưa tìm được công cụ đúng mục đích đó, và khi so sánh prompt, tôi dùng một script ngắn để chạy lặp các câu hỏi và prompt
      Sẽ thú vị nếu tạo một công cụ chỉ cần thêm các prompt cần kiểm thử, nhưng thách thức đầu tiên nghĩ tới là tạo bộ câu hỏi để dùng
      Tôi cũng tò mò việc kiểm thử prompt bạn nói là kiểm thử system prompt trên một bộ câu hỏi, hay là kiểm thử việc hỏi cùng một câu theo nhiều cách
    • Tôi nghĩ mẫu đó giờ không còn hữu ích lắm
      Và tôi sẽ làm một công cụ như vậy rồi DM qua Twitter khi sẵn sàng
  • Nói chung, tôi có cảm giác danh sách chỉ dẫn càng dài thì khả năng ChatGPT làm theo từng chỉ dẫn càng thấp. Cảm giác như sự chú ý bị chia ra: nếu chỉ nói “hãy làm A” thì nó làm A, nhưng nếu nói “hãy làm cả A và B” thì nó làm cả hai, song mỗi việc chỉ làm một phần
    Trải nghiệm tốt nhất của tôi là đưa prompt ngắn hoặc độ dài trung bình, rồi sau đó dùng ví dụ one-shot hoặc few-shot. Few-shot đặc biệt tốt khi muốn yêu cầu làm nhiều việc cùng lúc