2P by GN⁺ | ★ favorite | 댓글 1개
  • 재즈 피아노 레슨 일정이 JPG 이미지로만 전달된 상황에서, Claude 3.5 Sonnet이 표시된 날짜를 읽어 캘린더로 옮기는 반복 작업을 줄여줌
  • 초록색으로 표시된 13개 날짜는 2024년 9월 13일부터 2025년 5월 23일까지의 격주 금요일 레슨으로 추출됨
  • 이어 같은 대화에서 각 날짜 오후 2시 Pacific Time의 Jazz Piano Lesson 일정을 담은 ICS 파일 텍스트까지 생성함
  • 생성된 .ics 파일은 텍스트로 저장한 뒤 Google Calendar의 Import/export에서 가져와 정상적으로 추가할 수 있었음
  • ChatGPT도 날짜 식별은 했지만 처음에는 .ics 대신 Python 코드를 제시했고, 파일 내용을 직접 요청한 뒤에야 iCalendar 텍스트를 생성함

이미지 일정에서 캘린더 파일까지

  • 재즈 피아노 교사가 가을/겨울 개인 레슨 일정표를 JPG 이미지로 보냈고, 레슨 날짜 13개가 초록색 마커로 표시돼 있었음
  • Google Calendar에 약속 13개를 수동으로 만드는 대신 Claude 3.5 Sonnet에 이미지를 업로드함
  • 첫 요청은 다음과 같았음
    • List the dates that are outlined in green
  • Claude가 추출한 날짜는 다음 13개였음
    • 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
  • 이 날짜들은 2024년 9월 10일 화요일이 포함된 주에 시작하는 격주 금요일 레슨 일정에 해당함

Claude가 만든 iCalendar 파일

  • 다음 요청으로 각 날짜의 오후 2시 Pacific Time에 Jazz Piano Lesson 일정을 만드는 ICS 파일 생성을 요청함
  • 생성된 iCalendar 텍스트에는 BEGIN:VCALENDAR, VERSION:2.0, PRODID, CALSCALE:GREGORIAN과 13개의 VEVENT 블록이 포함됨
  • 각 이벤트에는 다음 필드가 들어감
    • SUMMARY:Jazz Piano Lesson
    • DTSTART, DTEND: 1시간 일정
    • DTSTAMP:20240824T000000Z
    • 날짜별 고유 UID
  • 시간은 UTC의 Z 표기로 변환됐고, Pacific Time의 시간 변화가 파일에 반영됨
  • 사용 절차는 생성된 내용을 복사해 새 텍스트 파일에 붙여넣고 .ics 확장자로 저장한 뒤, 원하는 캘린더 앱으로 가져오는 방식임
  • Google Calendar에서는 설정의 Import/export 메뉴를 통해 .ics 파일을 가져왔고, 약속들이 정상적으로 추가됨
  • 같은 입력을 ChatGPT에 시도했을 때는 날짜 식별은 됐지만 처음에는 .ics 파일 생성이 불가능하다고 답하고 Python 코드를 제공했으며, 이후 “.ics 파일 내용만 보여 달라”고 하자 해당 내용을 생성함

댓글과 토론

