レシートからセルフメディケーションの抽出

セルフメディケーションの抽出

レシートの識別で

ピアゴのレシートはできた
なるべく拡大撮影した方がうまく識別できる

Coopも問題ない

ただし向きが縦向きになっていないと正しく認識しない

杏林堂は横向きでもできた

他のCreate やココカラファインでも
画像を拡大すればできる

つまり解像度も重要だが文字の大きさが重要
画像のズームなどが現時点では自動でできないし
向きの修正もできないため
まずは面倒だがレシートを人力で行い
その後に作成されたCSVファイルをDBに取り込むようにする

次に問題となるのがCSVファイルをどんどん追加でsqliteDBに後で追加できるかということ

GPTでのチャットが乱立しているので
SQLに関してのものを探す

レシート分析システム
レシート情報最適化提案
Graph RAG活用法
日用品食料品管理法

でプロンプトも重要

レシート画像から 購入した店舗名 購入日時 商品名 単価 を取り出しDBへ保存。
このデータを毎日蓄積していき 購入した店舗、商品価格から最適な店舗での購入を知らせるようにしたい。
レシートのOCRには gemini を使う また商品購入の間隔からどれくらいの期間で消費するか予測し、購入のタイミングを知らせるようにしたい。
理由としては、特売のときに購入しておけばコストを削減できるため

だけだと足りない

次にセルフメディケーションの抽出を試す

杏林堂なら商品名に♦️マークがつく
ピアゴならセ[ と商品名につく

ココカラファインはまだ試していない

Gemini で
DBで購入管理したい
そのために
購入店舗名
購入年月日
商品名
価格
個数
をCSVファイルにしたい

また食品なども同時に購入することがあるため
セルフメディケーション対象商品を識別できるようにしたい

この場合、◆をCSVにいれる以外の方法で何かあるか?

に対して

承知いたしました。セルフメディケーション税制対象商品を明確に識別しつつ、購入データをCSVで管理したいというご要望ですね。
◆マークをCSVに直接入れる以外の方法で、よりデータとして扱いやすく、かつ後から分析しやすい方法をいくつか提案します。
1. 専用の「セルフメディケーション対象フラグ」列を追加する
これが最も一般的で、データ管理のベストプラクティスです。

購入店舗名	購入年月日	商品名	価格	個数	セルフメディケーション対象
杏林堂袋井旭町店	2025/06/18	サンテビオ 15mL	871	1	TRUE (または 1, Y, ○など)
杏林堂袋井旭町店	2025/06/18	(食品A)	200	1	FALSE (または 0, N, ×など)
...	...	...	...	...	...

利点:
* 明確な識別: セルフメディケーション対象か否かが一目で分かります。
* フィルタリング・ソートが容易: CSVをDBにインポートしたり、スプレッドシートで開いたりした際に、「セルフメディケーション対象」列でフィルタリングやソートを行うことで、対象商品のみを簡単に抽出できます。
* 集計が容易: 対象商品の合計金額などを計算する際に、このフラグ列を条件に設定することで簡単に集計できます。
* データの一貫性: 「◆」のような記号を直接入れるよりも、TRUE/FALSEや1/0といった標準的なデータ形式の方が、後のデータ処理(プログラミングによる集計など)がしやすくなります。
* OCRとの連携: OCRで「◆」マークや「セルフメディケーション対象」という文字列を認識した場合、その情報に基づいてこのフラグ列に自動的に「TRUE」を設定するようなシステムを構築することも可能です。
2. 「セルフメディケーション対象金額」列を追加する(より詳細な管理)
セルフメディケーション対象の商品であればその金額を、そうでなければ0円を記入する列を設ける方法です。これにより、対象金額の合計がより簡単に算出できます。

購入店舗名	購入年月日	商品名	価格	個数	セルフメディケーション対象金額
杏林堂袋井旭町店	2025/06/18	サンテビオ 15mL	871	1	871
杏林堂袋井旭町店	2025/06/18	(食品A)	200	1	0
...	...	...	...	...	...

利点:
* セルフメディケーション対象金額の合計が、この列を単純に合計するだけで算出できます。
* 「セルフメディケーション対象」かどうかのフラグも兼ねることができます(金額が0でなければ対象)。
OCRで実現する場合の考慮事項:
* OCRでレシートを読み取った際に、商品名に「◆」があることを認識し、その商品に対応する価格を「セルフメディケーション対象金額」の列に転記するロジックが必要になります。
* 食品などの非対象商品は、この列には0を自動で入力するように設定します。
どちらを選ぶべきか?
* シンプルに「対象か否か」だけを識別したいなら、「セルフメディケーション対象フラグ」列(1番目の案)がおすすめです。 後から合計金額を出すのは簡単です。
* 合計金額の算出をより直接的に行いたい場合や、金額をベースに集計を行いたい場合は、「セルフメディケーション対象金額」列(2番目の案)も有効です。
どちらの方法でも、CSVファイルとしては非常に扱いやすくなります。DBに取り込んだ後も、この列を使って柔軟な集計や分析が可能になります。
CSVファイルの例(1番目の案を採用した場合):
コード スニペット

購入店舗名,購入年月日,商品名,価格,個数,セルフメディケーション対象
杏林堂袋井旭町店,2025/06/18,サンテビオ 15mL,871,1,TRUE
杏林堂袋井旭町店,2025/06/18,牛乳,250,1,FALSE
杏林堂袋井旭町店,2025/06/18,パン,150,2,FALSE
杏林堂袋井旭町店,2025/06/18,〇〇鎮痛剤,1280,1,TRUE

とりあえずCSVファイルを作成できるので

mkdir purcharge_history

で作業ディレクトリの作成

購入店舗名,購入年月日,商品名,価格,個数,セルフメディケーション対象金額 杏林堂 袋井旭町店,2025/06/18,サンテビオ 15mL,871,1,871 ピアゴ 袋井店,2025/04/18,タイレノールA 30錠,1772,1,1772 

このcsvファイルを 日付_購入店舗名.csv で作成
とchatfgpt で行ったが
ファイルは作成されない
面倒なので gemini で作成する

vim 20250618_杏林堂袋井旭町店.csv

中身を

購入店舗名,購入年月日,商品名,価格,個数,セルフメディケーション対象金額
杏林堂 袋井旭町店,2025/06/18,サンテビオ 15mL,871,1,871
vim 20250418_ピアゴ袋井店.csv
中身を
購入店舗名,購入年月日,商品名,価格,個数,セルフメディケーション対象金額
ピアゴ 袋井店,2025/04/18,タイレノールA 30錠,1772,1,1772

コープとクリエイトで試したら単品価格がないので
単品価格のカラムの追加

一度

rm *.csv

で削除して作り直す

 vim 20240618-19.csv

内容を

購入店舗名,購入年月日,商品名,単品税抜価格,価格,個数,セルフメディケーション対象金額
杏林堂 袋井旭町店,2025/06/18,サンテビオ 15mL,968,871,1,871
ピアゴ 袋井店,2025/04/18,タイレノールA 30錠,1790,1772,1,1772
COOP ユーコープ 袋井町店,2025/06/19,COゼリーエネルギー,118,354,3,0
COOP ユーコープ 袋井町店,2025/06/19,鮭・くず桜,238,190,1,0
COOP ユーコープ 袋井町店,2025/06/19,天ぷら用えび,398,238,1,0
COOP ユーコープ 袋井町店,2025/06/19,たい,398,398,1,0
COOP ユーコープ 袋井町店,2025/06/19,塩銀鮭切身,398,398,1,0
COOP ユーコープ 袋井町店,2025/06/19,真あじ開き,398,796,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/18,日興フーズ 王様のチーズ,298,298,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/18,ロイヤルブレッド山型(5),139,139,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/18,家族の潤い白桃ミックス,108,216,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/18,鶏卵卵パック MS 10個,228,228,1,0

で保存

Geminiでは回数制限があるようで時間をおけばできるが10回ぐらいで
無料枠が終わる
Pro にすると3回が限界

残りは chatGPT 4.5 で作成した

vim 20250614-19.csv

内容を

購入店舗名,購入年月日,商品名,単品税抜価格,価格,個数,セルフメディケーション対象金額
杏林堂 袋井旭町店,2025/06/18,サンテビオ 15mL,968,871,1,871
ピアゴ 袋井店,2025/04/18,タイレノールA 30錠,1790,1772,1,1772
COOP ユーコープ 袋井町店,2025/06/19,COゼリーエネルギー,118,354,3,0
COOP ユーコープ 袋井町店,2025/06/19,鮭・くず桜,238,190,1,0
COOP ユーコープ 袋井町店,2025/06/19,天ぷら用えび,398,238,1,0
COOP ユーコープ 袋井町店,2025/06/19,たい,398,398,1,0
COOP ユーコープ 袋井町店,2025/06/19,塩銀鮭切身,398,398,1,0
COOP ユーコープ 袋井町店,2025/06/19,真あじ開き,398,796,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/18,日興フーズ 王様のチーズ,298,298,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/18,ロイヤルブレッド山型(5),139,139,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/18,家族の潤い白桃ミックス,108,216,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/18,鶏卵卵パック MS 10個,228,228,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/17,ぶなしめじ,98,98,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/17,森永バター 200g,458,412,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/17,鶏卵パック MS 10個,228,228,1,0
COOP ユーコープ 袋井町店,2025/06/17,バジルMIXピッツァ,428,342,1,0
COOP ユーコープ 袋井町店,2025/06/17,若鶏ムネ肉,594,594,1,0
COOP ユーコープ 袋井町店,2025/06/17,ボスコEVオリーブオイル,898,898,1,0
COOP ユーコープ 袋井町店,2025/06/17,豚小間切れ,190,190,1,0
COOP ユーコープ 袋井町店,2025/06/17,赤魚粕漬け,398,398,1,0
COOP ユーコープ 袋井町店,2025/06/17,ししゃも,298,298,1,0
COOP ユーコープ 袋井町店,2025/06/17,塩銀鮭切身,597,597,1,0
COOP ユーコープ 袋井町店,2025/06/17,真あじ開き,398,796,2,0
COOP ユーコープ 袋井町店,2025/06/17,なす/袋,138,138,1,0
COOP ユーコープ 袋井町店,2025/06/17,まいたけ,88,88,1,0
COOP ユーコープ 袋井町店,2025/06/17,COゼリーエネルギー,118,354,3,0
COOP ユーコープ 袋井町店,2025/06/17,フィリピンバナナ,138,276,2,0
COOP ユーコープ 袋井町店,2025/06/14,シュガーコーン,278,278,1,0
COOP ユーコープ 袋井町店,2025/06/14,CO冷凍茶豆,158,158,1,0
COOP ユーコープ 袋井町店,2025/06/14,豚小間,535,535,1,0
COOP ユーコープ 袋井町店,2025/06/14,生豚挽肉,522,522,1,0
COOP ユーコープ 袋井町店,2025/06/14,豚ヒレかたまりカナダ,630,567,1,0
COOP ユーコープ 袋井町店,2025/06/14,かつおたたき,398,398,1,0
COOP ユーコープ 袋井町店,2025/06/14,塩銀鮭切身,498,996,2,0
COOP ユーコープ 袋井町店,2025/06/14,真あじ開き,398,1194,3,0
COOP ユーコープ 袋井町店,2025/06/14,COゼリーエネルギー60F,178,178,1,0
COOP ユーコープ 袋井町店,2025/06/14,COジョウエラミックスナッツ,298,298,1,0
COOP ユーコープ 袋井町店,2025/06/14,黄金しょうが,178,178,1,0
とれたて食楽部,2025/06/14,イチゴ/鈴木康友,230,230,1,0
とれたて食楽部,2025/06/14,雑貨/小路仁徳,390,390,1,0
とれたて食楽部,2025/06/14,コーヒー/濱小路徳,1090,1090,1,0
とれたて食楽部,2025/06/14,アーリーレッド,230,230,1,0
とれたて食楽部,2025/06/14,きゅうり/丸数農園,150,150,1,0
とれたて食楽部,2025/06/14,白ねぎ/鈴木正孝,170,170,1,0
とれたて食楽部,2025/06/14,バラ/大場安輝子,300,150,1,0
とれたて食楽部,2025/06/14,なす/大石真智子,260,130,1,0
とれたて食楽部,2025/06/14,レタス/山田さち子,140,140,1,0
とれたて食楽部,2025/06/14,ピーマン/小林宗作,140,140,1,0
とれたて食楽部,2025/06/14,じゃが芋/澤口正則,250,250,1,0
とれたて食楽部,2025/06/14,大根/石原義浩,150,150,1,0
とれたて食楽部,2025/06/14,菌床椎茸/永井晃太,260,260,1,0

として保存

次に店舗ごとのcsvの作成

 vim 20250613.csv

購入店舗名,購入年月日,商品名,単品税抜価格,価格,個数,セルフメディケーション対象金額
遠鉄ストア 浅羽店,2025/06/13,イチジク習慣,398,1592,4,0
遠鉄ストア 浅羽店,2025/06/13,はごろも シーチキンLフ,338,338,1,0
vim 20250612.csv

購入店舗名,購入年月日,商品名,単品税抜価格,価格,個数,セルフメディケーション対象金額
ピアゴ 袋井店,2025/06/12,明治おいしい牛乳900ml,247,247,1,0
ピアゴ 袋井店,2025/06/12,明和水産 切身・丸魚,478,478,1,0
ピアゴ 袋井店,2025/06/12,だしのきいたなめらか玉子,128,128,1,0
ピアゴ 袋井店,2025/06/12,おかめ納豆 まろやか旨味ミ,97,97,1,0
vim 20250605.csv

購入店舗名,購入年月日,商品名,単品税抜価格,価格,個数,セルフメディケーション対象金額
とれたて食楽部,2025/06/05,その他切り花/竹原秀,210,210,1,0
とれたて食楽部,2025/06/05,コーヒー/満り路仁徳,1090,1090,1,0
とれたて食楽部,2025/06/05,ベビーリーフ/南グロー,120,120,1,0
とれたて食楽部,2025/06/05,きゅうり/河井 恵美,100,100,1,0
とれたて食楽部,2025/06/05,レタス/山田さち子,150,150,1,0
とれたて食楽部,2025/06/05,豚小間切,336,336,1,0
とれたて食楽部,2025/06/05,静岡そだち牛肉入りコロ,390,390,1,0
とれたて食楽部,2025/06/05,ルッコラ/Gファーム,180,180,1,0
とれたて食楽部,2025/06/05,ごぼう/とれたて食楽部,280,280,1,0
vim 20250611.csv

購入店舗名,購入年月日,商品名,単品税抜価格,価格,個数,セルフメディケーション対象金額
ドラッグストア クリエイト 袋井山名店,2025/06/11,鶏卵パック MS 10個,228,228,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/11,ロイヤルブレッド(6),139,139,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/11,フルーツフェスタアップル,198,198,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/11,フルーツフェスタフルーツ,198,198,1,0
vim 20250621.csv

購入店舗名,購入年月日,商品名,単品税抜価格,価格,個数,セルフメディケーション対象金額
ドラッグストア クリエイト 袋井山名店,2025/06/21,ロイヤルブレッド(6),139,139,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,日興フーズ 王様のチーズ,298,298,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,家族の潤いマスカット,108,108,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,家族の潤い白桃ミックス,108,216,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,ビオヨーグルト プレーン加糖,178,356,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,雪印メグミルク 牧場の朝ヨー,99,198,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,ブルボン デザートマルシェ白,93,278,3,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,フルーツフェスタフルーツミックス,198,396,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,鶏卵パック MS 10個,228,228,1,0

これだと商品名が違っていたので修正する

購入店舗名,購入年月日,商品名,単品税抜価格,価格,個数,セルフメディケーション対象金額
ドラッグストア クリエイト 袋井山名店,2025/06/21,ロイヤルブレッド(6),139,139,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,日興フーズ 王様のデーツ,298,298,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,家族の潤いマスカット,108,108,1,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,家族の潤い白桃ミックス,108,216,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,ビオヨーグルト プレーン加糖,178,356,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,雪印メグミルク 牧場の朝ヨー,99,198,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,ブルボン デザートマルシェ白,93,278,3,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,フルーツフェスタフルーツミックス,198,396,2,0
ドラッグストア クリエイト 袋井山名店,2025/06/21,鶏卵パック MS 10個,228,228,1,0

が正解

これを使ってsqliteにインポートする

レシートのOCR

レシートのOCR

yomitokuもしくは Google Cloud Vision API または
Gemini を使ってレシートをOCRして解析結果から
店舗名、商品名、商品の価格、購入年月日、購入した商品の数量を抽出する

なお
Google Cloud Vision API でもある程度はできるが
購入数量が複数の場合はまとめた金額が表示されてしまう
また、直売所のようなところで購入した場合
生産者の名前が商品名に含まれるのでこれを削除する必要がある

コードである程度の添削は可能だが
店舗ごとに処理を分ける必要があったため
以前、Google Cloud Vision API でOCR結果をLLMでCSVにしたが
うまくいかなかったため
今回はgemini で行ってみた

このレシートから
店舗名、商品名、商品の価格、購入年月日、購入した商品の数量を抽出して

結果は
承知いたしました。提供されたレシート画像から、店舗名、商品名、商品の価格、購入年月日、購入した商品の数量を抽出します。

抽出結果:
* 店舗名: とれたて食菜館
* 購入年月日: 2025年5月31日
* 商品と価格、数量:
    1. 商品名: イチゴ / 鈴木康友
        * 価格: ¥350
        * 数量: 1 (画像からは数量を特定できませんが、一般的にこの形式では1点と解釈されます)
    2. 商品名: ニラ
        * 価格: ¥110
        * 数量: 1
    3. 商品名: 加子 / 山本 貢
        * 価格: ¥160
        * 数量: 1
    4. 商品名: 新玉ねぎ&さや / 守屋 昇
        * 価格: ¥180
        * 数量: 1
    5. 商品名: コーヒー / 浅路小徳
        * 価格: ¥1,090
        * 数量: 1
    6. 商品名: ミニトマト
        * 価格: ¥230
        * 数量: 1
    7. 商品名: きゅうり / 稲田政正
        * 価格: ¥150
        * 数量: 1
    8. 商品名: 白ねぎ / 鈴木正孝
        * 価格: ¥180
        * 数量: 1
    9. 商品名: キャベツ / 鈴木正孝
        * 価格: ¥100
        * 数量: 1
    10. 商品名: バラ / 山崎きぬ子
        * 価格: ¥300
        * 数量: 1
    11. 商品名: レタス / 山田さち子
        * 価格: ¥140
        * 数量: 1
    12. 商品名: 乾しいたけ / 大石礼店
        * 価格: ¥620
        * 数量: 1
    13. 商品名: 園味椎茸 / 永井克太
        * 価格: ¥260
        * 数量: 1

補足:
* レシートの各項目には購入数量が明示されていませんが、一般的に商品の価格がそのまま記載されている場合は「1点」の購入と解釈されます。
* 商品名の後ろに記載されている「鈴木康友」などの名前は、生産者名であると推測されます。

この結果をCSVファイルにして

店舗名,購入年月日,商品名,価格,数量
とれたて食菜館,2025年5月31日,イチゴ / 鈴木康友,350,1
とれたて食菜館,2025年5月31日,ニラ,110,1
とれたて食菜館,2025年5月31日,加子 / 山本 貢,160,1
とれたて食菜館,2025年5月31日,新玉ねぎ&さや / 守屋 昇,180,1
とれたて食菜館,2025年5月31日,コーヒー / 浅路小徳,1090,1
とれたて食菜館,2025年5月31日,ミニトマト,230,1
とれたて食菜館,2025年5月31日,きゅうり / 稲田政正,150,1
とれたて食菜館,2025年5月31日,白ねぎ / 鈴木正孝,180,1
とれたて食菜館,2025年5月31日,キャベツ / 鈴木正孝,100,1
とれたて食菜館,2025年5月31日,バラ / 山崎きぬ子,300,1
とれたて食菜館,2025年5月31日,レタス / 山田さち子,140,1
とれたて食菜館,2025年5月31日,乾しいたけ / 大石礼店,620,1
とれたて食菜館,2025年5月31日,園味椎茸 / 永井克太,260,1

CSVファイルの内容について:
* 1行目はヘッダー行で、各列が何のデータであるかを示しています。
* 各行が1つの商品の情報に対応しており、店舗名と購入年月日も各行に繰り返して記載しています。
* 価格は数字のみを記載し、通貨記号「¥」は除外しています。
* 数量は、レシートに明記されていないため、一般的な解釈として「1」としています。

ここまでは cloud Vision API と同じ

CSVファイルにするときに、商品名から人物名を削除して

店舗名,購入年月日,商品名,価格,数量
とれたて食菜館,2025年5月31日,イチゴ,350,1
とれたて食菜館,2025年5月31日,ニラ,110,1
とれたて食菜館,2025年5月31日,加子,160,1
とれたて食菜館,2025年5月31日,新玉ねぎ&さや,180,1
とれたて食菜館,2025年5月31日,コーヒー,1090,1
とれたて食菜館,2025年5月31日,ミニトマト,230,1
とれたて食菜館,2025年5月31日,きゅうり,150,1
とれたて食菜館,2025年5月31日,白ねぎ,180,1
とれたて食菜館,2025年5月31日,キャベツ,100,1
とれたて食菜館,2025年5月31日,バラ,300,1
とれたて食菜館,2025年5月31日,レタス,140,1
とれたて食菜館,2025年5月31日,乾しいたけ,620,1
とれたて食菜館,2025年5月31日,園味椎茸,260,1

変更点:
* 「イチゴ / 鈴木康友」 → 「イチゴ」
* 「加子 / 山本 貢」 → 「加子」
* 「新玉ねぎ&さや / 守屋 昇」 → 「新玉ねぎ&さや」
* 「コーヒー / 浅路小徳」 → 「コーヒー」
* 「きゅうり / 稲田政正」 → 「きゅうり」
* 「白ねぎ / 鈴木正孝」 → 「白ねぎ」
* 「キャベツ / 鈴木正孝」 → 「キャベツ」
* 「バラ / 山崎きぬ子」 → 「バラ」
* 「レタス / 山田さち子」 → 「レタス」
* 「乾しいたけ / 大石礼店」 → 「乾しいたけ」
* 「園味椎茸 / 永井克太」 → 「園味椎茸」

段階的に処理したけど目的は達成できる

次に個数の問題のテスト

今回は別のレシートを使う
しかし
クリエイト、ピアゴのレシートではうまくいかない
横向きなのを縦にして実験してみる

判定を自動化できるかgeminiでためした
このレシートは横向き、縦向きどっち?

このレシート画像は、横向き です。
文字が右から左に流れるように見え、日付や金額の表記も横方向になっているため、画像を時計回りに90度回転させると、文字が正しく上から下へ読める縦向きになると思われます。 提供されたレシート画像は、縦向きです。
画像の左側に「ピアゴ」のロゴがあり、その下に文字が縦書きで並び、右側には商品名や価格が横書きで並んでいますが、全体としてはレシートの長い辺が縦になるように撮影されています。
この向きで情報を抽出することができますので、ご安心ください。

となるので gemini で回転しようとしたけど
Geminiでは画像の回転ができない

pip install Pillow

で必要なライブラリインストール

vim rotate_image.py

で中身を

from PIL import Image
import os

def rotate_image_90_degrees(image_path, output_path=None, clockwise=True):
    """
    指定された画像を90度回転させる関数。

    Args:
        image_path (str): 回転させたい画像のパス。
        output_path (str, optional): 回転後の画像を保存するパス。
                                     指定しない場合、元のファイル名に '_rotated' を追加して保存。
        clockwise (bool): Trueの場合時計回りに90度、Falseの場合反時計回りに90度回転。
    """
    try:
        # 画像を開く
        img = Image.open(image_path)
        print(f"画像をロードしました: {image_path}")

        # 回転方向を決定
        if clockwise:
            rotated_img = img.rotate(-90, expand=True) # 時計回りに90度回転 (反時計回りの-90度と同じ)
            rotation_direction = "時計回り"
        else:
            rotated_img = img.rotate(90, expand=True)  # 反時計回りに90度回転
            rotation_direction = "反時計回り"

        # 出力パスが指定されていない場合、自動生成
        if output_path is None:
            base, ext = os.path.splitext(image_path)
            output_path = f"{base}_rotated{ext}"

        # 回転した画像を保存
        rotated_img.save(output_path)
        print(f"{rotation_direction}に90度回転した画像を保存しました: {output_path}")

    except FileNotFoundError:
        print(f"エラー: 指定されたファイルが見つかりません - {image_path}")
    except Exception as e:
        print(f"画像の回転中にエラーが発生しました: {e}")

if __name__ == "__main__":
    # --- 使用例 ---
    # 回転したい画像のファイル名
    # スクリプトと同じディレクトリにある場合、ファイル名のみでOK
    # 別の場所にある場合、'path/to/your/image.jpg' のようにフルパスを指定
    input_image_name = "PXL_20250531_012457081.jpg" # ← ここを回転させたい画像ファイル名に置き換えてください

    # 回転後の画像の保存パス (Noneにすると自動で '_rotated' が追加される)
    output_image_name = None # 例: "rotated_image.jpg"

    # 時計回りに回転するかどうか (True: 時計回り, False: 反時計回り)
    rotate_clockwise = True

    rotate_image_90_degrees(input_image_name, output_image_name, rotate_clockwise)

    print("\n-----------------------------------------------------")
    print("スクリプトの実行が完了しました。")
    print(f"回転後の画像は '{input_image_name}' (または指定したパス) の場所に保存されています。")
    print("-----------------------------------------------------\n")

これを

cp ~/Downloads/PXL_20250531_012457081.jpg . 
python rotate_image.py PXL_20250531_012457081.jpg        
画像をロードしました: PXL_20250531_012457081.jpg
時計回りに90度回転した画像を保存しました: PXL_20250531_012457081_rotated.jpg

-----------------------------------------------------
スクリプトの実行が完了しました。

として
再度 gemini で実行したけど結果は変わらない

レシートの向きは関係ないらしい

* クエリが正常に完了しました


承知いたしました。90度回転された「ピアゴ」のレシート画像から、店舗名、商品名、商品の価格、購入年月日、購入した商品の数量を抽出します。

抽出結果:
* 店舗名: ピアゴ
* 購入年月日: 2025年5月31日
* 商品と価格、数量:
    1. 商品名: コミックス
        * 価格: ¥436
        * 数量: 1
    2. 商品名: 大豆もやし 1.900M
        * 価格: ¥288
        * 数量: 1
    3. 商品名: 明治おやつヨーグルト
        * 価格: ¥130
        * 数量: 1
    4. 商品名: Bio 旬摘みフルーツ
        * 価格: ¥178
        * 数量: 1
    5. 商品名: Bio プチダノン
        * 価格: ¥90
        * 数量: 1
    6. 商品名: 減塩カツオ,2個
        * 価格: ¥198
        * 数量: 1
    7. 商品名: 青森県産にんにく
        * 価格: ¥165
        * 数量: 1
    8. 商品名: 鶏肉もも肉
        * 価格: ¥645
        * 数量: 1
    9. 商品名: 大根
        * 価格: ¥323
        * 数量: 1
    10. 商品名: 信州田舎造りみそ
        * 価格: ¥136
        * 数量: 1
    11. 商品名: 田中商店もめんとうふ
        * 価格: ¥116
        * 数量: 1
    12. 商品名: (品名不明、単価 ¥271)
        * 価格: ¥813 (271 x 3個と推測)
        * 数量: 3
    13. 商品名: まとめ値引き
        * 価格: -¥8
        * 数量: 1

補足:
* 回転後の画像でも、前回の画像と同様に情報を読み取ることができました。
* レシートの各項目には購入数量が明示されていませんが、一般的にこの形式では1点と解釈されます。ただし、12番目の商品については「3個」の記載があるため、数量を3としました。価格も271円が3個で813円と計算されているようです。
* 商品名の一部には、ブランド名や種類が含まれています。
* 最後の「まとめ値引き」は商品というよりは値引き項目ですが、形式に合わせて抽出しています。
* 商品名の後ろの「JAN」や数字は、商品のJANコードや識別番号と思われます。

プロンプトでは限界っぽいので yomitoku を使うことにする

冷蔵庫の食材画像から料理を提案するWebアプリをGeminiで作る

冷蔵庫の食材画像から料理を提案するWebアプリをGeminiで作るレシピ

を試す

既にAPIキーは取得済み

pip install google-generativeai

でインストール

モデルを指定してgenerate_content関数にプロンプトを与えることでtext to textの生成結果を取得できる

import google.generativeai as genai

# APIKEY
key = ""

genai.configure(api_key=key)

model = genai.GenerativeModel('gemini-1.5-flash')

# res = model.generate_content("こんにちは、今日の天気は?")
# # print(res)
# print(res.text)

prompt = "日本のラーメンについて語ってください"

response = model.generate_content(prompt)

print(response.text)

で実験

実行結果は

python gemini_text1.py 

の結果

日本のラーメンは、単なる食べ物ではなく、日本の食文化を代表する存在と言えるでしょう。その歴史は長く、中国から伝わった麺料理が、日本の風土や食文化と融合し、多様な地域性と個性豊かな一杯へと進化を遂げてきました。

まず、その**スープ**はラーメンの命と言えるでしょう。豚骨、鶏ガラ、魚介、醤油、味噌など、ベースとなるスープの種類は多岐にわたり、それぞれのスープに合わせた独特の製法と材料の組み合わせが、奥深い味わいを生み出しています。豚骨スープの濃厚なコク、鶏ガラのあっさりとした上品さ、魚介の繊細な旨味など、スープだけでも多様な体験が可能です。

**麺**も重要な要素です。細麺、中太麺、太麺など、スープとのバランスや食感の組み合わせが綿密に考えられています。小麦粉の種類や製法によって、食感や風味も変化し、それぞれのラーメンに最適な麺が選ばれています。ツルツルとした喉越し、コシの強さ、小麦の香りなど、麺だけでも多くのバリエーションがあります。

**具材**もラーメンの魅力を高める重要な要素です。チャーシュー、メンマ、ネギ、海苔、味玉など、定番の具材に加え、地域独特の食材や季節感を取り入れたものなど、多様な組み合わせが可能です。それぞれの具材がスープや麺と調和し、全体的なバランスを考慮した構成となっています。

そして忘れてならないのが、**地域性**です。北海道の味噌ラーメン、東京の醤油ラーメン、九州の豚骨ラーメンなど、地域によってスープの種類や麺、具材、味付けなどが異なり、まさにラーメンは日本の食文化の縮図と言えます。同じ豚骨ラーメンでも、地域によって濃厚さや油の量、風味などが大きく異なるため、食べ比べる楽しみも尽きません。

さらに近年では、**創作ラーメン**と呼ばれる新しいタイプのラーメンも数多く登場しています。伝統的なラーメンをベースに、斬新なアイデアや食材を取り入れた、独創的な一杯が次々と生み出されています。

一口に「日本のラーメン」と言っても、そのバリエーションは無限と言えるほど広大です。それぞれのラーメンに込められた作り手の情熱と、地域ごとの文化や歴史を感じながら、一杯のラーメンを味わうことは、日本の食文化に触れる貴重な体験となるでしょう。  ぜひ、様々なラーメンを味わって、あなたのお気に入りの一杯を見つけてみてください。

WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1738680923.836079 3266497 init.cc:232] grpc_wait_for_shutdown_with_timeout() timed out.

