2 điểm bởi GN⁺ 2024-08-26 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trong tình huống lịch học piano jazz chỉ được gửi dưới dạng ảnh JPG, Claude 3.5 Sonnet đã đọc các ngày được đánh dấu và giúp giảm bớt công việc lặp lại khi chuyển chúng vào lịch
  • 13 ngày được tô màu xanh đã được trích xuất thành các buổi học thứ Sáu cách tuần từ ngày 13 tháng 9 năm 2024 đến ngày 23 tháng 5 năm 2025
  • Tiếp đó, ngay trong cùng cuộc trò chuyện, công cụ còn tạo cả văn bản tệp ICS chứa lịch Jazz Piano Lesson vào 2 giờ chiều theo Pacific Time cho từng ngày
  • Tệp .ics được tạo có thể lưu dưới dạng văn bản rồi nhập từ mục Import/export của Google Calendar và đã được thêm vào bình thường
  • ChatGPT cũng nhận diện được ngày tháng, nhưng ban đầu đưa ra mã Python thay vì .ics, và chỉ tạo văn bản iCalendar sau khi được yêu cầu trực tiếp nội dung tệp

Từ lịch trong ảnh đến tệp lịch

  • Giáo viên piano jazz đã gửi lịch học cá nhân mùa thu/đông dưới dạng ảnh JPG, với 13 ngày học được đánh dấu bằng bút xanh
  • Thay vì tạo thủ công 13 lịch hẹn trong Google Calendar, người dùng đã tải ảnh lên Claude 3.5 Sonnet
  • Yêu cầu đầu tiên là như sau
    • List the dates that are outlined in green
  • Claude đã trích xuất 13 ngày sau
    • Friday, 13-Sep-24
    • Friday, 27-Sep-24
    • Friday, 11-Oct-24
    • Friday, 8-Nov-24
    • Friday, 6-Dec-24
    • Friday, 20-Dec-24
    • Friday, 17-Jan-25
    • Friday, 31-Jan-25
    • Friday, 28-Feb-25
    • Friday, 14-Mar-25
    • Friday, 11-Apr-25
    • Friday, 25-Apr-25
    • Friday, 23-May-25
  • Những ngày này tương ứng với lịch học vào thứ Sáu cách tuần, bắt đầu từ tuần có thứ Ba ngày 10 tháng 9 năm 2024

Tệp iCalendar do Claude tạo ra

  • Ở yêu cầu tiếp theo, người dùng đề nghị tạo tệp ICS để thêm lịch Jazz Piano Lesson vào 2 giờ chiều theo Pacific Time cho từng ngày
  • Văn bản iCalendar được tạo gồm BEGIN:VCALENDAR, VERSION:2.0, PRODID, CALSCALE:GREGORIAN và 13 khối VEVENT
  • Mỗi sự kiện chứa các trường sau
    • SUMMARY:Jazz Piano Lesson
    • DTSTART, DTEND: lịch kéo dài 1 giờ
    • DTSTAMP:20240824T000000Z
    • UID riêng cho từng ngày
  • Thời gian đã được chuyển sang ký hiệu Z của UTC, và thay đổi giờ theo Pacific Time cũng được phản ánh trong tệp
  • Cách sử dụng là sao chép nội dung đã tạo, dán vào một tệp văn bản mới, lưu với phần mở rộng .ics, rồi nhập vào ứng dụng lịch mong muốn
  • Trong Google Calendar, tệp .ics đã được nhập qua menu Import/export trong phần cài đặt, và các lịch hẹn đã được thêm bình thường
  • Khi thử cùng đầu vào với ChatGPT, công cụ này vẫn nhận diện được ngày tháng nhưng ban đầu trả lời rằng không thể tạo tệp .ics và cung cấp mã Python; sau đó, khi được yêu cầu “chỉ hiển thị nội dung tệp .ics”, nó mới tạo ra nội dung đó

