こんにちは、ゆきしょうです。
料理本の写真を撮って送るだけで、レシピ帳に入るアプリを作りました。
家族で使うもので、Claude Codeで作っています。
最初は、AIが写真を読み違えました。
原因は、AIの賢さより手前にありました。
料理本の写真から、AIはレシピを正しく読めるのか?
読めます。
ただ、最初の1枚は作り方を4か所読み違えました。
縦書きの料理本の、すき焼きのページです。
料理名、材料8行、何人分は正しく読めていました。
読み違えたのは、作り方の細かい言い回しです。
「つのが立つ」が「つゆの立つ」になる、といった間違いでした。
何を作ったのか?
家族用の、iPhoneで開くレシピのアプリです。
うちは4人家族で、料理はほぼ毎日しています。
安い食材で体に良いものを作りたいのと、手持ちのレシピをためておきたいのが始まりです。
画面は「作る」「探す」「レシピ帳」の3つのタブに分けました。
できることは、主に4つです。
写真を送ると、料理名・材料・作り方を読み取ってレシピ帳に入れます。
食材を選ぶと、それで作れるレシピを3つ出します。
食材は、レシートから付けている家計簿の品目から拾っています。
料理名を入れると、人気のあるレシピを3つ、元のページへのリンク付きで出します。
人数を選ぶと、材料の分量を計算し直します。
最初は6人分で、1人分から10人分まで選べます。
読み違いの原因は、どこにあったのか?
写真を縮めていたことでした。
アプリの画面が、送る前に写真の長い辺を1600pxまで小さくしていたのです。
料理本は字が小さく、縦書きです。
料理本のページに似せて作った画像で試すと、1600pxでは2回とも材料を読み違えました。
縮めない元の大きさでは、材料の読み違いは0回でした。
読み取る側のAIは、長い辺2576pxまでなら縮めずに見られます。
公式の説明で確かめてから、画面の縮め方を2576pxに直しました。
直したあと、レシピサイトのスマホ画面9枚と、似せて作った料理本の画像1枚で試しました。
材料は、10枚とも写真どおりに読めました。
ただ、料理名が画面の外に切れている6枚は、料理名が記号だけになったり、読み取りに失敗したりしました。
料理名が写っていないときは、「料理名が写っていません」と入れる形に変えています。
AIの頭が悪いのではなく、こちらが細かい字を潰して渡していました。
写真を縮めるのをやめたら、全部正しく読めたのか?
読めませんでした。
次に、iPhoneから料理本の写真を5枚送りました。
この5枚は、材料も何人分も正しく読めました。
ただ、1枚のページに3つのレシピが載っていて、最初の1つしか入らないことがありました。
1枚に1レシピ、という作りにしていたからです。
ページにあるレシピを全部入れる形に直し、写真をまとめて送れるようにもしました。
そのあと写真を10枚まとめて送ったら、12件のレシピが入りました。
写真と1行ずつ見比べると、材料の誤りが6件ありました。
作り方の誤りも4件です。
「2〜3人分」が「23人分」になる不具合も見つかりました。
波線の記号を消したせいで、数字がくっついていたのです。
5枚で大丈夫でも、10枚では大丈夫ではありませんでした。
AIのモデルを変えると、読み取りは変わるのか?
変わりました。
同じ10枚を、ClaudeのSonnetとOpusという2つのモデルで読ませ直して比べています。
Sonnetは、材料の分量を間違えました。
しょうゆの大さじ2が大さじ1になる、といった実際に味が変わる誤りです。
Opusは、「1L」と「1ℓ」のような書き方の違いだけでした。
そこで、写真の読み取りだけOpusに変えました。
そのあと写真を4枚送ると、1枚およそ10秒で入りました。
料理名、材料、分量、何人分、作り方まで、誤りは0件でした。
自分で作るなら、何から試せばいいのか?
まず、写真を縮めないことです。
読み違いが出たら、AIを疑う前に、渡している写真の大きさを見てください。
次に、何枚かは写真と1行ずつ見比べることです。
5枚で正しくても、枚数を増やすと誤りが出ることがあります。
分量の数字は、モデルによって差が出ます。
料理は分量を間違えると、そのまま味に出ます。
私は、写真の読み取りだけモデルを替えて落ち着きました。
食材の元になっている家計簿は、レシートを撮って送るだけで付くようにしています。
Claude Codeで身の回りの道具を作るなら、私が最初の2ヶ月で任せたこと・任せなかったことをまとめています。
以上、料理本の写真を読むレシピアプリをClaude Codeで作って、読み違いの原因を追いかけた話でした。