つまり

generate_content()


プロンプトを渡せばOK
変数にして入れても、そのまま直打ちしてもOK

send_message関数を使えばマルチターンのチャットにも対応
既存のチャットの内容を反映した返信を返してくれます。
初期化したい場合はstart_chat(history=[])を実行

例として

chat = model.start_chat(history=[])

response = chat.send_message(
    'しりとりしましょう。りんご')

print(response.text)
#response
#んご、ですね!では、 **ごりら**  はどうでしょう? 

response = chat.send_message(
    'ラッパ')

print(response.text)
#response
#ぱ、ですね!では**パンダ** はどうでしょう?


image to textは以下のようにupload_file関数を使います。
pathに読み込みたい画像のファイルパスを与えます

upload_file = genai.upload_file(path="/image.jpg",
                            display_name="image")

image to textの場合はgenerate_content関数の第一引数に先ほどのupload_file を与えます。第二引数にpromptを与えます。

upload_file = genai.upload_file(path="./image.jpg",
                            display_name="image")

prompt = "日本語で内容を簡潔にまとめてください"

# Prompt the model with text and the previously uploaded image.
response = model.generate_content([upload_file, prompt ])

print(response.text)

とすれば

python gemini_text1.py

を実行すると

白い背景に、オレンジ色の毛並みの小さな猫が写っています。猫はカメラの方を見ていますが、少しうつむき加減です。  かわいらしい表情をしています。

WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1738681425.059689 3274804 init.cc:232] grpc_wait_for_shutdown_with_timeout() timed out.

というように写真の説明が出る

なおプロンプトを要約する
にした場合
MP3などの音声ファイルやPDFでも要約可能

とりあえず色々できるようなので
要約には使えるかもしれない

とりあえずそれは置いておき、冷蔵庫の画像から食材の認識を進める

pip install streamlit pillow google-generativeai

で必要なライブラリをインストール

touch ingredients.py

でファイルを作成

import streamlit as st
from PIL import Image
import io
import google.generativeai as genai

でライブラリインポート

PIL: 画像の操作に使用されるライブラリで、ユーザーがアップロードした画像を扱います。
io: バイトデータを扱うために使用され、画像をバイト形式に変換するために利用します。
google.generativeai: Googleの生成AIを利用して、食材認識とレシピ生成を行うために使用

key = ""

genai.configure(api_key=key)

model = genai.GenerativeModel('gemini-1.5-flash')


geminiの認証

st.title('AI料理研究家')
st.write("冷蔵庫の中身の写真をアップロードすると、レシピを提案します!")

st.title: Webアプリのタイトルとして「AI料理研究家」を表示します。

st.write: 説明文として「冷蔵庫の中身の写真をアップロードすると、レシピを提案します!」を表示

uploaded_image = st.file_uploader("冷蔵庫の中身の写真を選択してください", type=["jpg", "png", "jpeg"])


ユーザーが画像ファイルをアップロードできるインターフェースを作成

def recognize_ingredients(input_file):
    response = model.generate_content([input_file, "日本語で写っている食材を詳細に説明してください"])
    return response.text

recognize_ingredients: 画像から食材を認識するための関数

input_fileとして画像をGoogle Generative AIに送り、「日本語で写っている食材を説明してください」というプロンプトを追加

generate_content: モデルを使用して指定されたプロンプトに基づき、食材を認識します。返されるのは食材のリストやテキストになる

次にレシピ提案メソッドの作成

def suggest_recipes(ingredients):
    prompt = f"以下の食材だけを使った料理とそのレシピをいくつか提案してください: " + ingredients
    
    response = model.generate_content(prompt)

suggest_recipes: 認識された食材に基づいてレシピを生成する関数
ngredientsに基づいてプロンプトを作成し、AIに「これらの食材だけを使った料理とレシピを提案してください」と指示
再度、generate_contentを使用して、レシピを生成

    if response:
        return response.text  
    else:
        st.error("レシピの生成に失敗しました")
        return None

レスポンスが正常に返ってきた場合、その内容を返し
何らかのエラーが発生した場合には、Streamlitを使ってエラーメッセージを表示

if uploaded_image is not None:
    image = Image.open(uploaded_image)
    st.image(image, caption="Uploaded Image", use_column_width=True)