1 bình luận

 
GN⁺ 2024-08-26
Các ý kiến trên Hacker News
  • Khi nhờ Claude trích xuất danh sách hoặc dữ liệu, nhất định phải kiểm tra lại kết quả
    99,9% là đúng, nhưng thỉnh thoảng 1–2 bản ghi bị sai, mà kết quả trông có vẻ hợp lý nên càng dễ bỏ sót. Với danh sách hoặc bảng dài, mô hình ngôn ngữ lớn có thể sai ở những chi tiết cực nhỏ; tôi từng trực tiếp gặp chuyện này. Tin thì tin, nhưng phải kiểm chứng
    Nếu đáp án có thể được kiểm chứng bằng máy, cũng có cách là nhờ mô hình ngôn ngữ lớn viết một trình kiểm chứng Python có thể chạy nội bộ. ChatGPT có thể thực thi mã, và tôi biết Sonnet 3.5 cũng có thể, nhưng chưa tự thử

    • Xu hướng mắc lỗi lệch 1 của mô hình ngôn ngữ lớn sẽ bào mòn nghiêm trọng niềm tin vào “sự thật”, và tôi sợ rằng vài năm tới sẽ khá gập ghềnh. Nhìn trên trục thời gian dài hơn, thậm chí có vẻ có thể dẫn tới sự sụp đổ của tri thức khách quan
      Khi hỏi ngày sinh của George Washington, việc trả lời “May 20, 2020” khác với việc tự tin ảo giác rằng đó là “February 20, 1733”. Thoạt nhìn thì có vẻ hợp lý. Presidents' Day ở tháng 2, có vẻ liên quan đến ngày sinh, năm cũng trông có vẻ đúng, nên rất dễ cảm thấy như vậy là đủ
      Nhưng nó sai, và điều đáng sợ là mô hình ngôn ngữ lớn nói những “sự thật” như thế với thái độ đầy tự tin. Đó là vì chúng ta đã khiến một mô hình xác suất nói như vậy, nhưng lại không có đủ cơ chế để kiểm tra hoặc xác minh thông tin
      “Tin nhưng kiểm chứng” là một điều nghịch lý và vòng lặp. Nếu phải kiểm tra mọi sự thật mà ChatGPT đưa ra bằng Wikipedia, nơi được tin là nguồn chân lý cao hơn, thì tại sao không bắt đầu từ đó ngay từ đầu? Nếu phải tạo trình kiểm chứng Python để xác minh đầu ra, thì tại sao không làm việc đó ngay từ đầu?
      Những lỗi tinh vi kiểu này sẽ gây ra vấn đề lớn. Lỗi lệch 1 rất khó phát hiện, dữ liệu bị ô nhiễm từ từ và đi chệch hướng ngày càng nhiều, rồi đến khi nhận ra thì đã quá muộn. Nếu mọi đầu ra rác của mô hình ngôn ngữ lớn đều dễ thấy như gợi ý bôi keo lên pizza thì còn đỡ, nhưng thực tế có lẽ sẽ giống như chất độc thấm dần vào giếng; khi các đầu ra không chính xác bắt đầu len vào những phần quan trọng của cuộc sống, rất có thể sẽ thật sự rắc rối
    • Độ chính xác như vậy thì tốt hơn tự làm một mình rất nhiều
      Nếu tự làm, tôi nghĩ mình còn không đạt được 99% độ chính xác. Với loại việc này, nếu thật sự có độ chính xác 99,9% thì tôi sẵn sàng chấp nhận
    • Nếu đúng 99,9% và lớp piano diễn ra 2 tuần một lần, thì tương đương 1 lỗi lịch trình trong 40 năm. Mức đó có vẻ đủ tốt để không cần kiểm chứng
    • Có lẽ tốt hơn là nhờ mô hình ngôn ngữ lớn viết script
      Ví dụ, khi thử hai ứng dụng podcast, tôi muốn xem khác biệt giữa các feed đã đăng ký. Ban đầu tôi nhờ nó so sánh hai file OPML, nhưng kết quả sai. Tôi có thể dành 30 phút tinh chỉnh prompt và kiểm chứng thủ công, nhưng thay vào đó tôi nhờ nó viết một script so sánh hai file, và nó chạy tốt. So với quá trình nhàm chán phải kiểm từng đầu ra phức tạp, script tương đối dễ rà soát để có thể tin rằng nó có lẽ đúng
    • Tách khỏi vấn đề phải kiểm tra lại kết quả khi nhờ Claude trích xuất danh sách và dữ liệu, còn có vấn đề là các mô hình được tinh chỉnh để hữu ích quá mức
      Tôi đã thử một tác vụ tương tự bài viết gốc với dữ liệu không phải tiếng Anh, và không thể ngăn Claude “tử tế” dịch một phần dữ liệu sang tiếng Anh. Nếu nói “hãy bao gồm phần mô tả của hình ảnh” thì nó dịch; nếu nói “hãy bao gồm phần mô tả của hình ảnh nhưng không dịch hay tóm tắt” thì nó просто bỏ qua
  • 2 tuần trước tôi có đúng cùng nhu cầu: trường gửi một file PDF, còn tôi đang ở quán cà phê và chỉ có điện thoại
    Tôi dùng ChatGPT, và bài viết nói rằng không thể trực tiếp tạo file .ics bằng code interpreter là đúng, nhưng bài toán cụ thể này hoàn toàn có thể giải được. Trên điện thoại Android, tôi làm như sau: yêu cầu nó trích xuất mọi ngày, giờ và ghi chú hữu ích từ PDF; tạo nội dung theo định dạng file .ics dưới dạng đầu ra mã; rồi dùng code interpreter để đưa nội dung đó vào một file và lưu với phần mở rộng .ics
    Nó xử lý ổn đến cuối, và tôi có thể tải file xuống rồi mở bằng ứng dụng gcal trên điện thoại để nhập toàn bộ lịch
    Nói rằng code interpreter không thể “tạo” file ICS là vì môi trường Python đang chạy không có thư viện chuyên dụng cho việc đó. File ICS chỉ là một file văn bản theo định dạng cụ thể, nên hoàn toàn có thể tạo được

    • Cũng thú vị, nhưng có thể ChatGPT đã trở nên ngại tạo đầu ra ics hơn. Hồi tháng 5 thì không cần cố gắng nhiều lắm: https://chatgpt.com/share/0848349d-4b0b-40f8-9d24-e9c4ffc065...
    • Giờ nếu có thể thêm lớp ICS vào bản đồ và phát hành sự kiện ICS tại các vị trí GPS có nhận thức về thời gian thì hay. Tôi đang cuốn theo luồng InstantDB nên trước mắt định lấy nó gõ thử vào mọi vấn đề
    • Claude.ai chỉ đưa văn bản, và chỉ cần lưu nó thành file my.ics là được. Tôi tự hỏi liệu ChatGPT có thể làm như vậy nếu viết prompt khác đi không
  • Tôi đã làm việc tương tự với ChatGPT-4o bằng cách đưa cho nó một file txt chứa danh sách tên phim. Tôi yêu cầu nó trả về ngày phát hành của từng phim, rồi nhận được một file iCal chứa ngày phát hành của tất cả các phim dưới dạng sự kiện kỷ niệm lặp lại hằng năm, để có thể xem lại phim yêu thích vào mỗi dịp kỷ niệm
    Tôi cũng làm cho vài người bạn, và cho đến nay với tổng cộng hơn 100 tên phim, tỷ lệ thành công là 100%

    • Có lẽ cách này không hợp lắm với các album nhạc hay. Trong một thời gian dài, album được phát hành vào thứ Ba, và có thể giờ vẫn vậy. Khi đó tất cả sẽ dồn vào cùng một ngày trong tuần
      Vì thế tôi nhớ rằng ngày 11 tháng 9 năm 2001 là thứ Ba. Đó là ngày phát hành album, và hôm đó cũng có một album hay
    • Không biết bạn đã kiểm tra lại toàn bộ các ngày chưa
  • Những nơi như trường học hay nhà tuyển dụng vẫn còn phát hành rất nhiều lịch ở định dạng PDF
    Họ dành nhiều thời gian cho branding và định dạng trực quan hơn là tạo ra một định dạng có thể thực sự nhập vào ứng dụng lịch để dùng một cách thực tế
    Tôi nghĩ có thể có một quy trình 2 bước có thể khái quát hóa chắc chắn hơn. Thứ nhất, đọc bất kỳ tài liệu nào rồi lập bảng gồm ngày, giờ và múi giờ, địa điểm, URL, ghi chú, có lặp lại hay không; thứ hai, đọc một bảng có cấu trúc đại khái như vậy để tạo Google Calendar, iCal, file ICS hoặc liên kết
    Cũng có thể fine-tune riêng mô hình hoặc agent để thực hiện thật tốt từng bước

    • Bạn đang đánh giá quá cao đáng kể năng lực công nghệ của nhóm phụ huynh, và đánh giá quá thấp tính thực dụng của PDF có thể in chứa các ngày quan trọng
  • Ở đây tôi cho rằng Siri đã thất bại. Ngay cả những việc như “tạo một sự kiện bắt đầu vào thứ Hai và kéo dài 90 ngày” lúc nào cũng gần như đánh cược
    Những việc tôi không muốn làm thủ công thì Siri cũng không làm được. Vậy thì khó mà gọi là trợ lý

  • Tôi đưa ảnh chụp màn hình danh sách giao dịch internet banking vào GPT4-o để lấy danh sách giao dịch dùng cho khai thuế công ty. Tôi đã kiểm tra bằng mắt và kết quả đúng
    Trước đó, một product manager đã gửi ảnh chụp màn hình danh sách ID công ty cần bật feature flag. Thay vì nhập thủ công tất cả, tôi dùng GPT4-o để tạo danh sách phân tách bằng dấu phẩy từ ảnh chụp màn hình, và việc đó cũng hoạt động hoàn hảo

    • Chắc OpenAI vui lắm khi nhận được toàn bộ thông tin mật như vậy ;)
  • Cái này thật ấn tượng. Đồng thời nó cũng cho thấy rõ một design pattern mà tôi mong sẽ phổ biến hơn nhờ AI: định dạng file liên thông, con người đọc được. Những thứ như file .ICS
    Tôi mong nhiều website và ứng dụng ưu tiên hỗ trợ các định dạng như vậy hơn. Không chỉ giúp dễ chèn AI vào để sử dụng, mà còn cho phép nhiều người tạo extension một cách sáng tạo hơn
    Trong khoảng 10 năm qua đã có xu hướng, dưới danh nghĩa “đơn giản”, khiến dữ liệu bị silo hóa hơn và bản thân file trở nên kém quan trọng hơn; tôi mong điều đó phần nào được đảo ngược

  • Tôi thường xuyên tạo mục lịch bằng ChatGPT. Liên kết Google Calendar, file ICS, mã QR đều làm được
    Tôi không biết trong bài gốc có gì sai

    • Lần cuối tôi thử với GPT-4-Turbo, khi yêu cầu file ICS thì nó từ chối với lý do không thể tạo file. Nhưng nếu yêu cầu mã hóa theo định dạng iCal thì nó xuất ra trong khối mã Markdown, và tôi sao chép vào Notepad rồi lưu thành ICS
      Dạo này cũng có thể yêu cầu “dùng Python” cho mục đích đó. Khi đó nó có tạo file, nhưng phải mã hóa kết quả thành chuỗi hoặc mảng Python nên có khả năng phát sinh nhiều lỗi hơn
  • Dùng AI cho lời mời lịch chắc chắn rất phù hợp. Tôi đã làm một việc tương tự ở đây, và ical thì đơn giản hơn
    https://hareeshganesan.com/2024/07/14/baby-calendar

  • Tôi cũng đang dùng gpt 4o theo cách tương tự để đơn giản hóa nhập dữ liệu. Hiện tại đã khá hữu ích, nhưng mọi người vẫn chưa dùng mô hình ngôn ngữ lớn nhiều cho các tác vụ có cấu trúc
    Tuy nhiên, nó hữu ích quá rõ ràng nên tôi nghĩ điều đó sẽ thay đổi. Bất kỳ việc nhập dữ liệu vào biểu mẫu nào giờ cũng có thể, và thực tế sẽ, được tự động hóa. Đặc biệt nếu thông tin nằm trên bản in hoặc ở dạng có thể in, chỉ cần hướng camera vào và rà soát nhanh
    Việc hút thông tin từ những nơi như biển báo, poster có thể hữu ích đáng kinh ngạc. Người ta bỏ rất nhiều công sức và tiền bạc để truyền đạt trực quan nhiều thông tin vốn không tồn tại ở định dạng số dễ truy cập

    • Tôi đã thử nghiệm và với nhiều loại biểu mẫu hoặc tài liệu khác nhau, tỷ lệ trích xuất thông tin khoảng 90%. Biểu mẫu càng phức tạp thì đặc biệt càng khó