Hacker News 의견들
  • Claude에게 목록이나 데이터 추출을 시킬 때는 결과를 꼭 다시 확인해야 함
    99.9%는 맞지만 가끔 1~2개 레코드가 틀리고, 결과가 그럴듯해 보여서 더 놓치기 쉬움. 긴 목록이나 표에서는 대규모 언어 모델이 아주 미세하게 틀릴 수 있고, 직접 당해본 적이 있음. 믿되 검증해야 함
    답이 기계적으로 검증 가능하다면, 대규모 언어 모델에게 내부에서 실행할 수 있는 Python 검증기를 작성하게 하는 방법도 있음. ChatGPT는 코드 실행이 가능하고, Sonnet 3.5도 가능하다고 알고 있지만 직접 해보진 않음

    • 대규모 언어 모델의 1 차이 오류 성향은 “진실”에 대한 신뢰를 크게 갉아먹을 것이고, 앞으로 몇 년은 꽤 험난해질 것 같아 무서움. 더 긴 시간축에서는 객관적 지식의 붕괴까지도 가능해 보임
      George Washington의 생일을 물었을 때 “May 20, 2020”이라고 답하는 것과, “February 20, 1733”이라고 자신 있게 환각하는 것은 다름. 얼핏 보면 그럴듯함. Presidents' Day가 2월이고 생일과 관련 있는 것 같고, 연도도 맞아 보이니 충분하다고 느끼기 쉬움
      하지만 틀렸고, 대규모 언어 모델이 이런 “사실”을 확신에 찬 태도로 말하는 게 무섭다. 확률적 모델이 그렇게 말하도록 만들었고, 정보를 확인하거나 검증할 장치가 충분하지 않았기 때문임
      “믿되 검증하라”는 역설적이고 순환적임. ChatGPT가 준 모든 사실을 더 높은 진실의 원천이라고 믿는 Wikipedia로 확인해야 한다면, 왜 처음부터 거기서 시작하지 않는가? 출력을 검증하려고 Python 검증기를 만들어야 한다면, 왜 처음부터 그걸 하지 않는가?
      이런 교묘한 오류 때문에 큰 문제가 생길 것임. 1 차이 오류는 발견하기가 매우 어렵고, 데이터가 천천히 오염되며 점점 더 엉뚱한 방향으로 가다가 너무 늦어서야 알아차리게 됨. 대규모 언어 모델의 쓰레기 출력이 전부 피자에 풀을 바르라는 추천처럼 눈에 띄면 차라리 다행이지만, 현실은 우물에 독이 서서히 스며드는 식일 것이고, 부정확한 출력이 삶의 중요한 부분에 들어오기 시작하면 정말로 곤란해질 가능성이 큼
    • 그런 정확도라면 혼자 하는 것보다 훨씬 나음
      스스로 하면 99% 정확도도 못 낼 것 같음. 이런 작업에서 정말 99.9% 정확도라면 기꺼이 받아들일 만함
    • 99.9% 맞고 피아노 레슨이 2주마다 있다면, 40년 동안 일정 오류 1번 수준임. 그 정도면 검증하지 않아도 충분해 보임
    • 대규모 언어 모델에게 스크립트를 작성하게 하는 편이 아마 더 나음
      예를 들어 팟캐스트 앱 두 개를 시험하면서 구독한 피드 차이를 보고 싶었음. 처음에는 두 OPML 파일을 비교해 달라고 했지만 결과가 틀렸음. 30분 동안 프롬프트를 다듬고 수동 검증할 수도 있었지만, 대신 두 파일을 비교하는 스크립트를 작성해 달라고 했고 잘 동작했음. 복잡한 출력을 일일이 확인하는 지루한 과정에 비해, 스크립트는 검토해서 아마 맞을 것이라고 확신하기가 비교적 쉬움
    • Claude에게 목록과 데이터를 추출하라고 할 때 결과를 재확인해야 하는 문제와 별개로, 모델들이 지나치게 도움을 주도록 튜닝되어 있다는 문제도 있음
      원문 글과 비슷한 작업을 비영어 데이터로 해봤는데, Claude가 데이터 일부를 “친절하게” 영어로 번역하는 걸 막을 수 없었음. “이미지의 설명을 포함하라”고 하면 번역했고, “이미지의 설명을 포함하되 번역하거나 요약하지 말라”고 하면 그냥 건너뛰었음
  • 2주 전에 정확히 같은 용도가 있었는데, 학교에서 PDF 파일을 받았고 카페에서 휴대폰만 가지고 있었음
    ChatGPT를 썼고, 글에서 코드 인터프리터로 .ics 파일을 직접 생성할 수 없다고 주장한다고 한 점은 맞지만, 이 특정 문제는 충분히 해결 가능했음. Android 휴대폰에서 다음처럼 진행함: PDF에서 유용한 날짜, 시간, 메모를 모두 추출하게 하고, .ics 파일 형식의 내용을 코드 출력으로 만들게 한 뒤, 코드 인터프리터를 사용해 그 내용을 파일에 넣고 .ics 확장자로 저장하게 했음
    끝까지 잘 처리했고, 휴대폰의 gcal 앱으로 파일을 내려받아 열어서 모든 일정을 가져올 수 있었음
    코드 인터프리터가 ICS 파일을 “생성”할 수 없다는 주장은, 실행되는 Python 환경에 해당 작업용 특정 라이브러리가 없기 때문임. ICS 파일은 특정 형식의 텍스트 파일일 뿐이라 충분히 만들 수 있음

    • 흥미롭긴 한데, ChatGPT가 ics 출력을 더 꺼리게 된 걸 수도 있음. 5월에는 별로 힘들이지 않아도 됐음: https://chatgpt.com/share/0848349d-4b0b-40f8-9d24-e9c4ffc065...
    • 이제 지도에 ICS 레이어를 추가하고, 시간 인식을 가진 GPS 위치에 ICS 이벤트를 발행할 수 있으면 멋질 듯함. InstantDB 흐름에 올라타 있어서 당분간 모든 문제를 그걸로 두드려볼 생각임
    • Claude.ai는 그냥 텍스트를 줬고, 그걸 my.ics 파일로 저장하기만 하면 됐음. ChatGPT도 프롬프트를 다르게 쓰면 그렇게 만들 수 있을지 궁금함
  • ChatGPT-4o에 영화 제목 목록이 담긴 txt 파일을 주고 비슷한 일을 했음. 각 영화의 개봉일을 반환하게 한 다음, 좋아하는 영화를 기념일마다 볼 수 있도록 모든 영화 개봉일을 매년 반복되는 기념일 이벤트로 담은 iCal 파일을 받았음
    친구 몇 명에게도 해줬고, 지금까지 총 100개 넘는 영화 제목에서 성공률 100%였음

    • 좋은 음악 앨범에는 잘 안 맞을 것 같음. 오랫동안 앨범은 화요일에 나왔고, 아마 지금도 그럴 수 있음. 그러면 한 요일에 전부 몰리게 됨
      그래서 2001년 9월 11일이 화요일이었다는 걸 기억함. 앨범 나오는 날이었고, 그날 좋은 앨범도 하나 있었음
    • 날짜를 전부 다시 확인했는지 궁금함
  • 학교나 고용주 같은 곳은 아직도 PDF 형식의 달력을 많이 배포함
    실제로 캘린더 앱에 가져와 실용적으로 쓸 수 있는 형식으로 만드는 것보다, 브랜딩과 시각적 서식에 더 많은 시간을 씀
    더 견고하게 일반화할 수 있는 2단계 과정이 가능하지 않을까 싶음. 첫째, 어떤 문서든 읽어서 날짜, 시간과 시간대, 장소, URL, 메모, 반복 여부를 표로 만들고, 둘째, 대략 그 구조를 가진 표를 읽어 Google Calendar, iCal, ICS 파일이나 링크를 생성하는 방식임
    각 단계를 아주 잘 수행하도록 모델이나 에이전트를 따로 미세 조정할 수도 있을 것 같음

    • 학부모 집단의 기술 역량을 크게 과대평가하고, 핵심 날짜가 담긴 인쇄 가능한 PDF의 실용성을 과소평가하고 있음
  • 여기서 Siri는 실패했다고 봄. “월요일에 시작해서 90일 동안 이어지는 이벤트를 만들어줘” 같은 것도 늘 도박에 가까웠음
    직접 수동으로 하기 싫은 일을 Siri도 못 했음. 그러면 그다지 비서라고 하기 어려움

  • GPT4-o에 인터넷뱅킹 거래 목록 스크린샷을 넣어서 회사 세금 신고용 거래 목록을 얻었음. 눈으로 검증했고 결과는 맞았음
    그보다 전에 제품 관리자가 기능 플래그를 켤 회사 ID 목록을 스크린샷으로 보내왔음. 전부 수동 입력하는 대신 GPT4-o로 스크린샷에서 쉼표로 구분된 목록을 만들게 했고, 역시 완벽하게 동작했음

    • OpenAI는 그런 기밀 정보를 다 받아서 기쁠 듯함 ;)
  • 이건 대단함. 동시에 AI 덕분에 더 널리 퍼졌으면 하는 설계 패턴도 잘 보여줌: 상호운용 가능한 사람이 읽을 수 있는 파일 형식임. .ICS 파일 같은 것들임
    더 많은 웹사이트와 앱이 이런 형식 지원을 우선시하면 좋겠음. AI를 끼워 넣어 쓰기 쉬워질 뿐 아니라, 더 많은 사람이 창의적으로 확장 기능을 만들 수 있게 해줌
    지난 10년쯤 동안 “단순함”이라는 이름으로 데이터가 더 사일로화되고 파일 자체의 중요성이 줄어드는 흐름이 있었는데, 어느 정도 되돌아갔으면 함

  • ChatGPT로 캘린더 항목을 자주 만들고 있음. Google Calendar 링크, ICS 파일, QR 코드 모두 가능했음
    원문에서 무엇이 잘못됐는지는 모르겠음

    • GPT-4-Turbo로 마지막에 해봤을 때는 ICS 파일을 요청하면 파일을 만들 수 없다는 이유로 거절했음. 하지만 iCal 형식으로 인코딩해 달라고 하면 Markdown 코드 블록에 출력했고, 그걸 Notepad에 복사해 ICS로 저장했음
      요즘은 목적을 위해 “Python을 사용하라”고 요청할 수도 있음. 그러면 파일을 만들어 주긴 하는데, 결과를 Python 문자열이나 배열로 인코딩해야 해서 실수가 더 늘어날 가능성이 있음
  • 캘린더 초대에 AI를 쓰는 건 확실히 잘 맞음. 비슷한 작업을 여기서 했고, ical은 더 단순함
    https://hareeshganesan.com/2024/07/14/baby-calendar

  • gpt 4o로 비슷하게 데이터 입력을 단순화하고 있음. 지금도 꽤 유용하지만, 아직 사람들이 대규모 언어 모델로 체계적인 작업을 많이 하고 있지는 않음
    하지만 너무나 명백하게 유용하므로 바뀔 것이라고 봄. 어떤 양식에 데이터를 입력하는 일이든 이제 자동화될 수 있고, 실제로 자동화될 것임. 특히 정보가 인쇄물이나 인쇄 가능한 형태로 있다면, 카메라를 비추고 빠르게 검토하면 됨
    표지판, 포스터 같은 곳에 있는 정보를 빨아들이는 건 놀라울 정도로 유용할 수 있음. 사람들은 쉽게 접근 가능한 디지털 형식으로 존재하지 않는 많은 정보를 시각적으로 전달하는 데 많은 노력과 돈을 쓰고 있음

    • 테스트해보니 다양한 양식이나 문서를 대상으로 하면 정보 추출률은 약 90% 정도였음. 복잡한 양식일수록 특히 어려움