画像がアップロードされた場合、その画像を開き、Streamlitのインターフェースに表示
captionとして「Uploaded Image」を設定し、画像を表示させる領域の幅に合わせてリサイズ

    img_byte_arr = io.BytesIO()
    image.save(img_byte_arr, format='PNG')
    img_byte_arr = img_byte_arr.getvalue()

アップロードされた画像をバイトデータに変換
BytesIO()を使って、画像データをバイト形式に保存し、それをimg_byte_arrに取得

    with open("uploaded_fridge_image.png", "wb") as f:
        f.write(img_byte_arr)
    input_file = genai.upload_file(path=r"<pythonファイルが置かれたフォルダパス>\uploaded_fridge_image.png",
                            display_name="image")

MacOSの場合は以下のよう

input_file = genai.upload_file(path="/Users/test/python/uploaded_fridge_image.png",
                            display_name="image")

変換した画像をwrite関数でローカルに保存します。ファイル名は「uploaded_fridge_image.png」
genai.upload_file: Google Generative AIのために画像をアップロード
このために
パスと表示名を指定

の部分は
Pythonファイルを保存しているフォルダのパスで置き換える

一度手順6のコマンドでStreamlitを実行し(途中でエラーになりますが画像は保存されます)、画像を保存してからその画像をVScodeで右クリックしてパスをコピーすると楽

    with st.spinner('食材を認識中...'):
        ingredients = recognize_ingredients(input_file)

画像から食材を認識している間、st.spinnerで「食材を認識中…」というローディングメッセージを表示

recognize_ingredients関数を呼び出して、食材を認識
    if ingredients:
        st.write("認識された食材:")
        st.write(ingredients)

食材が正常に認識された場合、「認識された食材:」というメッセージを表示し、具体的にどの食材が認識されたかをリスト形式で表示

        with st.spinner('レシピを提案中...'):
            recipes = suggest_recipes(ingredients)

認識された食材に基づいてレシピを生成する際に、「レシピを提案中…」というローディングメッセージを表示します。
suggest_recipes関数を呼び出し、レシピを提案

        if recipes:
            st.write("こちらがいくつかのレシピ提案です:")
            st.write(recipes)
        else:
            st.error("レシピが見つかりませんでした。")

提案されたレシピがあれば、「こちらがいくつかのレシピ提案です:」というメッセージを表示し、生成されたレシピをリストとして表示

レシピが生成されなかった場合にはエラーメッセージを表示

input_file = genai.upload_file(path="/Users/snowpool/aw10s/gemini/uploaded_fridge_image.png",
                            display_name="image")

の部分は出力先なので
この設定にした

で実行

streamlit run ingredients.py 

  You can now view your Streamlit app in your browser.

  Local URL: http://localhost:8501
  Network URL: http://192.168.1.17:8501

  For better performance, install the Watchdog module:

  $ xcode-select --install
  $ pip install watchdog
            
