2 ポイント 投稿者 GN⁺ 2024-08-26 | 1件のコメント | WhatsAppで共有
  • ジャズピアノのレッスン日程がJPG画像だけで共有された状況で、Claude 3.5 Sonnetが表示された日付を読み取り、カレンダーへ移す反復作業を減らしてくれた
  • 緑色で示された13個の日付は、2024年9月13日から2025年5月23日までの隔週金曜日のレッスンとして抽出された
  • 続いて同じ会話の中で、各日付の午後2時 Pacific Time に Jazz Piano Lesson の予定を入れたICSファイルのテキストまで生成した
  • 生成された .ics ファイルはテキストとして保存した後、Google Calendarのインポート/エクスポートから取り込み、正常に追加できた
  • 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:VCALENDARVERSION:2.0PRODIDCALSCALE:GREGORIAN と13個の VEVENT ブロックが含まれていた
  • 各イベントには次のフィールドが入っていた
    • SUMMARY:Jazz Piano Lesson
    • DTSTARTDTEND: 1時間の予定
    • DTSTAMP:20240824T000000Z
    • 日付ごとの一意な UID
  • 時刻はUTCのZ表記に変換され、Pacific Timeの時刻変化がファイルに反映されていた
  • 利用手順は、生成された内容をコピーして新しいテキストファイルに貼り付け、.ics 拡張子で保存した後、任意のカレンダーアプリに取り込むというもの
  • Google Calendarでは設定のインポート/エクスポートメニューから .ics ファイルを取り込み、予定が正常に追加された
  • 同じ入力をChatGPTで試したところ、日付の識別はできたものの、最初は .ics ファイルの生成はできないと答えてPythonコードを提供し、その後「.ics ファイルの内容だけ見せてほしい」と依頼すると該当する内容を生成した

1件のコメント

 
GN⁺ 2024-08-26
Hacker News のコメント
  • Claude にリストやデータ抽出をさせるときは、結果を必ず再確認する必要がある
    99.9% は正しいが、たまに 1〜2 件のレコードが間違っていて、結果がそれらしく見えるため、なおさら見逃しやすい。長いリストや表では大規模言語モデルがごくわずかに間違えることがあり、自分でも実際に経験したことがある。信頼しても検証は必要
    答えが機械的に検証可能なら、大規模言語モデルに内部で実行できる Python 検証器を書かせる方法もある。ChatGPT はコード実行が可能で、Sonnet 3.5 も可能だと認識しているが、自分では試していない

    • 大規模言語モデルのオフバイワンエラー傾向は、「真実」への信頼を大きく損なうだろうし、今後数年はかなり厳しいことになりそうで怖い。さらに長い時間軸では、客観的知識の崩壊すらあり得るように思える
      George Washington の誕生日を尋ねたときに「May 20, 2020」と答えるのと、「February 20, 1733」と自信満々に幻覚するのとは違う。一見するとそれらしく見える。Presidents' Day は 2 月で誕生日と関係がありそうだし、年も合っているように見えるので、十分だと感じてしまいやすい
      しかし間違っており、大規模言語モデルがこうした「事実」を確信に満ちた態度で語るのが怖い。確率的モデルがそう語るように作られていて、情報を確認したり検証したりする仕組みが十分ではなかったためだ
      「信頼せよ、されど検証せよ」は逆説的で循環的だ。ChatGPT が提示したすべての事実を、より高次の真実の源だと信じる Wikipedia で確認しなければならないのなら、なぜ最初からそこから始めないのか。出力を検証するために Python 検証器を作らなければならないのなら、なぜ最初からそれをしないのか。
      こうした巧妙な誤りによって大きな問題が起きるはずだ。オフバイワンエラーは見つけるのが非常に難しく、データはゆっくり汚染され、どんどん見当違いの方向へ進み、手遅れになってようやく気づくことになる。大規模言語モデルのゴミ出力が、ピザに接着剤を塗れというおすすめのように全部目立つものならむしろ幸いだが、現実には井戸に毒が少しずつ染み込むような形になるだろうし、不正確な出力が生活の重要な部分に入り込み始めると、本当に厄介なことになりかねない
    • その精度なら、一人でやるよりずっと良い
      自分でやったら 99% の精度も出せないと思う。こういう作業で本当に99.9% の精度なら、喜んで受け入れられる
    • 99.9% 正しく、ピアノレッスンが 2 週間ごとにあるなら、40 年で予定の誤りが 1 回というレベルだ。その程度なら検証しなくても十分に見える
    • 大規模言語モデルにスクリプトを書かせるほうが、おそらくより良い
      たとえばポッドキャストアプリを 2 つ試していて、購読しているフィードの違いを見たかった。最初は 2 つの OPML ファイルを比較してほしいと頼んだが、結果は間違っていた。30 分かけてプロンプトを調整し手動で検証することもできたが、代わりに 2 つのファイルを比較するスクリプトを書いてもらったところ、うまく動いた。複雑な出力を一つひとつ確認する退屈な作業に比べると、スクリプトはレビューしておそらく正しいと確信するのが比較的簡単だ
    • 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% だった

    • 良い音楽アルバムにはあまり向いていなさそうだ。長い間、アルバムは火曜日に発売されていたし、おそらく今でもそうかもしれない。そうなると、1 つの曜日に全部集中してしまう
      だから 2001 年 9 月 11 日が火曜日だったことを覚えている。アルバムの発売日で、その日に良いアルバムも 1 枚あった
    • 日付を全部再確認したのか気になる
  • 学校や雇用主のようなところは、いまだに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%程度だった。複雑なフォームほど特に難しい。