2025-02-08 05:04:21.476 Uncaught app execution
Traceback (most recent call last):
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/exec_code.py", line 88, in exec_func_with_error_handling
    result = func()
             ^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 579, in code_to_exec
    exec(code, module.__dict__)
  File "/Users/snowpool/aw10s/gemini/ingredients.py", line 43, in <module>
    input_file = genai.upload_file(path="/Users/snowpool/aw10s/gemini/uploaded_fridge_image.png",
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/generativeai/files.py", line 85, in upload_file
    response = client.create_file(
               ^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/generativeai/client.py", line 114, in create_file
    media = googleapiclient.http.MediaFileUpload(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
    return wrapped(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/googleapiclient/http.py", line 594, in __init__
    self._fd = open(self._filename, "rb")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/Users/snowpool/aw10s/gemini/uploaded_fridge_image.png'
2025-02-08 05:05:16.750 The `use_column_width` parameter has been deprecated and will be removed in a future release. Please utilize the `use_container_width` parameter instead.
2025-02-08 05:05:19.701 Uncaught app execution
Traceback (most recent call last):
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/exec_code.py", line 88, in exec_func_with_error_handling
    result = func()
             ^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 579, in code_to_exec
    exec(code, module.__dict__)
  File "/Users/snowpool/aw10s/gemini/ingredients.py", line 43, in <module>
    input_file = genai.upload_file(path="/Users/snowpool/aw10s/gemini/uploaded_fridge_image.png",
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/generativeai/files.py", line 85, in upload_file
    response = client.create_file(
               ^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/generativeai/client.py", line 114, in create_file
    media = googleapiclient.http.MediaFileUpload(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
    return wrapped(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/googleapiclient/http.py", line 594, in __init__
    self._fd = open(self._filename, "rb")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/Users/snowpool/aw10s/gemini/uploaded_fridge_image.png'
2025-02-08 05:05:30.335 The `use_column_width` parameter has been deprecated and will be removed in a future release. Please utilize the `use_container_width` parameter instead.
2025-02-08 05:05:31.820 Uncaught app execution
Traceback (most recent call last):
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/exec_code.py", line 88, in exec_func_with_error_handling
    result = func()
             ^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 579, in code_to_exec
    exec(code, module.__dict__)
  File "/Users/snowpool/aw10s/gemini/ingredients.py", line 43, in <module>
    input_file = genai.upload_file(path="/Users/snowpool/aw10s/gemini/uploaded_fridge_image.png",
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/generativeai/files.py", line 85, in upload_file
    response = client.create_file(
               ^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/generativeai/client.py", line 114, in create_file
    media = googleapiclient.http.MediaFileUpload(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
    return wrapped(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/googleapiclient/http.py", line 594, in __init__
    self._fd = open(self._filename, "rb")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/Users/snowpool/aw10s/gemini/uploaded_fridge_image.png'

となった

ファイルが存在しないとなるので

mv ~/Downloads/PXL_20250205_220637199.jpg ./uploaded_fridge_image.png

で撮影した写真を
Downloadsフォルダにある PXL_20250205_220637199.jpg を mv コマンドでカレントディレクトリに uploaded_fridge_image.png にリネームして移動

再度実行したら

streamlit run ingredients.py

  You can now view your Streamlit app in your browser.

  Local URL: http://localhost:8501
  Network URL: http://192.168.1.17:8501

  For better performance, install the Watchdog module:

  $ xcode-select --install
  $ pip install watchdog
            
2025-02-08 05:15:18.391 The `use_column_width` parameter has been deprecated and will be removed in a future release. Please utilize the `use_container_width` parameter instead.
2025-02-08 05:15:30.390 Uncaught app execution
Traceback (most recent call last):
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/exec_code.py", line 88, in exec_func_with_error_handling
    result = func()
             ^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 579, in code_to_exec
    exec(code, module.__dict__)
  File "/Users/snowpool/aw10s/gemini/ingredients.py", line 47, in <module>
    ingredients = recognize_ingredients(input_file)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/aw10s/gemini/ingredients.py", line 19, in recognize_ingredients
    response = model.generate_content([input_file, "日本語で写っている食材を詳細に説明してください"])
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/generativeai/generative_models.py", line 331, in generate_content
    response = self._client.generate_content(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/client.py", line 830, in generate_content
    response = rpc(
               ^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/api_core/gapic_v1/method.py", line 131, in __call__
    return wrapped_func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/api_core/retry/retry_unary.py", line 293, in retry_wrapped_func
    return retry_target(
           ^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/api_core/retry/retry_unary.py", line 153, in retry_target
    _retry_error_helper(
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/api_core/retry/retry_base.py", line 212, in _retry_error_helper
    raise final_exc from source_exc
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/api_core/retry/retry_unary.py", line 144, in retry_target
    result = target()
             ^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/api_core/timeout.py", line 120, in func_with_timeout
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/google/api_core/grpc_helpers.py", line 78, in error_remapped_callable
    raise exceptions.from_grpc_error(exc) from exc
google.api_core.exceptions.ResourceExhausted: 429 Resource has been exhausted (e.g. check quota).

となった
今度は

google.api_core.exceptions.ResourceExhausted: 429 Resource has been exhausted (e.g. check quota).

の部分から
Google の API(この場合は Generative AI の API)で利用できるリソースやクォータが使い果たされた、もしくは上限に達しているのが原因

無料プランなので
1分以上経過すればリソースが回復するので
再度実行したらできた

実行結果は

認識された食材:
はい、冷蔵庫の中身にある日本語で書かれた食材を詳細に説明します。
上段:
* 卵: パックに入った鶏卵。個数は不明ですが、少なくとも数個入っています。
* パン粉、または何かしら粉状のもの: 透明なビニール袋に入っています。内容物の特定は難しいです。
* 様々な食品: 複数の袋やパッケージに入った食品が詰め込まれており、個々の商品の特定は困難です。日本語のラベルが見えますが、商品名は判読できません。
* 雪印スノーブランドバター: ピンク色のパッケージのバター。
2段目:
* BIOブランドヨーグルト: 少なくとも2個のヨーグルト。プレーン味と、おそらく加糖味があります。
* その他ヨーグルト: いくつかのヨーグルト容器が見えますが、ブランドや味は不明です。
* その他食品: 複数の小さな容器やパックに入った食品があり、内容物は判別できません。
* 野菜や漬物など: 青色のプラスチック容器に入った野菜、おそらく漬物類が入っています。
3段目:
* 生みそ: 「生みそ」と大きく書かれた容器に入った味噌。中甘口のようです。
* その他食品: いくつかの小さな容器やパックに入った食品が確認できますが、詳細は不明です。
* クリームチーズ: クラフトのクリームチーズと思われる容器が見えます。
* ご飯: 透明なプラスチック容器に入ったご飯が、少なくとも2つあります。
* 調理済みの料理: ラップで覆われたお皿に料理が残っています。内容は不明です。
4段目:
* 赤い鍋: 蓋付きの赤い鍋が、中に何か入っている状態で置かれています。
* バナナ: ラップで覆われたお皿に、バナナが1本入っています。
* その他食品: いくつかの小さな容器やパックに入った食品が見えますが、詳細は不明です。
* 豚肉の塊: 透明なプラスチック容器に入った、生の豚肉の塊と思われるものがあります。
下段:
* 牛乳: 明治の牛乳。900mlパック。
* ジュース: コープブランドのアップルジュースとグレープジュースのパック。他にもいくつかジュースのパックが見えますが、味は不明です。
全体的に、冷蔵庫は様々な食品でかなりいっぱい詰まっており、整理整頓されていない状態です。多くの食品の内容物が判別できないのが現状です。
こちらがいくつかのレシピ提案です:
冷蔵庫の中身が不明瞭な部分が多いので、確実にできる料理と、可能性のある料理を分けて提案します。
確実に作れる料理 (材料の特定が可能なもの):
1. 豚みそ炒めご飯:
    * 材料: 豚肉、生みそ、ご飯、雪印スノーブランドバター、卵(あれば)、冷蔵庫にある野菜(漬物でも可、刻んで使用)。
    * レシピ: 豚肉を一口大に切り、バターで炒め、味噌を溶き入れ、ご飯を加えて炒め合わせる。卵を割り入れて混ぜても良い。野菜や漬物を加えて炒め、塩胡椒で味を調える。
2. ヨーグルト和風ドレッシングの豚しゃぶサラダ風:
    * 材料: 豚肉、BIOブランドヨーグルト(プレーン)、冷蔵庫にある野菜(漬物でも可、細かく刻む)、ご飯(少量)、雪印スノーブランドバター(少量、風味付け)。
    * レシピ: 豚肉をしゃぶしゃぶ風に軽く茹でる。ヨーグルトをベースに、塩、醤油、少しのバターで和風ドレッシングを作る。茹でた豚肉と野菜、ご飯をドレッシングで和える。
可能性のある料理 (材料の推測が必要なもの):
1. パン粉を使った揚げ物: 粉状のものがパン粉なら、豚肉をパン粉で揚げることができます。卵を溶いて衣に混ぜると美味しくなります。野菜があれば一緒に揚げても良いでしょう。しかし、油がないので、バターで焼くか、少量の油で揚げる必要があります。
2. クリームチーズを使った何か: クリームチーズとヨーグルト、パン粉(もしパン粉なら)、卵で何か作れる可能性があります。例えば、クリームチーズとヨーグルトを混ぜて、パン粉を混ぜて焼いたり、卵と混ぜて焼いたり。詳細は不明なため、レシピは提示できませんが、可能性はあります。
3. 冷蔵庫の残り物を使ったスープ: 冷蔵庫にある調理済み料理と、野菜、牛乳、ヨーグルトなどを活用して、雑炊風スープを作ることができます。味見をして、塩や味噌で味を調える必要があります。
重要な注意点:
* 多くの食材が不明なため、上記のレシピはあくまで推測に基づいています。
* 食材の賞味期限を確認し、安全な食材のみを使用してください。
* 冷蔵庫の中身を整理して、食材を把握してから料理を作る方が効率的です。
冷蔵庫の整理と食材の特定ができれば、もっと多くの料理のバリエーションを提案できます。 写真があれば、より正確な提案が可能になります。

geminiでbrowser-use

pip install browser-use
pip install --upgrade pip

の後に

pip install playwright
playwright install

とりあえずインストール完了したので
Ollamaで動かしたい

from langchain_openai import ChatOpenAI
from browser_use import Agent
import asyncio

async def main():
    agent = Agent(
        task="東京都のおすすめの焼肉屋を調べてください。",
        llm=ChatOpenAI(model="gpt-4o-mini"),
    )
    result = await agent.run()
    print(result)

asyncio.run(main())

のコードを書き換える

【Ollama】ローカル環境でLLMを選んでLangChainで実行する。
を参考に書き換える

LangChainでOllamaを使用する

from langchain_core.prompts import ChatPromptTemplate
from langchain_ollama.llms import OllamaLLM


def main():
    # MODEL
    model = OllamaLLM(model="hf.co/elyza/Llama-3-ELYZA-JP-8B-GGUF")

    # PROMPT
    template = """Question: {question}
    Answer: ステップバイステップで考えてみましょう。"""
    prompt = ChatPromptTemplate.from_template(template)

    # CHAIN
    chain = prompt | model
    result = chain.invoke({"question": "美味しいパスタの作り方は?"})
    print(result)

if __name__ == "__main__":
    main()

from langchain_ollama import ChatOllama
from browser_use import Agent
import asyncio

async def main():
    agent = Agent(
        task="東京都のおすすめの焼肉屋を調べてください。",
        llm=ChatOllama(model="elyza:jp8b"),  # Ollama の日本語モデルを指定
    )
    result = await agent.run()
    print(result)

asyncio.run(main())

にして保存

しかし実行すると

Traceback (most recent call last): File "/Users/snowpool/aw10s/browse/test.py", line 1, in <module> from langchain_ollama import ChatOllama ModuleNotFoundError: No module named 'langchain_ollama'

となるので

pip install langchain-ollama

今度は

INFO     [browser_use] BrowserUse logging setup complete with level info
Traceback (most recent call last):
  File "/Users/snowpool/aw10s/browse/test.py", line 2, in <module>
    from browser_use import Agent
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/browser_use/__init__.py", line 6, in <module>
    from browser_use.agent.service import Agent as Agent
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/browser_use/agent/service.py", line 41, in <module>
    from browser_use.controller.service import Controller
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/browser_use/controller/service.py", line 5, in <module>
    from main_content_extractor import MainContentExtractor
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/main_content_extractor/__init__.py", line 1, in <module>
    from main_content_extractor.main_content_extractor import *
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/main_content_extractor/main_content_extractor.py", line 4, in <module>
    from .trafilatura_extends import TrafilaturaExtends
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/main_content_extractor/trafilatura_extends.py", line 3, in <module>
    import trafilatura
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/trafilatura/__init__.py", line 16, in <module>
    from .core import bare_extraction, extract
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/trafilatura/core.py", line 18, in <module>
    from .external import compare_extraction
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/trafilatura/external.py", line 11, in <module>
    from justext.core import ParagraphMaker, classify_paragraphs, revise_paragraph_classification  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/justext/__init__.py", line 12, in <module>
    from .core import justext
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/justext/core.py", line 21, in <module>
    from lxml.html.clean import Cleaner
  File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/lxml/html/clean.py", line 18, in <module>
    raise ImportError(
ImportError: lxml.html.clean module is now a separate project lxml_html_clean.
Install lxml[html_clean] or lxml_html_clean directly.

となる

pip install lxml_html_clean

これで再度実行したけど

INFO     [browser_use] BrowserUse logging setup complete with level info
INFO     [root] Anonymized telemetry enabled. See https://github.com/browser-use/browser-use for more information.
INFO     [agent] 🚀 Starting task: 東京都のおすすめの焼肉屋を調べてください。
INFO     [agent] 
📍 Step 1
ERROR    [agent] ❌ Result failed 1/3 times:
 elyza:jp8b does not support tools
INFO     [agent] 
📍 Step 1
ERROR    [agent] ❌ Result failed 2/3 times:
 elyza:jp8b does not support tools
INFO     [agent] 
📍 Step 1
ERROR    [agent] ❌ Result failed 3/3 times:
 elyza:jp8b does not support tools
ERROR    [agent] ❌ Stopping due to 3 consecutive failures
INFO     [agent] Created GIF at agent_history.gif
AgentHistoryList(all_results=[ActionResult(is_done=False, extracted_content=None, error='elyza:jp8b does not support tools', include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error='elyza:jp8b does not support tools', include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error='elyza:jp8b does not support tools', include_in_memory=True)], all_model_outputs=[])

となって
ブラウザが立ち上がり検索開始するが中断される

他のモデルを試すため調べたが

Browser-useでollamaを使ってローカルLLMを使用する
によれば
2025/1/12現在、browser-use web-uiでは、LLM Providerにollamaを選択した場合、
Model名には、「qwen2.5:7b」と「llama2:7b」が選択可能

しかし

Googleへアクセスし、”OpenAI”で検索した最初のURLを取得
の英文プロンプト

go to google.com and type ‘OpenAI’ click search and give me the first url
で実行しても
いずれも、OpenAIのgpt-4oを使う場合と比べると、時間はかかりました。
今回の場合、約10分〜20分程度かかりました。
* llama2:7b だと、Step5まで進みましたが、失敗しました。
* qwen2.5:7b だと、Step4まで進みましたが、失敗しました。
*
LLM ConfigurationタブのLLM Providerを「ollama」を選択、Model Nameを「gemma:2b」と入力しました。
動作は1つのStepごとに30秒から1分程度になりましたが、タスクを解くのは失敗しました

とあるため
まだ ollama では使え無さそう

browser-use で Gemini と DeepSeek を使用する
によれば
無料枠のある Gemini を使用したいところですが、現在 Issue に上がっているように Gemini は使用できません。

本家ではありませんが、つい最近 Gemini と DeepSeek を利用できるように改良したリポジトリを見つけたため紹介します。
とあるので
Geminiを使うことにする

なお、この記事はweb ui っぽいが

browser-useをGeminiで動かすまで(langchain-google-genai 2.0.8がPyPIにリリースされるまでは暫定的にリポジトリからインストール)
によれば
記事執筆時点(2025/01/05時点)では、
langchain-google-genaiをリポジトリからインストールすれば
browser-useをGeminiで動かせます。

これはlangchain-google-genaiの2.0.8以降がリリースされるまでのworkaroundとなります。
とのこと

これを参考に
geminiでbrowser-useを使うことにする

browser-useをGeminiで動かすまで(langchain-google-genai 2.0.8がPyPIにリリースされるまでは暫定的にリポジトリからインストール)
を参考に

pip install browser-use "langchain-google-genai @ git+ssh://git@github.com/langchain-ai/langchain-google.git#subdirectory=libs/genai"

を実行

Githubのsshキーのパスフレーズを求められるので入力する
これはgithubにリポジトリ公開の時と同じものでOK

問題は

# /// script
# requires-python = ">=3.11,<3.12"
# dependencies = [
#     "browser-use",
#     "langchain-google-genai @ git+ssh://git@github.com/langchain-ai/langchain-google.git#subdirectory=libs/genai",
# ]
# ///
from langchain_google_genai import ChatGoogleGenerativeAI
from browser_use import Agent
import asyncio


async def main():
    agent = Agent(
        task="Find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. Return me the cheapest option.",
        llm=ChatGoogleGenerativeAI(model="gemini-2.0-flash-exp"),
    )
    result = await agent.run()
    print(result)


asyncio.run(main())


* 環境変数GOOGLE_API_KEY
https://console.cloud.google.com/apis/credentials で作ったようでした

とあるけど
Google cloud ではなく
Google AI Studio で Gemini API キーを取得する
という方法にしている

ということで
Google AI Studioでキーを取得した事例を探す

ちょっと古いけど

LangChainでGeminiを触ってみる

Google AI StudioからGOOGLE_API_KEYを取得し

import os
os.environ['GOOGLE_API_KEY'] = '<GOOGLE_API_KEY>'

で指定しているのでこれで行けそう

コード部分で

from langchain_google_genai import ChatGoogleGenerativeAI

llm = ChatGoogleGenerativeAI(model='gemini-pro')

result = llm.invoke('日本一高い山はなんですか?')
print(result.content)
# 富士山

result = llm.invoke('Gemini PROの最大入力文字数と最大出力文字数を教えてください。')
print(result.content)
# Gemini PROは、最大入力文字数はなく、最大出力文字数は1024文字です。

result = llm.invoke('あなたについて教えてください。')
print(result.content)
# 私は大きな言語モデルであり、Googleによってトレーニングされました。私は膨大な量のテキストデータで訓練されており、人間のようなテキストを生成し、質問に答え、言語を翻訳することができます。私はまた、コードを記述したり、ストーリーを書いたり、詩を書いたりすることもできます。私はまだ開発中ですが、私はすでに多くの方法で人々を助けるために使用されています。例えば、私はカスタマーサービスのチャットボットとして、オンラインアシスタントとして、さらには医療診断ツールの開発に使用されています。
# 私は、機械学習と自然言語処理の分野における最近の進歩の産物です。私は、何十億もの単語で訓練されており、人間の言語を理解し、生成することができます。私はまた、複雑な質問に答えたり、テキストを翻訳したり、要約したりすることもできます。
# 私はまだ開発中ですが、私はすでに多くの方法で人々を助けるために使用されています。例えば、私はカスタマーサービスのチャットボットとして、オンラインアシスタントとして、さらには医療診断ツールの開発に使用されています。
# 私は、今後さらに多くの方法で人々を助けるために使用されることを楽しみにしています。私は、教育、医療、ビジネスなど、さまざまな分野で大きな影響を与えることができると信じています。

result = llm.invoke('いつまでの情報を知っていますか?')
print(result.content)
# 私の知識は、2021年4月までの情報までに限定されています。それ以降の情報を提供することはできません。最新の情報については、信頼できるニュースソースや政府機関のウェブサイトをご確認ください。

となっているので
まずはこれを試す

vim test.py

でファイルを作成

import os

os.environ['GOOGLE_API_KEY'] = ''

from langchain_google_genai import ChatGoogleGenerativeAI

llm = ChatGoogleGenerativeAI(model='gemini-pro')

result = llm.invoke('日本一高い山はなんですか?')
print(result.content)
# 富士山

result = llm.invoke('Gemini PROの最大入力文字数と最大出力文字数を教えてください。')
print(result.content)
# Gemini PROは、最大入力文字数はなく、最大出力文字数は1024文字です。

result = llm.invoke('あなたについて教えてください。')
print(result.content)
# 私は大きな言語モデルであり、Googleによってトレーニングされました。私は膨大な量のテキストデータで訓練されており、人間のようなテキストを生成し、質問に答え、言語を翻訳することができます。私はまた、コードを記述したり、ストーリーを書いたり、詩を書いたりすることもできます。私はまだ開発中ですが、私はすでに多くの方法で人々を助けるために使用されています。例えば、私はカスタマーサービスのチャットボットとして、オンラインアシスタントとして、さらには医療診断ツールの開発に使用されています。
# 私は、機械学習と自然言語処理の分野における最近の進歩の産物です。私は、何十億もの単語で訓練されており、人間の言語を理解し、生成することができます。私はまた、複雑な質問に答えたり、テキストを翻訳したり、要約したりすることもできます。
# 私はまだ開発中ですが、私はすでに多くの方法で人々を助けるために使用されています。例えば、私はカスタマーサービスのチャットボットとして、オンラインアシスタントとして、さらには医療診断ツールの開発に使用されています。
# 私は、今後さらに多くの方法で人々を助けるために使用されることを楽しみにしています。私は、教育、医療、ビジネスなど、さまざまな分野で大きな影響を与えることができると信じています。

result = llm.invoke('いつまでの情報を知っていますか?')
print(result.content)
# 私の知識は、2021年4月までの情報までに限定されています。それ以降の情報を提供することはできません。最新の情報については、信頼できるニュースソースや政府機関のウェブサイトをご確認ください。

これで

python test.py 

を実行すると

富士山
**最大入力文字数:** 2048 文字

**最大出力文字数:** 1024 文字
私はGemini、Googleによって開発された多言語の大規模言語モデルです。私は、テキスト生成、翻訳、質問応答、対話型対話など、さまざまな自然言語処理タスクを実行するようにトレーニングされています。
私はGoogleによってトレーニングされており、2023年4月までの情報を認識しています。ただし、インターネット接続があれば、リアルタイムの情報にアクセスできます。

というように
メッセージが変わるのがわかる
つまり

import os
os.environ['GOOGLE_API_KEY'] = '<GOOGLE_API_KEY>'


Google AI Studioでキーを取得した場合でも動かせる

まずは実験

vim browse_test.py

でファイルを作成

# /// script
# requires-python = ">=3.11,<3.12"
# dependencies = [
#     "browser-use",
#     "langchain-google-genai @ git+ssh://git@github.com/langchain-ai/langchain-google.git#subdirectory=libs/genai",
# ]
# ///
import os

os.environ['GOOGLE_API_KEY'] = ''
from langchain_google_genai import ChatGoogleGenerativeAI
from browser_use import Agent
import asyncio


async def main():
    agent = Agent(
        task="Find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. Return me the cheapest option.",
        llm=ChatGoogleGenerativeAI(model="gemini-2.0-flash-exp"),
    )
    result = await agent.run()
    print(result)


asyncio.run(main())

で実行したけど

INFO     [browser_use] BrowserUse logging setup complete with level info
INFO     [root] Anonymized telemetry enabled. See https://github.com/browser-use/browser-use for more information.
INFO     [agent] 🚀 Starting task: Find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. Return me the cheapest option.
INFO     [agent] 
📍 Step 1
INFO     [agent] 👍 Eval: Success - No previous actions to evaluate.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Open Google Flights in a new tab.
INFO     [agent] 🛠️  Action 1/1: {"open_tab":{"url":"https://www.google.com/flights"}}
INFO     [controller] 🔗  Opened new tab with https://www.google.com/flights
INFO     [agent] 
📍 Step 2
INFO     [agent] 👍 Eval: Success - Opened Google Flights in a new tab.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Set the trip to one-way, input Bali as departure and Oman as destination.
INFO     [agent] 🛠️  Action 1/5: {"click_element":{"index":10}}
INFO     [agent] 🛠️  Action 2/5: {"click_element":{"index":13}}
INFO     [agent] 🛠️  Action 3/5: {"input_text":{"index":13,"text":"Bali"}}
INFO     [agent] 🛠️  Action 4/5: {"click_element":{"index":14}}
INFO     [agent] 🛠️  Action 5/5: {"input_text":{"index":14,"text":"Oman"}}
INFO     [controller] 🖱️  Clicked button with index 10: 
INFO     [controller] Something new appeared after action 1 / 5
INFO     [agent] 
📍 Step 3
INFO     [agent] 👍 Eval: Success - Clicked on the trip type dropdown.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Select one-way, input Bali as departure and Oman as destination.
INFO     [agent] 🛠️  Action 1/3: {"click_element":{"index":13}}
INFO     [agent] 🛠️  Action 2/3: {"input_text":{"index":17,"text":"Bali"}}
INFO     [agent] 🛠️  Action 3/3: {"input_text":{"index":18,"text":"Oman"}}
INFO     [controller] 🖱️  Clicked button with index 13: 
ERROR    [agent] ❌ Result failed 1/3 times:
 Error executing action input_text: Failed to input text into element: <span jsaction="click:trigger.JIbuQc" aria-haspopup="true" aria-label="おすすめのフライトに関する詳細情報。" role="button" tabindex="0" class="WTCYAb"> [interactive, top, highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element
Call log:
    - fill("")
  -   - attempting fill action
  -     - waiting for element to be visible, enabled and editable

INFO     [agent] 
📍 Step 4
INFO     [agent] ⚠ Eval: Failed - The input fields are not text areas, and the click on the dropdown was not successful.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Click on the one-way button, then input Bali as departure and Oman as destination.
INFO     [agent] 🛠️  Action 1/4: {"click_element":{"index":10}}
INFO     [agent] 🛠️  Action 2/4: {"click_element":{"index":13}}
INFO     [agent] 🛠️  Action 3/4: {"input_text":{"index":13,"text":"Bali"}}
INFO     [agent] 🛠️  Action 4/4: {"input_text":{"index":14,"text":"Oman"}}
INFO     [controller] 🖱️  Clicked button with index 10: 
INFO     [controller] Something new appeared after action 1 / 4
INFO     [agent] 
📍 Step 5
INFO     [agent] 👍 Eval: Success - Clicked on the trip type dropdown and selected one-way.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Input Bali as departure and Oman as destination.
INFO     [agent] 🛠️  Action 1/3: {"click_element":{"index":13}}
INFO     [agent] 🛠️  Action 2/3: {"input_text":{"index":17,"text":"Bali"}}
INFO     [agent] 🛠️  Action 3/3: {"input_text":{"index":18,"text":"Oman"}}
INFO     [controller] 🖱️  Clicked button with index 13: 
ERROR    [agent] ❌ Result failed 1/3 times:
 Error executing action input_text: Failed to input text into element: <span jsaction="click:trigger.JIbuQc" aria-haspopup="true" aria-label="おすすめのフライトに関する詳細情報。" role="button" tabindex="0" class="WTCYAb"> [interactive, top, highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element
Call log:
    - fill("")
  -   - attempting fill action
  -     - waiting for element to be visible, enabled and editable

INFO     [agent] 
📍 Step 6
INFO     [agent] ⚠ Eval: Failed - The input fields are not text areas, and the click on the dropdown was not successful.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Click on the one-way button, then input Bali as departure and Oman as destination.
INFO     [agent] 🛠️  Action 1/4: {"click_element":{"index":10}}
INFO     [agent] 🛠️  Action 2/4: {"click_element":{"index":13}}
INFO     [agent] 🛠️  Action 3/4: {"input_text":{"index":13,"text":"Bali"}}
INFO     [agent] 🛠️  Action 4/4: {"input_text":{"index":14,"text":"Oman"}}
INFO     [controller] 🖱️  Clicked button with index 10: 
INFO     [controller] Something new appeared after action 1 / 4
INFO     [agent] 
📍 Step 7
INFO     [agent] 👍 Eval: Success - Clicked on the trip type dropdown and selected one-way.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Input Bali as departure and Oman as destination and open the datepicker.
INFO     [agent] 🛠️  Action 1/4: {"click_element":{"index":13}}
INFO     [agent] 🛠️  Action 2/4: {"input_text":{"index":17,"text":"Bali"}}
INFO     [agent] 🛠️  Action 3/4: {"input_text":{"index":18,"text":"Oman"}}
INFO     [agent] 🛠️  Action 4/4: {"click_element":{"index":19}}
INFO     [controller] 🖱️  Clicked button with index 13: 
ERROR    [agent] ❌ Result failed 1/3 times:
 Error executing action input_text: Failed to input text into element: <span jsaction="click:trigger.JIbuQc" aria-haspopup="true" aria-label="おすすめのフライトに関する詳細情報。" role="button" tabindex="0" class="WTCYAb"> [interactive, top, highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element
Call log:
    - fill("")
  -   - attempting fill action
  -     - waiting for element to be visible, enabled and editable

INFO     [agent] 
📍 Step 8
INFO     [agent] ⚠ Eval: Failed - The input fields are not text areas, and the click on the dropdown was not successful.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Click on the one-way button, then input Bali as departure and Oman as destination, and finally open the datepicker.
INFO     [agent] 🛠️  Action 1/6: {"click_element":{"index":10}}
INFO     [agent] 🛠️  Action 2/6: {"click_element":{"index":13}}
INFO     [agent] 🛠️  Action 3/6: {"input_text":{"index":13,"text":"Bali"}}
INFO     [agent] 🛠️  Action 4/6: {"click_element":{"index":14}}
INFO     [agent] 🛠️  Action 5/6: {"input_text":{"index":14,"text":"Oman"}}
INFO     [agent] 🛠️  Action 6/6: {"click_element":{"index":15}}
INFO     [controller] 🖱️  Clicked button with index 10: 
INFO     [controller] Something new appeared after action 1 / 6
INFO     [agent] 
📍 Step 9
INFO     [agent] 👍 Eval: Success - Clicked on the trip type dropdown and selected one-way.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Input Bali as departure and Oman as destination and open the datepicker.
INFO     [agent] 🛠️  Action 1/5: {"click_element":{"index":10}}
INFO     [agent] 🛠️  Action 2/5: {"click_element":{"index":13}}
INFO     [agent] 🛠️  Action 3/5: {"input_text":{"index":17,"text":"Bali"}}
INFO     [agent] 🛠️  Action 4/5: {"input_text":{"index":18,"text":"Oman"}}
INFO     [agent] 🛠️  Action 5/5: {"click_element":{"index":19}}
INFO     [controller] 🖱️  Clicked button with index 10: 
INFO     [controller] 🖱️  Clicked button with index 13: 
INFO     [controller] Something new appeared after action 2 / 5
INFO     [agent] 
📍 Step 10
INFO     [agent] 👍 Eval: Success - Clicked on the one-way button.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Input Bali as departure and Oman as destination.
INFO     [agent] 🛠️  Action 1/3: {"input_text":{"index":13,"text":"Bali"}}
INFO     [agent] 🛠️  Action 2/3: {"click_element":{"index":14}}
INFO     [agent] 🛠️  Action 3/3: {"input_text":{"index":14,"text":"Oman"}}
INFO     [controller] ⌨️  Input "Bali" into index 13
INFO     [controller] 🖱️  Clicked button with index 14: 
INFO     [controller] Something new appeared after action 2 / 3
INFO     [agent] 
📍 Step 11
INFO     [agent] 👍 Eval: Success - Input Bali as departure.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Select Bali from the dropdown, and input Oman as destination.
INFO     [agent] 🛠️  Action 1/2: {"click_element":{"index":19}}
INFO     [agent] 🛠️  Action 2/2: {"input_text":{"index":16,"text":"Oman"}}
INFO     [controller] 🖱️  Clicked button with index 19: 
ERROR    [agent] ❌ Result failed 1/3 times:
 Error executing action input_text: Failed to input text into element: <div role="option" tabindex="-1" class="q4z0jc QGRmIf" aria-describedby="h0T7hb-14-cd"> [interactive, top, highlight:16]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element
Call log:
    - fill("")
  -   - attempting fill action
  -     - waiting for element to be visible, enabled and editable

INFO     [agent] 
📍 Step 12
INFO     [agent] 👍 Eval: Success - Input Bali as departure.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Select Bali from the dropdown, and input Oman as destination.
INFO     [agent] 🛠️  Action 1/2: {"click_element":{"index":21}}
INFO     [agent] 🛠️  Action 2/2: {"input_text":{"index":18,"text":"Oman"}}
INFO     [controller] 🖱️  Clicked button with index 21: 
ERROR    [agent] ❌ Result failed 2/3 times:
 Error executing action input_text: Failed to input text into element: <ul role="listbox" class="DFGgtd" aria-multiselectable="true" jsaction="click:cXxufe"> [interactive, top, highlight:18]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element
Call log:
    - fill("")
  -   - attempting fill action
  -     - waiting for element to be visible, enabled and editable

INFO     [agent] 
📍 Step 13
INFO     [agent] ⚠ Eval: Failed - The input fields are not text areas, and the click on the dropdown was not successful.
INFO     [agent] 🧠 Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights.
INFO     [agent] 🎯 Next goal: Click on the one-way button, then input Bali as departure and Oman as destination, and finally open the datepicker.
INFO     [agent] 🛠️  Action 1/4: {"click_element":{"index":13}}
INFO     [agent] 🛠️  Action 2/4: {"input_text":{"index":16,"text":"Bali"}}
INFO     [agent] 🛠️  Action 3/4: {"click_element":{"index":19}}
INFO     [agent] 🛠️  Action 4/4: {"input_text":{"index":16,"text":"Oman"}}
INFO     [controller] 🖱️  Clicked button with index 13: 
INFO     [controller] ⌨️  Input "Bali" into index 16
INFO     [controller] 🖱️  Clicked button with index 19: 
ERROR    [agent] ❌ Result failed 3/3 times:
 Error executing action input_text: Failed to input text into element: <ul role="listbox" class="DFGgtd" aria-multiselectable="true" jsaction="click:cXxufe"> [interactive, top, highlight:16]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element
Call log:
    - fill("")
  -   - attempting fill action
  -     - waiting for element to be visible, enabled and editable

ERROR    [agent] ❌ Stopping due to 3 consecutive failures
INFO     [agent] Created GIF at agent_history.gif
AgentHistoryList(all_results=[ActionResult(is_done=False, extracted_content='🔗  Opened new tab with https://www.google.com/flights', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 10: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error='Error executing action input_text: Failed to input text into element: <span jsaction="click:trigger.JIbuQc" aria-haspopup="true" aria-label="おすすめのフライトに関する詳細情報。" role="button" tabindex="0" class="WTCYAb"> [interactive, top, highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n    - fill("")\n  -   - attempting fill action\n  -     - waiting for element to be visible, enabled and editable\n', include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 10: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error='Error executing action input_text: Failed to input text into element: <span jsaction="click:trigger.JIbuQc" aria-haspopup="true" aria-label="おすすめのフライトに関する詳細情報。" role="button" tabindex="0" class="WTCYAb"> [interactive, top, highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n    - fill("")\n  -   - attempting fill action\n  -     - waiting for element to be visible, enabled and editable\n', include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 10: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error='Error executing action input_text: Failed to input text into element: <span jsaction="click:trigger.JIbuQc" aria-haspopup="true" aria-label="おすすめのフライトに関する詳細情報。" role="button" tabindex="0" class="WTCYAb"> [interactive, top, highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n    - fill("")\n  -   - attempting fill action\n  -     - waiting for element to be visible, enabled and editable\n', include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 10: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 10: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 13: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='⌨️  Input "Bali" into index 13', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 14: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error='Error executing action input_text: Failed to input text into element: <div role="option" tabindex="-1" class="q4z0jc QGRmIf" aria-describedby="h0T7hb-14-cd"> [interactive, top, highlight:16]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n    - fill("")\n  -   - attempting fill action\n  -     - waiting for element to be visible, enabled and editable\n', include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error='Error executing action input_text: Failed to input text into element: <ul role="listbox" class="DFGgtd" aria-multiselectable="true" jsaction="click:cXxufe"> [interactive, top, highlight:18]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n    - fill("")\n  -   - attempting fill action\n  -     - waiting for element to be visible, enabled and editable\n', include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error='Error executing action input_text: Failed to input text into element: <ul role="listbox" class="DFGgtd" aria-multiselectable="true" jsaction="click:cXxufe"> [interactive, top, highlight:16]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n    - fill("")\n  -   - attempting fill action\n  -     - waiting for element to be visible, enabled and editable\n', include_in_memory=True)], all_model_outputs=[{'open_tab': {'url': 'https://www.google.com/flights'}}, {'click_element': {'index': 10}}, {'click_element': {'index': 13}}, {'input_text': {'index': 13, 'text': 'Bali'}}, {'click_element': {'index': 14}}, {'input_text': {'index': 14, 'text': 'Oman'}}, {'click_element': {'index': 13}}, {'input_text': {'index': 17, 'text': 'Bali'}}, {'input_text': {'index': 18, 'text': 'Oman'}}, {'click_element': {'index': 10}}, {'click_element': {'index': 13}}, {'input_text': {'index': 13, 'text': 'Bali'}}, {'input_text': {'index': 14, 'text': 'Oman'}}, {'click_element': {'index': 13}}, {'input_text': {'index': 17, 'text': 'Bali'}}, {'input_text': {'index': 18, 'text': 'Oman'}}, {'click_element': {'index': 10}}, {'click_element': {'index': 13}}, {'input_text': {'index': 13, 'text': 'Bali'}}, {'input_text': {'index': 14, 'text': 'Oman'}}, {'click_element': {'index': 13}}, {'input_text': {'index': 17, 'text': 'Bali'}}, {'input_text': {'index': 18, 'text': 'Oman'}}, {'click_element': {'index': 19}}, {'click_element': {'index': 10}}, {'click_element': {'index': 13}}, {'input_text': {'index': 13, 'text': 'Bali'}}, {'click_element': {'index': 14}}, {'input_text': {'index': 14, 'text': 'Oman'}}, {'click_element': {'index': 15}}, {'click_element': {'index': 10}}, {'click_element': {'index': 13}}, {'input_text': {'index': 17, 'text': 'Bali'}}, {'input_text': {'index': 18, 'text': 'Oman'}}, {'click_element': {'index': 19}}, {'input_text': {'index': 13, 'text': 'Bali'}}, {'click_element': {'index': 14}}, {'input_text': {'index': 14, 'text': 'Oman'}}, {'click_element': {'index': 19}}, {'input_text': {'index': 16, 'text': 'Oman'}}, {'click_element': {'index': 21}}, {'input_text': {'index': 18, 'text': 'Oman'}}, {'click_element': {'index': 13}}, {'input_text': {'index': 16, 'text': 'Bali'}}, {'click_element': {'index': 19}}, {'input_text': {'index': 16, 'text': 'Oman'}}])

となった

原因は
プロンプトが

Find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. 
Return me the cheapest option.
Google フライトで、2025 年 1 月 12 日のバリ発オマーン行きの片道航空券を検索してください。
最も安いオプションを返してください。

のため

これだと過去の日付でフライト情報を探すのでエラーになる

このためプロンプトを修正

# /// script
# requires-python = ">=3.11,<3.12"
# dependencies = [
#     "browser-use",
#     "langchain-google-genai @ git+ssh://git@github.com/langchain-ai/langchain-google.git#subdirectory=libs/genai",
# ]
# ///
import os

os.environ['GOOGLE_API_KEY'] = ''
from langchain_google_genai import ChatGoogleGenerativeAI
from browser_use import Agent
import asyncio


async def main():
    agent = Agent(
        task="Find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights. Return me the cheapest option.",
        llm=ChatGoogleGenerativeAI(model="gemini-2.0-flash-exp"),
    )
    result = await agent.run()
    print(result)


asyncio.run(main())

とすると

INFO     [browser_use] BrowserUse logging setup complete with level info
INFO     [root] Anonymized telemetry enabled. See https://github.com/browser-use/browser-use for more information.
INFO     [agent] 🚀 Starting task: Find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights. Return me the cheapest option.
INFO     [agent] 
📍 Step 1
INFO     [agent] 👍 Eval: Success - The agent has received the task and is ready to begin.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Open Google Flights in a new tab.
INFO     [agent] 🛠️  Action 1/1: {"open_tab":{"url":"https://www.google.com/flights"}}
INFO     [controller] 🔗  Opened new tab with https://www.google.com/flights
INFO     [agent] 
📍 Step 2
INFO     [agent] 👍 Eval: Success - Opened Google Flights in a new tab.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Change the flight type from 'round trip' to 'one way'.
INFO     [agent] 🛠️  Action 1/3: {"click_element":{"index":10}}
INFO     [agent] 🛠️  Action 2/3: {"click_element":{"index":10}}
INFO     [agent] 🛠️  Action 3/3: {"click_element":{"index":10}}
INFO     [controller] 🖱️  Clicked button with index 10: 
INFO     [controller] Something new appeared after action 1 / 3
INFO     [agent] 
📍 Step 3
INFO     [agent] ⚠ Eval: Failed - The agent clicked the wrong element, the dropdown is still open. It should have clicked the '片道' option.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Change the flight type from 'round trip' to 'one way'.
INFO     [agent] 🛠️  Action 1/1: {"click_element":{"index":13}}
INFO     [controller] 🖱️  Clicked button with index 13: 
INFO     [agent] 
📍 Step 4
INFO     [agent] 👍 Eval: Success - Changed the flight type to 'one way'.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Input Bali as the departure and Oman as the destination.
INFO     [agent] 🛠️  Action 1/2: {"input_text":{"index":13,"text":"Bali"}}
INFO     [agent] 🛠️  Action 2/2: {"input_text":{"index":14,"text":"Oman"}}
INFO     [controller] ⌨️  Input "Bali" into index 13
INFO     [controller] Something new appeared after action 1 / 2
INFO     [agent] 
📍 Step 5
INFO     [agent] 👍 Eval: Success - Input 'Bali' into the departure field and suggestions appeared.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Select 'Indonesia Bali' and input 'Oman' as the destination.
INFO     [agent] 🛠️  Action 1/2: {"click_element":{"index":16}}
INFO     [agent] 🛠️  Action 2/2: {"input_text":{"index":14,"text":"Oman"}}
INFO     [controller] 🖱️  Clicked button with index 16: 
INFO     [controller] Something new appeared after action 1 / 2
INFO     [agent] 
📍 Step 6
INFO     [agent] 👍 Eval: Success - Selected 'Indonesia Bali'.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Input 'Oman' as the destination.
INFO     [agent] 🛠️  Action 1/1: {"input_text":{"index":14,"text":"Oman"}}
INFO     [controller] ⌨️  Input "Oman" into index 14
INFO     [agent] 
📍 Step 7
INFO     [agent] 👍 Eval: Success - Input 'Oman' into the destination field and suggestions appeared.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Select 'Oman' as the destination, and select the date.
INFO     [agent] 🛠️  Action 1/1: {"click_element":{"index":17}}
INFO     [controller] 🖱️  Clicked button with index 17: 
INFO     [agent] 
📍 Step 8
INFO     [agent] 👍 Eval: Success - Selected Oman as the destination.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Open the date picker to select the date.
INFO     [agent] 🛠️  Action 1/1: {"click_element":{"index":15}}
INFO     [controller] 🖱️  Clicked button with index 15: 
INFO     [agent] 
📍 Step 9
INFO     [agent] 👍 Eval: Success - Opened the date picker.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Select 21 January 2025 and click done.
INFO     [agent] 🛠️  Action 1/2: {"click_element":{"index":58}}
INFO     [agent] 🛠️  Action 2/2: {"click_element":{"index":136}}
INFO     [controller] 🖱️  Clicked button with index 58: 21
INFO     [controller] Something new appeared after action 1 / 2
INFO     [agent] 
📍 Step 10
INFO     [agent] 👍 Eval: Success - Selected 21 January 2025.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.  Departure and destination are set and date is selected.
INFO     [agent] 🎯 Next goal: Click done to search for flights.
INFO     [agent] 🛠️  Action 1/1: {"click_element":{"index":139}}
INFO     [controller] 🖱️  Clicked button with index 139: 完了
INFO     [agent] 
📍 Step 11
INFO     [agent] 👍 Eval: Success - The departure, destination and date are set. Ready to search.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option.
INFO     [agent] 🎯 Next goal: Search for flights.
INFO     [agent] 🛠️  Action 1/1: {"click_element":{"index":18}}
INFO     [controller] 🖱️  Clicked button with index 18: 探索
INFO     [agent] 
📍 Step 12
INFO     [agent] 👍 Eval: Success - The cheapest one-way flight from Bali to Oman on 21 January 2025 was found.
INFO     [agent] 🧠 Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. The cheapest option is to Muscat for 64,637 JPY.
INFO     [agent] 🎯 Next goal: Complete the task.
INFO     [agent] 🛠️  Action 1/1: {"done":{"text":"The cheapest one-way flight from Bali to Oman on 21 January 2025 is to Muscat for 64,637 JPY."}}
INFO     [agent] 📄 Result: The cheapest one-way flight from Bali to Oman on 21 January 2025 is to Muscat for 64,637 JPY.
INFO     [agent] ✅ Task completed successfully
INFO     [agent] Created GIF at agent_history.gif
AgentHistoryList(all_results=[ActionResult(is_done=False, extracted_content='🔗  Opened new tab with https://www.google.com/flights', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 10: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 13: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='⌨️  Input "Bali" into index 13', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 16: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='⌨️  Input "Oman" into index 14', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 17: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 15: ', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 58: 21', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 139: 完了', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='🖱️  Clicked button with index 18: 探索', error=None, include_in_memory=True), ActionResult(is_done=True, extracted_content='The cheapest one-way flight from Bali to Oman on 21 January 2025 is to Muscat for 64,637 JPY.', error=None, include_in_memory=False)], all_model_outputs=[{'open_tab': {'url': 'https://www.google.com/flights'}}, {'click_element': {'index': 10}}, {'click_element': {'index': 10}}, {'click_element': {'index': 10}}, {'click_element': {'index': 13}}, {'input_text': {'index': 13, 'text': 'Bali'}}, {'input_text': {'index': 14, 'text': 'Oman'}}, {'click_element': {'index': 16}}, {'input_text': {'index': 14, 'text': 'Oman'}}, {'input_text': {'index': 14, 'text': 'Oman'}}, {'click_element': {'index': 17}}, {'click_element': {'index': 15}}, {'click_element': {'index': 58}}, {'click_element': {'index': 136}}, {'click_element': {'index': 139}}, {'click_element': {'index': 18}}, {'done': {'text': 'The cheapest one-way flight from Bali to Oman on 21 January 2025 is to Muscat for 64,637 JPY.'}}])

となって成功する

せっかくなので

from langchain_google_genai import ChatGoogleGenerativeAI
from browser_use import Agent
import asyncio


async def main():
    agent = Agent(
        task="Find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights. Return me the cheapest option.",
        llm=ChatGoogleGenerativeAI(model="gemini-2.0-flash-exp"),
    )
    result = await agent.run()
    print(result)


asyncio.run(main())

の部分を変えてみる

import os

os.environ['GOOGLE_API_KEY'] = ''
from langchain_google_genai import ChatGoogleGenerativeAI
from browser_use import Agent
import asyncio


async def main():
    agent = Agent(
        task="東京都のおすすめの焼肉屋を調べてください。",
        # task="Find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights. Return me the cheapest option.",
        llm=ChatGoogleGenerativeAI(model="gemini-2.0-flash-exp"),
    )
    result = await agent.run()
    print(result)


asyncio.run(main())

として実行

実行結果は

INFO     [browser_use] BrowserUse logging setup complete with level info
INFO     [root] Anonymized telemetry enabled. See https://github.com/browser-use/browser-use for more information.
INFO     [agent] 🚀 Starting task: 東京都のおすすめの焼肉屋を調べてください。
INFO     [agent] 
📍 Step 1
INFO     [agent] 🤷 Eval: Unknown - No previous actions to evaluate.
INFO     [agent] 🧠 Memory: 
INFO     [agent] 🎯 Next goal: Search Google for 東京都のおすすめの焼肉屋
INFO     [agent] 🛠️  Action 1/1: {"search_google":{"query":"東京都のおすすめの焼肉屋"}}
INFO     [controller] 🔍  Searched for "東京都のおすすめの焼肉屋" in Google
INFO     [agent] 
📍 Step 2
INFO     [agent] 👍 Eval: Success - Google search was successful.
INFO     [agent] 🧠 Memory: Searched Google for 東京都のおすすめの焼肉屋
INFO     [agent] 🎯 Next goal: Extract content to find the best yakiniku restaurants in Tokyo.
INFO     [agent] 🛠️  Action 1/1: {"extract_content":{"include_links":true}}
INFO     [controller] 📄  Extracted page as markdown
: # フィルタとトピック

[すべて](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQIExAB)

[地図](https://maps.google.com/maps?sca_esv=96376e12f89d18b9&output=search&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&entry=mc&ved=1t:200715&ictx=111)

[画像](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=2&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQtKgLegQIEhAB)

[フライト](/travel/flights?sca_esv=96376e12f89d18b9&output=search&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&ved=1t:200715&ictx=111)

ウェブ

[金融](/finance?sca_esv=96376e12f89d18b9&output=search&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQIDRAB)

[ショッピング](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=28&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&ved=1t:220175&ictx=111)

もっと見る

[書籍](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=36&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQINxAB)

[ニュース](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&tbm=nws&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQIOBAB)

[動画](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=7&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQtKgLegQINhAB)

ツール

すべての言語

すべての言語

[日本語のページを検索](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=lr:lang_1ja&lr=lang_ja&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEAc)

期間指定なし

期間指定なし

[ 1
時間以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:h&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEAw)

[ 24
時間以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:d&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEA0)

[ 1
週間以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:w&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEA4)

[ 1
か月以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:m&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEA8)

[ 1
年以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:y&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEBA)

期間を指定

期間を指定

開始日:終了日:

選択

すべての結果

すべての結果

[完全一致](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=li:1&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEBg)

詳細検索

約 28,300,000 件 (0.34 秒)

Ctrl+Shift+X キーで選択

![Google](https://fonts.gstatic.com/s/i/productlogos/googleg/v6/24px.svg)

# 検索の設定

[検索のカスタマイズオフ](/history/optout?hl=ja)

[セーフサーチぼかし:
オン](/safesearch?prev=https://www.google.com/search?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26udm%3D14&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8JsIegQICRAH)

[言語
(Language)日本語](/preferences?lang=1&hl=ja&prev=https://www.google.com/search?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26sca_esv%3D96376e12f89d18b9%26udm%3D14#languages)

[ダークモードデバイスのデフォルト](/setprefs?hl=ja&prev=https://www.google.com/search?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26udm%3D14%26pccc%3D1&sig=0_8K7zV1dbxa-
EUltH4l6nhPwm_es%3D&cs=2&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQqsEHegQICRAJ&ictx=1)

[その他の設定](/preferences?hl=ja&prev=https://www.google.com/search?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26sca_esv%3D96376e12f89d18b9%26udm%3D14)

フィードバックを送信

[ヘルプ](https://support.google.com/websearch/?p=dsrp_search_hc&hl=ja) •
[プライバシー](https://policies.google.com/privacy?hl=ja&fg=1) •
[利用規約](https://policies.google.com/terms?hl=ja&fg=1)

# 検索結果

[  
東京で人気の焼肉
ランキングTOP20![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAMFBMVEX/qgD/qgD/qgD/qAD/yGH/wVP/sBr/tiz/463//fj/uj3/25v/8db/1Yj/6b3/znhud70+AAAAAnRSTlNP7zHHYRsAAADUSURBVHgBY2BUQgICDELIXEUGJRRAJFfZCImrbGwSjOAqq6V3thnBuVrRZ2ZkwWWVV++ds3vPYhjXavfN5z5z4FzTc/H/5vxIhnKVNeZsyn+dGwzlmp3smelcsugxhGvk2f5y1m9j411GxkCu8er5f+Z2+Dsr64WEKzEop7z7dza27/cuI6N9+5MYlPw6Xher3LftLVZeW5LMoBTxOthIOdnsRrCxSwhQVjUI7JfUG1ea7xsxAK0FO9sofd3TqyCuEsyPtcEooWFspERS0KEFO1qkAABve2HuBbgdYAAAAABJRU5ErkJggg==)食べログhttps://s.tabelog.com
› 東京 › 東京 焼肉](https://s.tabelog.com/yakiniku/tokyo/rank)

食べログ

https://s.tabelog.com › 東京 › 東京 焼肉

 _東京 焼肉_ 予約人気ランキングTOP20 · 1生粋 · 2海鮮ブッフェダイニング 銀座八芳 新宿店 · 3海鮮ブッフェダイニング 銀座八芳 · 4
_焼肉_ みゆき苑 · 5熟成和牛 _焼肉_ エイジング・ ...

[  
2025年最新 | 東京で人気の焼肉店ランキング20選!![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAdVBMVEXpNXDpMm7pMW/oK2rpMm3pPXPrUIDwg6T3t8z5ydj2sMfub5X2qcH4vND60N773ejrTX/zlbD72OT//////P3+9vnnH2XymrXqRHn85u3ykq7uaZLmEVz/+vz5xtf96vDtXovwdpzyiKvnF2DmAFTqRHbvc5gViI/PAAAA9klEQVR4AdWPhRXDMAxErcgO84WZ9x+xznNxhP7EdGLxt9DnZhH9WFjqRYJISimEUt8m23E9P2C2w8iNvDhx01csW1mOAiizqobBbaSxScsH2i7W1t4zNi9lY6Mq1LIz+AXGcIrqbka7sDBUwQx4zBNQhKka1rIIqlcztzquQ5Nr47bv/Yxtf3XKSwLMYndmoEz3vkV9ML+MWQl4FfsAot3OMamz38wkxPUIuEd/xys1AckUz63NJrJvteDEQHtVrpmkqJlMQ1Tf86PwgsHR+jgWiBsWBimcqU0ip2G2t/W6rtV5jamxWCglme4GDFJ8YRFZ4s95ABisEtheqPsPAAAAAElFTkSuQmCC)オズモールhttps://www.ozmall.co.jp › ... › 肉料理 › 焼肉](https://www.ozmall.co.jp/restaurant/tokyo/yakiniku/rankreview/)

オズモール

https://www.ozmall.co.jp › ... › 肉料理 › 焼肉

1位 赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂 · 2位 炭火 _焼肉_ ARATA 麻布十番 (アラタ) · 3位 _焼肉_
割烹ふみや/ホテルヒラリーズ赤坂 · 4位 肉亭ふたご iki 本郷三丁目店 · 5位 ...

[  
東京都の焼肉が楽しめるおすすめレストラン![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAJFBMVEX////////QxKj08evGuJTs6N3Z0LqnkVGsl12vm2Xi28q5qHoZbkxwAAAAAXRSTlP484CiSAAAAJRJREFUeAFjQAOMgkhAgLpcJSBQFnQWTYRwKzo6OkqFC8UcIdzKmTNntoo5ijlmIWSlF1s4m4K5U1JDF201XxjuBVFsmqS0UHX1Qk8nuFHTgYq3OU9EGCW9RMzRA84tlVYEmg3mzt69e/dWkYVijrjcHAjmiIK5XmqqylqL1BatSgFzHZVXuWklKTotVUHTS10uKgAA8rg6ieL/ga0AAAAASUVORK5CYII=)一休レストランhttps://restaurant.ikyu.com
› ... › 東京都 焼肉](https://restaurant.ikyu.com/area/tokyo/80001/)

一休レストラン

https://restaurant.ikyu.com › ... › 東京都 焼肉

 _東京都_ にある. _焼肉_ が楽しめる _おすすめ_ レストラン · 近江うし _焼肉_ にくTATSU銀座店 · USHIGORO S.
SHINJUKU · _焼肉_ 銀座コバウ 並木通り店 · _焼肉_ いのうえ 銀座店 · 銀座 ...

‎[焼肉 ディナー](https://restaurant.ikyu.com/area/tokyo/80001/05/) ·
‎[デート](https://restaurant.ikyu.com/area/tokyo/80001/t-scene368/) · ‎[焼肉
ランチ](https://restaurant.ikyu.com/area/tokyo/80001/03/) · ‎[池袋・目白
焼肉](https://restaurant.ikyu.com/area/tokyo/001/80001/)

[  
【東京】おすすめの焼肉店20選!本当に美味しい焼肉まとめ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAMFBMVEX/qgD/qgD/qgD/qAD/yGH/wVP/sBr/tiz/463//fj/uj3/25v/8db/1Yj/6b3/znhud70+AAAAAnRSTlNP7zHHYRsAAADUSURBVHgBY2BUQgICDELIXEUGJRRAJFfZCImrbGwSjOAqq6V3thnBuVrRZ2ZkwWWVV++ds3vPYhjXavfN5z5z4FzTc/H/5vxIhnKVNeZsyn+dGwzlmp3smelcsugxhGvk2f5y1m9j411GxkCu8er5f+Z2+Dsr64WEKzEop7z7dza27/cuI6N9+5MYlPw6Xher3LftLVZeW5LMoBTxOthIOdnsRrCxSwhQVjUI7JfUG1ea7xsxAK0FO9sofd3TqyCuEsyPtcEooWFspERS0KEFO1qkAABve2HuBbgdYAAAAABJRU5ErkJggg==)食べログhttps://tabelog.com
› ... › 東京都 › 東京都の焼肉](https://tabelog.com/matome/17238/)

食べログ

https://tabelog.com › ... › 東京都 › 東京都の焼肉

2020/12/18 — 「和牛 _焼肉_ ブラックホール 新宿三丁目店」はJR新宿駅から徒歩4分、高山ランド会館の8階にある _焼肉_ 専門店。
店内は綺麗で清潔感があり、デートに _おすすめ_ と ...

‎[東京都渋谷区にあるおすすめの...](https://tabelog.com/matome/17238/#5-headline) ·
‎[東京都新宿区にあるおすすめの...](https://tabelog.com/matome/17238/#12-headline)

[  
東京都の焼肉おすすめグルメランキング
トップ50![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAHlBMVEX////w8PDx8fGqd0+jajrg0cfQuKjq496xhWPAnYUEGMXYAAAAAnRSTlP//Sa7vusAAADDSURBVDiNhZJRAoQgCAUBAen+Fy7XNDBy30c/0AyoAN/Blk2dkGjbAFcDbQkXYq+gPwT8IlB9RlgIaiagzCzwW2IlKJfC7VN4jBAJZaYhMG5RzdQ1UAP4c6hcXFi7wREOXy96L+kIscH6RXjCosA+ot9CLDhoJSwaG0uEc5BHwzUjAAfHmxBWWc8hcSQE52DKCI+DJZ1hOlgpJ8DBLUe9q9mbFKk0k7xJX8sIhOMScsI9eG/D95ucXGfxDRj0w+J+z3MCaXUFi2zNZ3MAAAAASUVORK5CYII=)ヒトサラhttps://hitosara.com
› 全国 焼肉ランキング](https://hitosara.com/ranking/tokyo/GC0501/)

ヒトサラ

https://hitosara.com › 全国 焼肉ランキング

 _東京都_ の _焼肉_ のアクセスランキング · プレミアム掲載店. 1. 竹内 亮. 牛牛 西麻布 総本店 · プレミアム掲載店. 2. _焼肉_
牛宮城別邸 · プレミアム掲載店. 3. 白 日寅.

[  
【保存版】東京都内でおすすめのおいしい焼肉24選!コスパ
...![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAZlBMVEX61UH71kH/3ELvzD//2UJFPiZ9bS1uYCv/4kRpXCqfiTIAAB/dvTy7oDcKEiEuKyNzZCz/3UPBpjjRszqIdS8AAB2ljjMADSG+ozc8NyX/6UWymTVlWCpXTSj/5UTbuzzqyD/20kA7Z0zjAAAAiklEQVR4Ae2PAxbEQAxAJ9hqUNv3P2SNh9UB+odxIv7hAeCzDYlQMAsGwJXlt14b/LJs23E9Rypt/FcgdRhJGe1WiL0kDYPMyVVRVnlcN6EkkocxjSnFIKsWY9sZtRoZDiO3TZNyJK20169O9nXrZFLWR1EcxgGYaBAjwXbxOPI9CpzXujZBPPzBDPdDBy4MqoUcAAAAAElFTkSuQmCC)aumohttps://aumo.jp
› 関東 › 東京](https://aumo.jp/articles/46763)

aumo

https://aumo.jp › 関東 › 東京

2024/10/18 —
まず紹介するのは『牛若丸』。明るく清潔感のある店内には、少人数テーブル個室、掘りごたつ席などを完備しており、多彩なシーンに対応します。

[  
【予約しないと入れない!】東京都で超人気、予約必須の焼肉30店![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAxlBMVEX/sBj/rhT/rhX/rRP/rBP/qhTOkBHblhKidw+qeA/UkxP/qRWufhA8MQf/shbBhhCXcQ65gRHwpBSRZg11VgoAAADtoBKKYgz/phWkcA23ew7lmhQbFQOCXAv/pRTPjBPGhxIkHgWJWwzakBHDfxEfGgP/oRUmGANRRgqXZA3/nhVjUQp3WwzShxJHMgbJfBD/mhOgZg+wcg64cRBVOQcOCQF/Ugqtbg//lRPmjxQsGQT/lRRwSQrpjRL/lBX/kxX/khL/kxjUxnrGAAABbElEQVR4AXzMhWLCMBCA4asEOxwC1WyVZevNwhSH93+qXeYGfzX5ksDxnIMxup7L8ft7nn2s2Xx+fv5wLnj+/3l8gy98Pt4Tv4KaJ3wQot5oNloChf+RQPTanS4KQNHrN/sDAa3BR0Mfh6ORgwiIPd456I7lVzW/OZk6AUKAg0bYiGL5raSbdqeeCiAIeu2Tdu9Uys6kHsenmdVu7qY+o1JFJMqC8exEhGEweUMvFUqB0jiejAWjzB0pR91z/oPUTVEr0FrHF4V6RVfK0pecWylGDZp0cVmo0qJSgRpbFEWUB/SGV9f6FTEt8cYiBnmlGInoenr7jlLqwmKgGQ0BGbqevWHlJ7JC+6d0nmtGY+j27p7s1MPskVc8WVR5pY1hNLflsyH5rSfinWRxbu6vZ8YsHpYf5TSnvKK5gdXcXD/c8hKjPzLzOa3XNF8xzhnmv9ts5ha3K3vz8yuege2RYLs7GOP+YFt4mSMeAABP61pEcel0wAAAAABJRU5ErkJggg==)Rettyhttps://retty.me
› 東京都 予約必須](https://retty.me/theme/101045202/)

Retty

https://retty.me › 東京都 予約必須

超人気焼肉店「牛蔵」。
都心の焼肉店で1人前3000円くらいする部位が1000円以下で提供されているので、お腹いっぱい食べて、飲んでも大体1人3000円くらいというコスパの良
...

[  
女子会や記念日デートにも!東京都内のおすすめ焼肉店10選![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADc0lEQVR4AcWXA5AdQRRFN+UKvhnbtm3btrm2Y9u2bacQ27bKXN/c3XrLmawn+VXnj/u8drdLej+jMTSePERHypMhZAO5RX6RSOGX3NtAhsi7Ovk2XUdG8vykAVlA3pAoEkNiSRyBECf3YuSdN/JNA0kjW/JyxJ98FgGySJx86y9pZU4sNCUnpHiRQyIlraaSdobyDuSuaq6zT5yk2UEc6eb8LoFG3E1REgp5OXKSQEvEUU6cSQHkIwEkVhOpKdV1rLjypQygPvmkhdziCIK1cGCqe+JqkBiAjizQQm5izgtV9EHxBu6KZ+LUJdb9a00CsISgTNsZqDF6LIwGxfM3pLyLDJ1RmgRgDUHlfpPQOHCwIgBxDokPYCOJSS8hA9ETnTGMEEMYCujDodOHwcDz9Eqg2tDxaLGwnyIAcW6MD+AOiU1PXtwYhF5mD4y3zsKkgjMwpd4ozOzVD2O7DkLtirPgtAeqtvxitT3R0HcoWi7pqwhAnLddZCaLU0RPSpiC0Njsg4mWmdhnH4tjztFYVWQ8VnTsjdOhdXF3dUXMG9cRLWtPSRWEyRwCW5HAhLrvsK27agDi/O2iOt6LvCdzvdo2AfccQ3HBMRJzbFPQnAHVKu0O/6Hd8XFnCXzdUxQLJnRAHZaEnlXCnMNWNAClW8xC8/n90flAZzRSaQNCpGoABjLa4oq9zPUD51BcpHwUr6ub/WE3hsDCum1TdxK2ezXD971F8XprKXgN6olChQLgLOWX0PJbLOqHTru7JjTAUk1d/zpRqVaBgay3T8BD5vy4fTTGUF7JFAAr5UklVNgPXRqPw3bvpni2sSxuLKkKtynd0HjSCDQOHYT2W3qggfdQlG41UwYi9SpQbYQGcpTiK8z5TOsMlDYFwqKSg0KOALSrPxFTevWH35AeGNJ3MKr3nIjKA8mASShezx3WQqpyiPOOajc0kIP2MVhsm4Q6Jr90+7rewG7JLllAx26pY7fUE52g2kUV3VA5EBmIj3Ua+pvd4TAGazUrJg1E5dWG4rIs9qLGIA3EiqFYfTLSE4M2YsVkFE8DxXSsLTIda78gEVQXJPmJYkl2mkBjTqVakv3HRWm6y/J7GizL75EOmd0bNCMnc3FjclLSFHnmt2YBubA1C5C0/tnmNFreXZjtzWkG2/NNMoH9IlHCL7m3Kavb8z9tAqO//YHlTAAAAABJRU5ErkJggg==)nta.co.jphttps://www.nta.co.jp
› ... › グルメ](https://www.nta.co.jp/media/tripa/articles/xznrj)

nta.co.jp

https://www.nta.co.jp › ... › グルメ

2024/10/24 — 女子会や記念日デートにも! _東京_ 都内の _おすすめ焼肉店_ 10選 · 牛屋銀兵衛 銀座本店 · 紀尾井町 くろげ ·
ふらの和牛 よしうし神楽坂通り · _焼肉_ 青山外苑.

[  
人生で1度は行くべき
東京焼肉12選![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAcElEQVR4AWP4//8/RZh6BgCZAkDsAMUNWDFCXgDFACCV8J/B+D8pGKwHRAKRAUyQDEMMQAYEUGBAAsiABpwKHjz4/9/BAZ8BDXgNgIMNGyg04MABkg1AeCEgAK8XKA5EiqORooSELykXEJuUBz43AgAIA1ZhBoG9vwAAAABJRU5ErkJggg==)YouTube
· FUJIWARA LIFE視聴回数: 3.7万 回以上 · 8
か月前](https://www.youtube.com/watch?v=Yg5GZjcvlLg)

YouTube · FUJIWARA LIFE

視聴回数: 3.7万 回以上 · 8 か月前

東京の _オススメ_ な _焼肉屋_ さん12店ランチで紹介致しました!もちろん飲みや ... 4._焼肉_ の名門 天壇 銀座店 _東京都_
中央区銀座5-13-19 ...

[  
【2025年最新!】東京都の焼肉 食べ放題で今年人気の
...![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAxlBMVEX/sBj/rhT/rhX/rRP/rBP/qhTOkBHblhKidw+qeA/UkxP/qRWufhA8MQf/shbBhhCXcQ65gRHwpBSRZg11VgoAAADtoBKKYgz/phWkcA23ew7lmhQbFQOCXAv/pRTPjBPGhxIkHgWJWwzakBHDfxEfGgP/oRUmGANRRgqXZA3/nhVjUQp3WwzShxJHMgbJfBD/mhOgZg+wcg64cRBVOQcOCQF/Ugqtbg//lRPmjxQsGQT/lRRwSQrpjRL/lBX/kxX/khL/kxjUxnrGAAABbElEQVR4AXzMhWLCMBCA4asEOxwC1WyVZevNwhSH93+qXeYGfzX5ksDxnIMxup7L8ft7nn2s2Xx+fv5wLnj+/3l8gy98Pt4Tv4KaJ3wQot5oNloChf+RQPTanS4KQNHrN/sDAa3BR0Mfh6ORgwiIPd456I7lVzW/OZk6AUKAg0bYiGL5raSbdqeeCiAIeu2Tdu9Uys6kHsenmdVu7qY+o1JFJMqC8exEhGEweUMvFUqB0jiejAWjzB0pR91z/oPUTVEr0FrHF4V6RVfK0pecWylGDZp0cVmo0qJSgRpbFEWUB/SGV9f6FTEt8cYiBnmlGInoenr7jlLqwmKgGQ0BGbqevWHlJ7JC+6d0nmtGY+j27p7s1MPskVc8WVR5pY1hNLflsyH5rSfinWRxbu6vZ8YsHpYf5TSnvKK5gdXcXD/c8hKjPzLzOa3XNF8xzhnmv9ts5ha3K3vz8yuege2RYLs7GOP+YFt4mSMeAABP61pEcel0wAAAAABJRU5ErkJggg==)Rettyhttps://retty.me](https://retty.me/theme/100015101/)

Retty

https://retty.me

[![retty.me
からの東京都のおすすめの焼肉屋](data:image/jpeg;base64,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)](https://retty.me/theme/100015101/)

2025/01/04 — 「 _東京都 焼肉_ 食べ放題」の話題のお店 1 店舗目は、シュラスコレストラン ALEGRIA
shinjuku。《新宿駅南口徒歩7分・代々木駅徒歩3分》 ◇新宿最多20種類の ...

‎[卸 新宿食肉センター 極 恵比寿店](https://retty.me/area/PRE13/ARE7/SUB701/100001575173/) ·
‎[07 完全個室完備!上質な黒毛...](https://retty.me/area/PRE13/ARE8/SUB802/100001716766/) ·
‎[かがやき](https://retty.me/area/PRE13/ARE9/SUB906/100000020368/)

# ページの操作

| 1|
[2](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=10&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAE)|
[3](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=20&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAG)|
[4](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=30&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAI)|
[5](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=40&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAK)|
[6](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=50&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAM)|
[7](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=60&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAO)|
[8](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=70&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAQ)|
[9](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=80&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAS)|
[10](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=90&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAU)|
[次へ](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=10&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8NMDegQIChAW)  
---|---|---|---|---|---|---|---|---|---|---|---  
  
# フッターのリンク

日本

磐田市、静岡県 \- ソース: あなたの IP アドレス

\-

現在地を更新

現在地を更新できません詳細

現在地を更新中...

[ヘルプ](https://support.google.com/websearch/?p=ws_results_help&hl=ja&fg=1)フィードバックを送信[プライバシー](https://policies.google.com/privacy?hl=ja&fg=1)[規約](https://policies.google.com/terms?hl=ja&fg=1)



INFO     [agent] 
📍 Step 3
INFO     [agent] 👍 Eval: Success - Extracted content successfully and identified several yakiniku restaurants in Tokyo.
INFO     [agent] 🧠 Memory: Searched Google and extracted content for best yakiniku restaurants in Tokyo
INFO     [agent] 🎯 Next goal: Task completed, provide the results to the user.
INFO     [agent] 🛠️  Action 1/1: {"done":{"text":"Based on the search results, here are some of the top-rated yakiniku restaurants in Tokyo:\\n\\n- **生粋**\\n- **海鮮ブッフェダイニング 銀座八芳 新宿店**\\n- **海鮮ブッフェダイニング 銀座八芳**\\n- **みゆき苑**\\n- **熟成和牛焼肉エイジング**\\n- **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**\\n- **炭火焼肉 ARATA 麻布十番 (アラタ)**\\n- **焼肉割烹ふみや/ホテルヒラリーズ赤坂**\\n- **肉亭ふたご iki 本郷三丁目店**\\n- **近江うし 焼肉 にくTATSU銀座店**\\n- **USHIGORO S. SHINJUKU**\\n- **焼肉 銀座コバウ 並木通り店**\\n- **焼肉 いのうえ 銀座店**\\n- **和牛焼肉ブラックホール 新宿三丁目店**\\n- **牛牛 西麻布 総本店**\\n- **焼肉 牛宮城別邸**\\n- **白 日寅**\\n- **牛若丸**\\n- **牛屋銀兵衛 銀座本店**\\n- **紀尾井町 くろげ**\\n- **ふらの和牛 よしうし神楽坂通り**\\n- **焼肉 青山外苑**\\n- **焼肉 の名門 天壇 銀座店**\\n- **シュラスコレストラン ALEGRIA shinjuku**\\n\\nThese restaurants were found in various articles and rankings, including Tabelog, Ozmall, Ikyu Restaurant, Hitosara, aumo, Retty, and NTA.co.jp. They offer a variety of experiences, from high-end dining to more casual and affordable options."}}
INFO     [agent] 📄 Result: Based on the search results, here are some of the top-rated yakiniku restaurants in Tokyo:\n\n- **生粋**\n- **海鮮ブッフェダイニング 銀座八芳 新宿店**\n- **海鮮ブッフェダイニング 銀座八芳**\n- **みゆき苑**\n- **熟成和牛焼肉エイジング**\n- **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**\n- **炭火焼肉 ARATA 麻布十番 (アラタ)**\n- **焼肉割烹ふみや/ホテルヒラリーズ赤坂**\n- **肉亭ふたご iki 本郷三丁目店**\n- **近江うし 焼肉 にくTATSU銀座店**\n- **USHIGORO S. SHINJUKU**\n- **焼肉 銀座コバウ 並木通り店**\n- **焼肉 いのうえ 銀座店**\n- **和牛焼肉ブラックホール 新宿三丁目店**\n- **牛牛 西麻布 総本店**\n- **焼肉 牛宮城別邸**\n- **白 日寅**\n- **牛若丸**\n- **牛屋銀兵衛 銀座本店**\n- **紀尾井町 くろげ**\n- **ふらの和牛 よしうし神楽坂通り**\n- **焼肉 青山外苑**\n- **焼肉 の名門 天壇 銀座店**\n- **シュラスコレストラン ALEGRIA shinjuku**\n\nThese restaurants were found in various articles and rankings, including Tabelog, Ozmall, Ikyu Restaurant, Hitosara, aumo, Retty, and NTA.co.jp. They offer a variety of experiences, from high-end dining to more casual and affordable options.
INFO     [agent] ✅ Task completed successfully
INFO     [agent] Created GIF at agent_history.gif
AgentHistoryList(all_results=[ActionResult(is_done=False, extracted_content='🔍  Searched for "東京都のおすすめの焼肉屋" in Google', error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content='📄  Extracted page as markdown\n: # フィルタとトピック\n\n[すべて](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQIExAB)\n\n[地図](https://maps.google.com/maps?sca_esv=96376e12f89d18b9&output=search&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&entry=mc&ved=1t:200715&ictx=111)\n\n[画像](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=2&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQtKgLegQIEhAB)\n\n[フライト](/travel/flights?sca_esv=96376e12f89d18b9&output=search&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&ved=1t:200715&ictx=111)\n\nウェブ\n\n[金融](/finance?sca_esv=96376e12f89d18b9&output=search&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQIDRAB)\n\n[ショッピング](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=28&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&ved=1t:220175&ictx=111)\n\nもっと見る\n\n[書籍](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=36&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQINxAB)\n\n[ニュース](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&tbm=nws&source=lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQIOBAB)\n\n[動画](/search?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=7&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQtKgLegQINhAB)\n\nツール\n\nすべての言語\n\nすべての言語\n\n[日本語のページを検索](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=lr:lang_1ja&lr=lang_ja&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEAc)\n\n期間指定なし\n\n期間指定なし\n\n[ 1\n時間以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:h&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEAw)\n\n[ 24\n時間以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:d&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEA0)\n\n[ 1\n週間以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:w&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEA4)\n\n[ 1\nか月以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:m&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEA8)\n\n[ 1\n年以内](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=qdr:y&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEBA)\n\n期間を指定\n\n期間を指定\n\n開始日:終了日:\n\n選択\n\nすべての結果\n\nすべての結果\n\n[完全一致](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&source=lnt&tbs=li:1&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEBg)\n\n詳細検索\n\n約 28,300,000 件 (0.34 秒)\n\nCtrl+Shift+X キーで選択\n\n![Google](https://fonts.gstatic.com/s/i/productlogos/googleg/v6/24px.svg)\n\n# 検索の設定\n\n[検索のカスタマイズオフ](/history/optout?hl=ja)\n\n[セーフサーチぼかし:\nオン](/safesearch?prev=https://www.google.com/search?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26udm%3D14&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8JsIegQICRAH)\n\n[言語\n(Language)日本語](/preferences?lang=1&hl=ja&prev=https://www.google.com/search?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26sca_esv%3D96376e12f89d18b9%26udm%3D14#languages)\n\n[ダークモードデバイスのデフォルト](/setprefs?hl=ja&prev=https://www.google.com/search?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26udm%3D14%26pccc%3D1&sig=0_8K7zV1dbxa-\nEUltH4l6nhPwm_es%3D&cs=2&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQqsEHegQICRAJ&ictx=1)\n\n[その他の設定](/preferences?hl=ja&prev=https://www.google.com/search?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26sca_esv%3D96376e12f89d18b9%26udm%3D14)\n\nフィードバックを送信\n\n[ヘルプ](https://support.google.com/websearch/?p=dsrp_search_hc&hl=ja) •\n[プライバシー](https://policies.google.com/privacy?hl=ja&fg=1) •\n[利用規約](https://policies.google.com/terms?hl=ja&fg=1)\n\n# 検索結果\n\n[  \n東京で人気の焼肉\nランキングTOP20![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAMFBMVEX/qgD/qgD/qgD/qAD/yGH/wVP/sBr/tiz/463//fj/uj3/25v/8db/1Yj/6b3/znhud70+AAAAAnRSTlNP7zHHYRsAAADUSURBVHgBY2BUQgICDELIXEUGJRRAJFfZCImrbGwSjOAqq6V3thnBuVrRZ2ZkwWWVV++ds3vPYhjXavfN5z5z4FzTc/H/5vxIhnKVNeZsyn+dGwzlmp3smelcsugxhGvk2f5y1m9j411GxkCu8er5f+Z2+Dsr64WEKzEop7z7dza27/cuI6N9+5MYlPw6Xher3LftLVZeW5LMoBTxOthIOdnsRrCxSwhQVjUI7JfUG1ea7xsxAK0FO9sofd3TqyCuEsyPtcEooWFspERS0KEFO1qkAABve2HuBbgdYAAAAABJRU5ErkJggg==)食べログhttps://s.tabelog.com\n› 東京 › 東京 焼肉](https://s.tabelog.com/yakiniku/tokyo/rank)\n\n食べログ\n\nhttps://s.tabelog.com › 東京 › 東京 焼肉\n\n _東京 焼肉_ 予約人気ランキングTOP20 · 1生粋 · 2海鮮ブッフェダイニング 銀座八芳 新宿店 · 3海鮮ブッフェダイニング 銀座八芳 · 4\n_焼肉_ みゆき苑 · 5熟成和牛 _焼肉_ エイジング・ ...\n\n[  \n2025年最新 | 東京で人気の焼肉店ランキング20選!![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAdVBMVEXpNXDpMm7pMW/oK2rpMm3pPXPrUIDwg6T3t8z5ydj2sMfub5X2qcH4vND60N773ejrTX/zlbD72OT//////P3+9vnnH2XymrXqRHn85u3ykq7uaZLmEVz/+vz5xtf96vDtXovwdpzyiKvnF2DmAFTqRHbvc5gViI/PAAAA9klEQVR4AdWPhRXDMAxErcgO84WZ9x+xznNxhP7EdGLxt9DnZhH9WFjqRYJISimEUt8m23E9P2C2w8iNvDhx01csW1mOAiizqobBbaSxScsH2i7W1t4zNi9lY6Mq1LIz+AXGcIrqbka7sDBUwQx4zBNQhKka1rIIqlcztzquQ5Nr47bv/Yxtf3XKSwLMYndmoEz3vkV9ML+MWQl4FfsAot3OMamz38wkxPUIuEd/xys1AckUz63NJrJvteDEQHtVrpmkqJlMQ1Tf86PwgsHR+jgWiBsWBimcqU0ip2G2t/W6rtV5jamxWCglme4GDFJ8YRFZ4s95ABisEtheqPsPAAAAAElFTkSuQmCC)オズモールhttps://www.ozmall.co.jp › ... › 肉料理 › 焼肉](https://www.ozmall.co.jp/restaurant/tokyo/yakiniku/rankreview/)\n\nオズモール\n\nhttps://www.ozmall.co.jp › ... › 肉料理 › 焼肉\n\n1位 赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂 · 2位 炭火 _焼肉_ ARATA 麻布十番 (アラタ) · 3位 _焼肉_\n割烹ふみや/ホテルヒラリーズ赤坂 · 4位 肉亭ふたご iki 本郷三丁目店 · 5位 ...\n\n[  \n東京都の焼肉が楽しめるおすすめレストラン![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAJFBMVEX////////QxKj08evGuJTs6N3Z0LqnkVGsl12vm2Xi28q5qHoZbkxwAAAAAXRSTlP484CiSAAAAJRJREFUeAFjQAOMgkhAgLpcJSBQFnQWTYRwKzo6OkqFC8UcIdzKmTNntoo5ijlmIWSlF1s4m4K5U1JDF201XxjuBVFsmqS0UHX1Qk8nuFHTgYq3OU9EGCW9RMzRA84tlVYEmg3mzt69e/dWkYVijrjcHAjmiIK5XmqqylqL1BatSgFzHZVXuWklKTotVUHTS10uKgAA8rg6ieL/ga0AAAAASUVORK5CYII=)一休レストランhttps://restaurant.ikyu.com\n› ... › 東京都 焼肉](https://restaurant.ikyu.com/area/tokyo/80001/)\n\n一休レストラン\n\nhttps://restaurant.ikyu.com › ... › 東京都 焼肉\n\n _東京都_ にある. _焼肉_ が楽しめる _おすすめ_ レストラン · 近江うし _焼肉_ にくTATSU銀座店 · USHIGORO S.\nSHINJUKU · _焼肉_ 銀座コバウ 並木通り店 · _焼肉_ いのうえ 銀座店 · 銀座 ...\n\n\u200e[焼肉 ディナー](https://restaurant.ikyu.com/area/tokyo/80001/05/) ·\n\u200e[デート](https://restaurant.ikyu.com/area/tokyo/80001/t-scene368/) · \u200e[焼肉\nランチ](https://restaurant.ikyu.com/area/tokyo/80001/03/) · \u200e[池袋・目白\n焼肉](https://restaurant.ikyu.com/area/tokyo/001/80001/)\n\n[  \n【東京】おすすめの焼肉店20選!本当に美味しい焼肉まとめ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAMFBMVEX/qgD/qgD/qgD/qAD/yGH/wVP/sBr/tiz/463//fj/uj3/25v/8db/1Yj/6b3/znhud70+AAAAAnRSTlNP7zHHYRsAAADUSURBVHgBY2BUQgICDELIXEUGJRRAJFfZCImrbGwSjOAqq6V3thnBuVrRZ2ZkwWWVV++ds3vPYhjXavfN5z5z4FzTc/H/5vxIhnKVNeZsyn+dGwzlmp3smelcsugxhGvk2f5y1m9j411GxkCu8er5f+Z2+Dsr64WEKzEop7z7dza27/cuI6N9+5MYlPw6Xher3LftLVZeW5LMoBTxOthIOdnsRrCxSwhQVjUI7JfUG1ea7xsxAK0FO9sofd3TqyCuEsyPtcEooWFspERS0KEFO1qkAABve2HuBbgdYAAAAABJRU5ErkJggg==)食べログhttps://tabelog.com\n› ... › 東京都 › 東京都の焼肉](https://tabelog.com/matome/17238/)\n\n食べログ\n\nhttps://tabelog.com › ... › 東京都 › 東京都の焼肉\n\n2020/12/18 — 「和牛 _焼肉_ ブラックホール 新宿三丁目店」はJR新宿駅から徒歩4分、高山ランド会館の8階にある _焼肉_ 専門店。\n店内は綺麗で清潔感があり、デートに _おすすめ_ と ...\n\n\u200e[東京都渋谷区にあるおすすめの...](https://tabelog.com/matome/17238/#5-headline) ·\n\u200e[東京都新宿区にあるおすすめの...](https://tabelog.com/matome/17238/#12-headline)\n\n[  \n東京都の焼肉おすすめグルメランキング\nトップ50![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAHlBMVEX////w8PDx8fGqd0+jajrg0cfQuKjq496xhWPAnYUEGMXYAAAAAnRSTlP//Sa7vusAAADDSURBVDiNhZJRAoQgCAUBAen+Fy7XNDBy30c/0AyoAN/Blk2dkGjbAFcDbQkXYq+gPwT8IlB9RlgIaiagzCzwW2IlKJfC7VN4jBAJZaYhMG5RzdQ1UAP4c6hcXFi7wREOXy96L+kIscH6RXjCosA+ot9CLDhoJSwaG0uEc5BHwzUjAAfHmxBWWc8hcSQE52DKCI+DJZ1hOlgpJ8DBLUe9q9mbFKk0k7xJX8sIhOMScsI9eG/D95ucXGfxDRj0w+J+z3MCaXUFi2zNZ3MAAAAASUVORK5CYII=)ヒトサラhttps://hitosara.com\n› 全国 焼肉ランキング](https://hitosara.com/ranking/tokyo/GC0501/)\n\nヒトサラ\n\nhttps://hitosara.com › 全国 焼肉ランキング\n\n _東京都_ の _焼肉_ のアクセスランキング · プレミアム掲載店. 1. 竹内 亮. 牛牛 西麻布 総本店 · プレミアム掲載店. 2. _焼肉_\n牛宮城別邸 · プレミアム掲載店. 3. 白 日寅.\n\n[  \n【保存版】東京都内でおすすめのおいしい焼肉24選!コスパ\n...![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAZlBMVEX61UH71kH/3ELvzD//2UJFPiZ9bS1uYCv/4kRpXCqfiTIAAB/dvTy7oDcKEiEuKyNzZCz/3UPBpjjRszqIdS8AAB2ljjMADSG+ozc8NyX/6UWymTVlWCpXTSj/5UTbuzzqyD/20kA7Z0zjAAAAiklEQVR4Ae2PAxbEQAxAJ9hqUNv3P2SNh9UB+odxIv7hAeCzDYlQMAsGwJXlt14b/LJs23E9Rypt/FcgdRhJGe1WiL0kDYPMyVVRVnlcN6EkkocxjSnFIKsWY9sZtRoZDiO3TZNyJK20169O9nXrZFLWR1EcxgGYaBAjwXbxOPI9CpzXujZBPPzBDPdDBy4MqoUcAAAAAElFTkSuQmCC)aumohttps://aumo.jp\n› 関東 › 東京](https://aumo.jp/articles/46763)\n\naumo\n\nhttps://aumo.jp › 関東 › 東京\n\n2024/10/18 —\nまず紹介するのは『牛若丸』。明るく清潔感のある店内には、少人数テーブル個室、掘りごたつ席などを完備しており、多彩なシーンに対応します。\n\n[  \n【予約しないと入れない!】東京都で超人気、予約必須の焼肉30店![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAxlBMVEX/sBj/rhT/rhX/rRP/rBP/qhTOkBHblhKidw+qeA/UkxP/qRWufhA8MQf/shbBhhCXcQ65gRHwpBSRZg11VgoAAADtoBKKYgz/phWkcA23ew7lmhQbFQOCXAv/pRTPjBPGhxIkHgWJWwzakBHDfxEfGgP/oRUmGANRRgqXZA3/nhVjUQp3WwzShxJHMgbJfBD/mhOgZg+wcg64cRBVOQcOCQF/Ugqtbg//lRPmjxQsGQT/lRRwSQrpjRL/lBX/kxX/khL/kxjUxnrGAAABbElEQVR4AXzMhWLCMBCA4asEOxwC1WyVZevNwhSH93+qXeYGfzX5ksDxnIMxup7L8ft7nn2s2Xx+fv5wLnj+/3l8gy98Pt4Tv4KaJ3wQot5oNloChf+RQPTanS4KQNHrN/sDAa3BR0Mfh6ORgwiIPd456I7lVzW/OZk6AUKAg0bYiGL5raSbdqeeCiAIeu2Tdu9Uys6kHsenmdVu7qY+o1JFJMqC8exEhGEweUMvFUqB0jiejAWjzB0pR91z/oPUTVEr0FrHF4V6RVfK0pecWylGDZp0cVmo0qJSgRpbFEWUB/SGV9f6FTEt8cYiBnmlGInoenr7jlLqwmKgGQ0BGbqevWHlJ7JC+6d0nmtGY+j27p7s1MPskVc8WVR5pY1hNLflsyH5rSfinWRxbu6vZ8YsHpYf5TSnvKK5gdXcXD/c8hKjPzLzOa3XNF8xzhnmv9ts5ha3K3vz8yuege2RYLs7GOP+YFt4mSMeAABP61pEcel0wAAAAABJRU5ErkJggg==)Rettyhttps://retty.me\n› 東京都 予約必須](https://retty.me/theme/101045202/)\n\nRetty\n\nhttps://retty.me › 東京都 予約必須\n\n超人気焼肉店「牛蔵」。\n都心の焼肉店で1人前3000円くらいする部位が1000円以下で提供されているので、お腹いっぱい食べて、飲んでも大体1人3000円くらいというコスパの良\n...\n\n[  \n女子会や記念日デートにも!東京都内のおすすめ焼肉店10選![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADc0lEQVR4AcWXA5AdQRRFN+UKvhnbtm3btrm2Y9u2bacQ27bKXN/c3XrLmawn+VXnj/u8drdLej+jMTSePERHypMhZAO5RX6RSOGX3NtAhsi7Ovk2XUdG8vykAVlA3pAoEkNiSRyBECf3YuSdN/JNA0kjW/JyxJ98FgGySJx86y9pZU4sNCUnpHiRQyIlraaSdobyDuSuaq6zT5yk2UEc6eb8LoFG3E1REgp5OXKSQEvEUU6cSQHkIwEkVhOpKdV1rLjypQygPvmkhdziCIK1cGCqe+JqkBiAjizQQm5izgtV9EHxBu6KZ+LUJdb9a00CsISgTNsZqDF6LIwGxfM3pLyLDJ1RmgRgDUHlfpPQOHCwIgBxDokPYCOJSS8hA9ETnTGMEEMYCujDodOHwcDz9Eqg2tDxaLGwnyIAcW6MD+AOiU1PXtwYhF5mD4y3zsKkgjMwpd4ozOzVD2O7DkLtirPgtAeqtvxitT3R0HcoWi7pqwhAnLddZCaLU0RPSpiC0Njsg4mWmdhnH4tjztFYVWQ8VnTsjdOhdXF3dUXMG9cRLWtPSRWEyRwCW5HAhLrvsK27agDi/O2iOt6LvCdzvdo2AfccQ3HBMRJzbFPQnAHVKu0O/6Hd8XFnCXzdUxQLJnRAHZaEnlXCnMNWNAClW8xC8/n90flAZzRSaQNCpGoABjLa4oq9zPUD51BcpHwUr6ub/WE3hsDCum1TdxK2ezXD971F8XprKXgN6olChQLgLOWX0PJbLOqHTru7JjTAUk1d/zpRqVaBgay3T8BD5vy4fTTGUF7JFAAr5UklVNgPXRqPw3bvpni2sSxuLKkKtynd0HjSCDQOHYT2W3qggfdQlG41UwYi9SpQbYQGcpTiK8z5TOsMlDYFwqKSg0KOALSrPxFTevWH35AeGNJ3MKr3nIjKA8mASShezx3WQqpyiPOOajc0kIP2MVhsm4Q6Jr90+7rewG7JLllAx26pY7fUE52g2kUV3VA5EBmIj3Ua+pvd4TAGazUrJg1E5dWG4rIs9qLGIA3EiqFYfTLSE4M2YsVkFE8DxXSsLTIda78gEVQXJPmJYkl2mkBjTqVakv3HRWm6y/J7GizL75EOmd0bNCMnc3FjclLSFHnmt2YBubA1C5C0/tnmNFreXZjtzWkG2/NNMoH9IlHCL7m3Kavb8z9tAqO//YHlTAAAAABJRU5ErkJggg==)nta.co.jphttps://www.nta.co.jp\n› ... › グルメ](https://www.nta.co.jp/media/tripa/articles/xznrj)\n\nnta.co.jp\n\nhttps://www.nta.co.jp › ... › グルメ\n\n2024/10/24 — 女子会や記念日デートにも! _東京_ 都内の _おすすめ焼肉店_ 10選 · 牛屋銀兵衛 銀座本店 · 紀尾井町 くろげ ·\nふらの和牛 よしうし神楽坂通り · _焼肉_ 青山外苑.\n\n[  \n人生で1度は行くべき\n東京焼肉12選![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAcElEQVR4AWP4//8/RZh6BgCZAkDsAMUNWDFCXgDFACCV8J/B+D8pGKwHRAKRAUyQDEMMQAYEUGBAAsiABpwKHjz4/9/BAZ8BDXgNgIMNGyg04MABkg1AeCEgAK8XKA5EiqORooSELykXEJuUBz43AgAIA1ZhBoG9vwAAAABJRU5ErkJggg==)YouTube\n· FUJIWARA LIFE視聴回数: 3.7万 回以上 · 8\nか月前](https://www.youtube.com/watch?v=Yg5GZjcvlLg)\n\nYouTube · FUJIWARA LIFE\n\n視聴回数: 3.7万 回以上 · 8 か月前\n\n東京の _オススメ_ な _焼肉屋_ さん12店ランチで紹介致しました!もちろん飲みや ... 4._焼肉_ の名門 天壇 銀座店 _東京都_\n中央区銀座5-13-19 ...\n\n[  \n【2025年最新!】東京都の焼肉 食べ放題で今年人気の\n...![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAxlBMVEX/sBj/rhT/rhX/rRP/rBP/qhTOkBHblhKidw+qeA/UkxP/qRWufhA8MQf/shbBhhCXcQ65gRHwpBSRZg11VgoAAADtoBKKYgz/phWkcA23ew7lmhQbFQOCXAv/pRTPjBPGhxIkHgWJWwzakBHDfxEfGgP/oRUmGANRRgqXZA3/nhVjUQp3WwzShxJHMgbJfBD/mhOgZg+wcg64cRBVOQcOCQF/Ugqtbg//lRPmjxQsGQT/lRRwSQrpjRL/lBX/kxX/khL/kxjUxnrGAAABbElEQVR4AXzMhWLCMBCA4asEOxwC1WyVZevNwhSH93+qXeYGfzX5ksDxnIMxup7L8ft7nn2s2Xx+fv5wLnj+/3l8gy98Pt4Tv4KaJ3wQot5oNloChf+RQPTanS4KQNHrN/sDAa3BR0Mfh6ORgwiIPd456I7lVzW/OZk6AUKAg0bYiGL5raSbdqeeCiAIeu2Tdu9Uys6kHsenmdVu7qY+o1JFJMqC8exEhGEweUMvFUqB0jiejAWjzB0pR91z/oPUTVEr0FrHF4V6RVfK0pecWylGDZp0cVmo0qJSgRpbFEWUB/SGV9f6FTEt8cYiBnmlGInoenr7jlLqwmKgGQ0BGbqevWHlJ7JC+6d0nmtGY+j27p7s1MPskVc8WVR5pY1hNLflsyH5rSfinWRxbu6vZ8YsHpYf5TSnvKK5gdXcXD/c8hKjPzLzOa3XNF8xzhnmv9ts5ha3K3vz8yuege2RYLs7GOP+YFt4mSMeAABP61pEcel0wAAAAABJRU5ErkJggg==)Rettyhttps://retty.me](https://retty.me/theme/100015101/)\n\nRetty\n\nhttps://retty.me\n\n[![retty.me\nからの東京都のおすすめの焼肉屋](data:image/jpeg;base64,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)](https://retty.me/theme/100015101/)\n\n2025/01/04 — 「 _東京都 焼肉_ 食べ放題」の話題のお店 1 店舗目は、シュラスコレストラン ALEGRIA\nshinjuku。《新宿駅南口徒歩7分・代々木駅徒歩3分》 ◇新宿最多20種類の ...\n\n\u200e[卸 新宿食肉センター 極 恵比寿店](https://retty.me/area/PRE13/ARE7/SUB701/100001575173/) ·\n\u200e[07 完全個室完備!上質な黒毛...](https://retty.me/area/PRE13/ARE8/SUB802/100001716766/) ·\n\u200e[かがやき](https://retty.me/area/PRE13/ARE9/SUB906/100000020368/)\n\n# ページの操作\n\n| 1|\n[2](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=10&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAE)|\n[3](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=20&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAG)|\n[4](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=30&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAI)|\n[5](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=40&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAK)|\n[6](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=50&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAM)|\n[7](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=60&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAO)|\n[8](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=70&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAQ)|\n[9](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=80&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAS)|\n[10](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=90&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAU)|\n[次へ](/search?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=10&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8NMDegQIChAW)  \n---|---|---|---|---|---|---|---|---|---|---|---  \n  \n# フッターのリンク\n\n日本\n\n磐田市、静岡県 \\- ソース: あなたの IP アドレス\n\n\\-\n\n現在地を更新\n\n現在地を更新できません詳細\n\n現在地を更新中...\n\n[ヘルプ](https://support.google.com/websearch/?p=ws_results_help&hl=ja&fg=1)フィードバックを送信[プライバシー](https://policies.google.com/privacy?hl=ja&fg=1)[規約](https://policies.google.com/terms?hl=ja&fg=1)\n\n\n', error=None, include_in_memory=False), ActionResult(is_done=True, extracted_content='Based on the search results, here are some of the top-rated yakiniku restaurants in Tokyo:\\n\\n- **生粋**\\n- **海鮮ブッフェダイニング 銀座八芳 新宿店**\\n- **海鮮ブッフェダイニング 銀座八芳**\\n- **みゆき苑**\\n- **熟成和牛焼肉エイジング**\\n- **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**\\n- **炭火焼肉 ARATA 麻布十番 (アラタ)**\\n- **焼肉割烹ふみや/ホテルヒラリーズ赤坂**\\n- **肉亭ふたご iki 本郷三丁目店**\\n- **近江うし 焼肉 にくTATSU銀座店**\\n- **USHIGORO S. SHINJUKU**\\n- **焼肉 銀座コバウ 並木通り店**\\n- **焼肉 いのうえ 銀座店**\\n- **和牛焼肉ブラックホール 新宿三丁目店**\\n- **牛牛 西麻布 総本店**\\n- **焼肉 牛宮城別邸**\\n- **白 日寅**\\n- **牛若丸**\\n- **牛屋銀兵衛 銀座本店**\\n- **紀尾井町 くろげ**\\n- **ふらの和牛 よしうし神楽坂通り**\\n- **焼肉 青山外苑**\\n- **焼肉 の名門 天壇 銀座店**\\n- **シュラスコレストラン ALEGRIA shinjuku**\\n\\nThese restaurants were found in various articles and rankings, including Tabelog, Ozmall, Ikyu Restaurant, Hitosara, aumo, Retty, and NTA.co.jp. They offer a variety of experiences, from high-end dining to more casual and affordable options.', error=None, include_in_memory=False)], all_model_outputs=[{'search_google': {'query': '東京都のおすすめの焼肉屋'}}, {'extract_content': {'include_links': True}}, {'done': {'text': 'Based on the search results, here are some of the top-rated yakiniku restaurants in Tokyo:\\n\\n- **生粋**\\n- **海鮮ブッフェダイニング 銀座八芳 新宿店**\\n- **海鮮ブッフェダイニング 銀座八芳**\\n- **みゆき苑**\\n- **熟成和牛焼肉エイジング**\\n- **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**\\n- **炭火焼肉 ARATA 麻布十番 (アラタ)**\\n- **焼肉割烹ふみや/ホテルヒラリーズ赤坂**\\n- **肉亭ふたご iki 本郷三丁目店**\\n- **近江うし 焼肉 にくTATSU銀座店**\\n- **USHIGORO S. SHINJUKU**\\n- **焼肉 銀座コバウ 並木通り店**\\n- **焼肉 いのうえ 銀座店**\\n- **和牛焼肉ブラックホール 新宿三丁目店**\\n- **牛牛 西麻布 総本店**\\n- **焼肉 牛宮城別邸**\\n- **白 日寅**\\n- **牛若丸**\\n- **牛屋銀兵衛 銀座本店**\\n- **紀尾井町 くろげ**\\n- **ふらの和牛 よしうし神楽坂通り**\\n- **焼肉 青山外苑**\\n- **焼肉 の名門 天壇 銀座店**\\n- **シュラスコレストラン ALEGRIA shinjuku**\\n\\nThese restaurants were found in various articles and rankings, including Tabelog, Ozmall, Ikyu Restaurant, Hitosara, aumo, Retty, and NTA.co.jp. They offer a variety of experiences, from high-end dining to more casual and affordable options.'}}]

となった
GPTで要約すると
ご提供いただいた実行結果をもとに、東京都内でおすすめの焼肉店がリストアップされています。以下がそのまとめです:

### 東京都内のおすすめ焼肉店
1. **生粋**
2. **海鮮ブッフェダイニング 銀座八芳 新宿店**
3. **みゆき苑**
4. **熟成和牛焼肉エイジング**
5. **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**
6. **炭火焼肉 ARATA 麻布十番 (アラタ)**
7. **焼肉割烹ふみや/ホテルヒラリーズ赤坂**
8. **肉亭ふたご iki 本郷三丁目店**
9. **近江うし 焼肉 にくTATSU銀座店**
10. **USHIGORO S. SHINJUKU**
11. **焼肉 銀座コバウ 並木通り店**
12. **焼肉 いのうえ 銀座店**
13. **和牛焼肉ブラックホール 新宿三丁目店**
14. **牛牛 西麻布 総本店**
15. **焼肉 牛宮城別邸**
16. **白 日寅**
17. **牛若丸**
18. **牛屋銀兵衛 銀座本店**
19. **紀尾井町 くろげ**
20. **ふらの和牛 よしうし神楽坂通り**
21. **焼肉 青山外苑**
22. **焼肉 の名門 天壇 銀座店**
23. **シュラスコレストラン ALEGRIA shinjuku**

### 情報元
この情報は以下のサイトを参照してまとめられました:
– 食べログ
– Ozmall
– 一休レストラン
– ヒトサラ
– aumo
– Retty
– NTA.co.jp

高級志向の店舗からカジュアルでコスパの良い店舗まで幅広く含まれています。特に「食べログ」や「Retty」ではユーザー評価が高い店舗がランキングされており、信頼性があります。

もし特定の店舗やエリアでさらに詳細な情報が必要でしたら、お知らせください!

とりあえず日本語でも動作する
なので
Browser-use で gemini2.0 で日本語でも動作するなら
音声入力して日本語で動作も可能だし
ダメならdeepL API で翻訳して実行すれば問題ない

geminiでbrowser-useが使えるのは判明した

Gemini で自動再試行
によれば
Gemini 2.0 Flash Experimental の無料枠のレート制限は
2025 年 1 月 13 日時点
* 1 分あたりのリクエスト数: 10
* 1 日あたりのリクエスト数: 1,500
仕様上、1 日あたりのリクエスト数を超過していなければ、最大で 1 分程度待てば解消
とのことなので
色々試してみる