Qwen3は新たなコーディングキングか?(モデルテスト)

AGIに仕事を奪われたい
この記事は約20分で読めます。

11,780 文字

Is Qwen3 the new CODING KING? (model testing)
The latest AI News. Learn about LLMs, Gen AI and get ready for the rollout of AGI. Wes Roth covers the latest happenings...

今日はちょうど登場したばかりのQwen3モデルをテストしています。彼らがフラッグシップモデルと呼ぶQwen3 235B A22Bというモデルです。覚えやすい名前ですね(笑)。基本的に、コーディングベンチマークでリリースされた大型モデルです。いくつかのベンチマークではGemini 2.5 Proよりも優れたパフォーマンスを示したとされています。正直、驚きです。
結果を疑っているわけではありませんが、「信頼しつつ検証する」というわけです。なので今日は検証します。これはqwen.aiのチャットです。私はプロンプトを入力し、思考モードを有効にしました。後でお見せしますが、思考の最大許容時間やトークン数を変更することができます。
32,000がトークン数の上限です。最初の観察としては、コードを生成している間、非常に長い時間実行されています。どんなコードを求めているかというと、「太陽系の2Dビューを表示する単一のHTMLファイルと、ユーザーが発射できるプローブを作成してください。ユーザーは惑星の近くをクリック&ドラッグしてプローブの初期速度ベクトルを設定できます。マウスを離すと、プローブが発射されます。UIコントロールは再生、一時停止、リセット、およびシミュレーション速度用のスライダーの3つだけを提供してください」というものです。
完了しました。ご覧のように、約40,000トークンを消費しています。そして今、実際にHTMLファイルを出力しています。これは他のモデルが考えるよりもずっと長い時間かかっていますね。何ページにもわたって考えています。あらゆることを徹底的に考え抜いているようです。うまくいけば、それが非常に優れた出力につながるはずです。
では、見てみましょう。シミュレーションはこんな感じです。再生、一時停止…なかなかいい感じです。これは最大速度ですが、最大速度をもっと上げる必要があります。最小速度ではリアルタイムになっていますが、動きがほとんど見えないくらいです。
このようにして、もし全てが正常に動作していれば、小さなプローブを取って…うまくいきました。これが太陽に向かって落ちていくプローブで、太陽の周りを回っています。
まず最初の印象としては、非常に優れています。他のモデルで同様のテストをした経験から言うと、かなり感心しています。これの3Dバージョンもテストする予定ですが、今のところ全てがとてもスムーズで良好で、気に入っています。
リセットしてもう一度試してみましょう。惑星が動き始めています。プローブを発射してみますが、プローブの発射方法がまだよくわかりません。なるほど、惑星から発射する必要があるようです。例えば火星から発射してみましょう。そして方向はプローブを発射する方向です。太陽系から離れる方向に発射しています。
繰り返しますが、速度を上げる必要があります。速度を大幅に上げるように指示します。現在は遅すぎるので、少なくとも10倍にしましょう。ご覧のように、私たちの小さな衛星は太陽系の外に飛んでいきました。
もう一度試してみましょう。地球からこの方向に発射してみましょう。太陽に向かって落ちていきます。もう一度試してみます。
気づいたことですが、このシミュレーションで重力を持っているのは太陽だけのようです。惑星には本当の重力がないように見えます。太陽の重力をオン/オフするボタンと、惑星の重力をオン/オフするボタンを追加するよう依頼しました。
もう一度試してみましょう。速度がずっと速くなって、惑星からプローブを発射できますね。素晴らしいです。これはまさに私たちが見たかったものです。惑星の重力がプローブの軌道に影響を与えているようです。素晴らしいですね。
太陽の重力を無効にするとどうなるでしょうか?飛んでいきますね。再び有効にすると減速します。素晴らしい。全て良好です。
こんな感じで発射して、惑星の重力をオフにするとどうなるでしょう?
全体的に見て、ここでの全てに非常に満足しています。惑星の重力と太陽の重力のバランスなど、細部をもう少し調整することもできますが、現在は太陽の重力が少し強すぎるようです。惑星の近くを通過させるのは少し難しいかもしれませんが、全体的には多くの要素をうまく捉えており、これをベースに構築を始めることができます。
非常に高い評価を与えたいと思います。少し調整が必要でしたが、現実的な側面については、完璧なシミュレーションではなく、ただ重力の引力で遊んでいるだけなので、どの程度リアルかはわかりません。
惑星の重力を無効にすると、宇宙に飛んでいくことが分かりました。デフォルトでは惑星の重力が有効になっていないことに気づきました。これがその様子です。リセットして、このようにプローブを発射してみましょう。再生を押すと…
重力の中心、つまり惑星に近づくと何か変なことが起こります。そこに引っかかったり、時には激しく跳ね返ったりします。これは私たちが求めているものではありませんが、当然ながら挙動を変更することはできます。現在はそのようなシミュレーションになっていますが、明らかに何かが惑星に衝突すると消えてしまいます。
そのようにすることもできますが、私たちがやろうとしていることにはあまり適していません。惑星の重力を有効にすると、惑星が実際に影響を受けますが、いくつか奇妙な効果があります。惑星の重力を有効にするとこんな感じです。面白いですが、一方から他方へピンポンのように跳ね返る感じがします。
これには良い評価を与えますが、もう少しレベルを上げて、もっと複雑なものをどれだけうまく扱えるか見てみましょう。
次に、より複雑なプロンプトで3Dバージョンを作成しようとしましたが、実際の銀河をレンダリングすることができませんでした。何度か試しましたが、うまくいきませんでした。
次に、Pythonでサッカーシミュレーションゲームを作ります。2対2のゲームで、キャラクターにはステータス、レベル、経験値があり、プレイするにつれて上達していきます。見てみましょう。
今のところあまり良くありません。プレーヤーがボールに反応していません。書き直しを依頼したところ、以下のようになりました。あまり改善されていません。プレーヤー同士の相互作用が適切に行われていません。
更新されたコードでもう一度試してみます。まだあまり良くありません。何かがうまくいっていません。思考モードを有効にして、最大長の思考を可能にしていますが、うまくいっていません。
他のモデルがどうするか参考までに見てみましょう。Gemini 2.5 Pro previewは最初の試みでエラーが出ています。そしてこれがOpenAI O3です。
ご覧のように、ゲームは動作しています。彼らはボールを奪い合い、ゴールを目指しています。ゴールの仕組みも機能しています。このゲームでは1ゴールにつき9ポイント獲得できるようです。
まだ改良の余地はありますが、少なくともゲーム全体が機能しています。タックルの仕組みも機能しています。もう一度実行してみましょう。ディフェンダーと攻撃側のプレーヤーがいるのがわかります。ゴールを目指して走っていますが、少し変わっていますね。まだ完璧ではありませんが、アメリカンフットボールとサッカーを混ぜたような感じです。1ゴールが1ポイントではなく、エンドゾーンではなくゴールに走り込む必要があります。
そしてこれがGeminiが生成したものです。素晴らしいですね。キックオフタイマーや、チームごとの経験値が表示されています。バーストモードやターボモードのようなものもあるようです。スコアも記録しています。
1、2回再試行が必要でしたが、完成すると、確かにターボバーストがあります。これは素晴らしい、まさに私が探していたものです。彼らはゴールに向かってキックしているわけではなく、ゴールに走り込んでいますが、それでも基本的なメカニクスが動作していないものよりも、これをベースに構築する方が良いでしょう。
個人的には、この特定のプロンプトに対してはGemini 2.5 ProとOpenAI O3の方がQwen3よりも優れていると思います。
次に、2匹のヘビが対戦する完全に自律的なスネークゲームを作成します。障害物や果物などを追加しています。さらに興味深いのは、これらの2匹のヘビがより良くプレイできるように強化学習のトレーニングパイプラインを作成しようとしていることです。
これはより複雑なプロンプトの一つです。異なる引数で実行して異なる動作をする1つのファイルを作成するよう依頼しています。「d-play」引数で実行すると、単純なスクリプトで自律的にプレイする2匹のヘビになります。「train」引数で実行すると、PyTorchを使用した強化学習パイプラインが作成され、エージェントが500エピソードにわたってゲームをシミュレーションし、次の反復でヘビが使用するためのニューラルネットが保存されます。「1」引数で実行すると、そのニューラルネットがヘビ1に使用され、「2」引数で実行すると、ヘビ2に使用されます。
かなり複雑なプロンプトです。考えた後、これを出力しました。機能するか見てみましょう。
最初の試みでエラーが出ましたが、それは問題ありません。起こり得ることです。その間に、同じプロンプトをGeminiにも試してみましょう。2.5 Pro previewを使用しています。
Geminiがエラーに対処する方法で嫌なのは、比較的単純なエラーに対して「試してみることがあります。コードを修正するためのいくつかの提案があります。それを試してみて、何が起こるか教えてください」と言うことです。違います。あなたがコードを書いたのだから、あなたが解決してください。そして、コピー&ペーストできるように全コードを再度出力してください。
確かにそれはより多くのトークンを消費しますが、ここでテストしているのは、私のコード修正能力ではなく、モデル自身が問題を解決する能力です。だから通常はコードを見ることさえしません。簡単な修正が必要かもしれませんが、通常は介入せず、モデルが完全に自力でできるかどうかを確認します。
過去には時々介入して、つながりを理解するのを手伝うことがありましたが、それは問題ないと思います。しかし、基本的にはモデル自身がコードをどのようにトラブルシューティングできるかを見たいのです。
まだエラーが発生しています。その間、Gemini 2.5 Proの出力を見てみましょう。これが生成したコードです。どのように機能するか見てみましょう。
そこに貼り付けて実行します。「mode」と入力して「play」と入力するよう求められています。これはまったく問題ありません。入力します。「food」という属性がないというエラーが出ています。まだ問題があるようです。
時々、長いコードの中に小さなスペルミスや構文エラーがあります。時には戻ってその1つのものを修正する必要があります。何か非常に単純なものを定義し忘れたのでしょう。
Gemini 2.5 Proの素晴らしい点は、通常、コード全体を再度出力することです。ユーザーが探して修正しなければならない小さなスニペットだけを出力するのではありません。それほど難しくないかもしれませんが、LMの時間とユーザーの時間、どちらを最適化するかという問題です。ユーザーの時間を最適化するなら、このアプローチの方がはるかに良いでしょう。
さらに将来的に開発環境と本当に統合されるなら、修正場所を言うだけでなく、それを見つけて変更できるようにしたいでしょう。なので、コードをコピー&ペーストする現在のような中間的な期間では、コード全体を出力してもらう方が良いと思います。
もちろん、それはより多くのトークンを消費します。しかし、トークンごとに支払う場合でも、少し余分に支払ってこれをしてもらう方が良いと思います。少なくとも私のような用途では。
Qwen3はまだ私に様々な小さなスニペットを変更するよう促しています。「コード全体を書き直して、全コードを提供してください。テストします」と言いました。エラーと何が問題だったかの説明を返しました。それに基づいて修正できるはずです。
これがGeminiが更新したコードです。うまくいくか見てみましょう。完璧です。これがこの特定のモードで探していたものです。これは単純なスクリプトで自動的にプレイするモードです。
各ゲームごとに反復してスコアが向上することを期待しています。累積スコアが記録されています。両方が同じスクリプトを実行しているので、時間の経過とともに大体同じくらいの結果になることが予想されます。一方が先行するかもしれませんが、それは統計的な変動に過ぎません。基本的に同じヘビ、同じスクリプトです。
トレーニングするとどうなるでしょうか?「train」モードと「episodes」で実行します。実際にゲームをレンダリングしているので、200エピソードだけ実行します。「headless」モードで実行する方法もあり、レンダリングせずに実行するためずっと速く実行できます。また、より速く実行するオプションもあります。
ご覧のように、エピソードを実行していて、ある平均スコアがあります。これらのヘビはゲームをプレイして、スコアを向上させる方法を学習しています。これがトレーニングプロセスです。ゲームをより上手にプレイするための実際のニューラルネットを構築しています。
通常は「headless」モードで実行するので、これを最後まで実行しませんが、Gemini 2.5 Proがこれを実行できることは既に知っています。ご覧のように動作していますが、時間がかかります。省略しましょう。本当の問題は、Qwenがこれを実行できるかどうかです。調べてみましょう。
「play」と入力して、プレイできるか見てみましょう。テキスト文字だけでゲームプレイをシミュレーションしているようです。ヘビが果物を食べながら走り回っています。ハッシュタグ記号は衝突できない動かせない障害物です。
これはトレーニングを実行する非常にスマートな方法です。実際にゲームを実行する必要なく環境をシミュレーションしています。これにより、ゲームをはるかに速く実行でき、ヘビをトレーニングできます。後で彼らの発見を実世界、つまり実際のヘビゲームに変換できる限り問題ありません。
この解決策を思いついたことに評価を与えなければなりません。これは賢いですが、問題は、私がゲームとして実行して確認するように依頼したのに、トレーニングプロセスを開始してしまったことです。なぜそうなったのか見てみましょう。
このコマンドを実行しました。ゲームをプレイするだけで、ゲームをトレーニングするべきではなかったはずです。正しく実行したか確認しましょう。「d-play」を実行しているのに、トレーニングモードに入っています。これは期待していたものではありません。
面白いことに、トレーニングモードはあります。これがヘビをトレーニングしている様子です。これで新しいニューラルネットを持つトレーニング済みのヘビをヘビ番号1に配置できます。新しくトレーニングされたヘビがプレーヤー1になり、もう一方がスクリプト化されたものになります。それが機能するか見てみましょう。
面白いことに、ゲームの視覚的な表示を作成せず、テキスト文字でできた表示を作成しました。私が探していたものとは少し違います。プロンプトで何を言ったか確認してみます。これがプロンプトの要件を満たしているかもしれません。
興味深いことに、私がどう書いたかによって、これは技術的にプロンプトを満たしています。ヘビゲームの視覚的な表現を要求しなかったからです。テキストベースの解釈を選択しました。
ここで多くのポイントを与えなければなりません。PyTorchを使用した強化学習パイプラインを作成し、トレーニングとプレイの引数を使い分けることができました。素晴らしいことがたくさんあります。視覚的なスタイルを採用しなかったことでポイントを差し引きたい気もしますが、それを依頼しなかったのは私の責任です。全体的に見て、非常に堅実で優れています。
次に、ユーザーのウェブカムを使用する独立したPythonプログラムを作成するよう依頼します。ユーザーは手を使って音楽を演奏できます。プログラムはユーザーのハンドジェスチャーを追跡し、それに応じて音楽を再生します。
かなり良いですね。一部のモデルは本当に素晴らしく、ほぼ完全なミュージカルピースを演奏できます。一部はもっと基本的です。これは少し基本的な方ですが、一発で作成し、機能しました。私が与えた比較的曖昧なプロンプトに基づいて非常にうまくやってくれました。間違いなくAの評価です。A+ではありません。他のモデルが生み出した本当に素晴らしいものを見たことがあるからです。これは最高の出力ではありませんが、しっかりとしたAの評価です。
次はもう少し複雑です。1つのHTMLファイルとして作成し、いくつかのAPIキーを使用します。APIキーを使うと、OpenAIや11 Labsなどのオンラインプロバイダーを利用して特定の機能を実行できます。例えば、11 Labsは私のお気に入りのAI音声の一つで、本当に優れた明確なAI音声を生成します。OpenAIはもちろんご存知でしょう。
プロンプトはこうです:「私のOpenAIと11 LabsのAPIキーを使用して、音声ナレーション付きのインタラクティブなオーディオブックを作成してください。OpenAIがストーリーのテキストを生成し、11 Labsがストーリーを音声化します。これを1つのHTMLファイルとして作成してください。」
最初にPythonファイルでやってみましたが、Windowsユーザーは嫌われているのか上手くいきませんでした。環境によって結果が異なるかもしれませんが、HTMLで作成します。「ストーリーをインタラクティブにし、プレイヤーがストーリーを進行させるキャラクターの一人になるようにしてください。ユーザーのマイクを使用してユーザーと対話するアプリを作成してください。」そして11 LabsとOpenAIのAPIキーを提供しました。
これをQwen3、Gemini 2.5 Pro、Anthropic 3.7、OpenAI O3の全てに直接貼り付けました。これは悪い考えです。APIキーを様々なチャットボットに投稿しないでください。私はこれらのプロジェクトをテストした後、動画を公開する前に、すべてのキーを削除します。その後もプロジェクトを使い続ける場合は、別のファイルを作成してAPIキーを保管します。
これは主に、これらのモデルがこの情報をどう扱うかをテストするためです。一種のセキュリティ問題です。模範的な対応としては、警告はしつつも、選択肢を与えてプロンプトを拒否しないことです。「あなたのためを思って」という態度ではなく、愚かなことをする危険性を理解させた上で、それでも選択させる方が私は好きです。
Google Gemini 2.5 Proが最初に回答を返しました。最初にPythonでこれを試みたとき、指示通りにAPIキーをファイル内に配置しました。これは安全ではない方法です。これが悪い考えであることを警告し、なぜ悪い考えなのかを説明しました。コード内では、そのファイルを使用する場合の適切なセットアップ方法のセクションを作成しましたが、コメントアウトしました。つまり、コードは存在しますが、実行時には無視されます。
もし使いたければ、これらの記号を削除するだけで、そのコードブロックがより安全なオプションを含めることができます。Gemini 2.5 Proがこれを行ったことは本当に素晴らしいです。これはおそらく対処する最良の方法だと思います。
異なるモデルを試してみると、Pythonスクリプトでは全て異なる方向に進み、大規模な回避策を提案したので、HTMLに切り替えることにしました。まずはGoogle Gemini 2.5 Proから始めましょう。ダークモードを有効にできないのが残念ですが、進めましょう。
これがGoogle Gemini 2.5が作成したものです。「冒険を開始」をクリックすると、ストーリーが生成されます。「リスニングエラー」と表示されているので、許可する必要があります。これでストーリーセグメントが再生されています。
再生中に見えるように、1分10秒の物語の導入部です。ChatGPTにOpenAIを通じて「インタラクティブなオーディオアドベンチャーをプレイします」というプロンプトを送信しました。ストーリーを作成し、そのテキストを11 Labsに送信しました。
ここで見られる問題は、再生されるオーディオとマイクの両方がタイムアウトすることです。改善してほしい点は、私の話を聞き続け、再生し続けるけれども、私が割り込んでストーリーを進めることを許可することです。
オーディオはこんな感じです:「町の人々は、あなたの任務の緊急性に気づかずに生活を続けています。トーマスを探すために直接崖に向かいますか、それとも決断を下す前に町の人々からより多くの情報を求めますか?あなたはどうしますか?」「酒場に行って、噂を聞いてみましょう」「あなたは未知のものに立ち向かう前に、もっと情報を集めることが最善だと判断します。老婦人に頷いて、地元の酒場「ソルティ・アンカー」に向かいます。」
ここで終わりにしますが、これはほぼ完璧です。別のプロンプトで修正できる小さな不具合がいくつかありますが、ご覧のように、ほぼ一発で欲しかったものを実現しました。
ストーリーを進めることができます。「もっと情報を集めるか、ここに行くか」という選択肢が与えられましたが、私は具体的に「酒場に行きたい」と言いました。すると「酒場はソルティ・アンカーです」というストーリーを作成します。基本的にリアルタイムでストーリーを生成できます。
A+評価です。絶対に素晴らしい。非常にうまく機能しています。あえて欠点を言えば、毎回マイクの使用を許可する必要があることです。連続的でなく、毎回許可する必要があるので、修正すべき問題があります。しかしGoogle Gemini 2.5 Proは素晴らしい仕事をしました。AかA+の評価です。
次にOpenAI O3を見てみましょう。まずダークモードであることで私からポイントを獲得しています。ダークモードは素晴らしいです。「話すか入力してプレイ」とあります。これは賢いです。入力することもできます。
「私たちは運命を書く。飛行船に乗っている。ドラゴンが飛行船を攻撃し、私たちは栄光ある戦いに参加する」と入力しました。私が何をしたいか理解しています。再生をクリックしましょう。
「勇敢な旅人よ、ようこそ。あなたは輝く雲の上を飛ぶ飛行船の上で目覚めます。最初に何をしますか?」「ドラゴンの地へ進みましょう」「ドラゴンの神秘的な地に近づくにつれて、興奮が高まります。」
OpenAI O3は多くのことを正しく行いました。全てが完璧でした。唯一の問題は、新しい行を言い始めると、前のナレーションを停止し、異なるナレーションが重なる順序ですべて再生しないようにすべきです。しかし、これも簡単に修正できます。
A評価を与えます。素晴らしい仕事で、すべてが最初から完璧に機能しました。最初に読み込まれなかった理由は、コードに直接APIキーを入れることを拒否したからです。「準備ができたら入力する必要がある」と言いました。
これは問題ありません。おそらく安全です。私は指示されたことを実行してほしいと思いますが、そうでなくても構いません。それは会社がユーザーの安全を守るための決定の一部です。問題ありません。私にとっては最良ではありませんが、受け入れられます。
次にQwen3を試してみましょう。Qwen3のインタラクティブストーリーはこんな感じです。OpenAIのAPIキーを使用してストーリーを取得できました。しかし、音声が聞こえません。つまり11 LabsのAPIキーに問題があります。11 Labsが機能していないし、話しかけてストーリーを進める方法もありません。
修正する簡単な方法も見当たりません。11 Labsを使用して音声化する部分が欠けており、話しかける機能も欠けています。これは理想的ではありません。少なくとも試みてOpenAI APIを正しく取得したことに対してC評価を与えますが、他のすべてがうまくいっていないようです。
最後にClaude 3.7です。面白いことに、Claudeはアーティファクトを持っているので、すべてをその中で作成します。
自分をウェスと呼び、ファンタジーアドベンチャーをしたいと選択し、アーノルドになり、音量を70%にしましょう。やってみましょう。
アーティファクトが機能しなかったので、標準的な方法で試してみます。他のすべてのモデルと同じ方法で比較するのにも良いでしょう。一貫性を保つことが大切です。
「魔法と神話の生き物であふれています。アレックス、あなたが選ばれし者です。エルドラの静かな森を歩いている間、古い羊皮紙をあなたの手に握りしめています。」「失われた都市アララに入りましょう」「数えきれない宝物と致命的な挑戦が待ち受けるアラの失われた都市への道。森の影から、一対の輝く目があなたを見つめています。」
Claude 3.7 Sonnetは素晴らしいです。おそらく最も優れていました。UIはとても良く、心地よいです。最初から多くのオプションを選択できます。すべてが完璧に機能しました。非常に印象的です。
話している間もナレーションは続きますが、その後更新され、次のパートに進みます。よくできています。いくつかの問題は数回のプロンプトで修正できますが、全体的に見て素晴らしく、これまで見た中で最高のものだと思います。
Qwen3 235B A22Bでいくつかのテストを実行した後、悪くないと思います。それはデセントなコーディングモデルです。多くの強みがあります。PyTorch強化学習など、多くのことをうまくこなしました。
確かに良いモデル、優れたモデルであり、多くの点で非常に印象的だと思います。しかし、この時点では、例えばGemini 2.5 Proより高いコードフォーススコアが必ずしも正確であるとは完全に確信していません。Claude 3.7 sonnetの方がはるかに強いと感じます。Gemini 2.5 Proも強く、O3モデルも強いです。それらはすべてQwen3よりわずかに優れているように思えます。
もちろん、これはほんの数回の簡単なテストであり、これらの結果が100%正確であるという保証はありません。特定の用途によって異なる場合があります。これだけでは十分なテストではありません。LLM arenaで何千人ものユーザーがテストする機会を得たら、このモデルがどの位置にあるかもわかるでしょう。
例えば、ウェブ開発アリーナを見ると、ウェブ開発特化のコーディングでは、Cloud 3.7 sonnetがトップで、次にGPT4.1、そしてGemini 2.5 Proと続きます。全体的な見方をすると、Gemini 2.5 Proがトップで、03 Gro 3 previewもトップにあります。Claude 3.5や3.7がコーディングなどのトップ近くに見えないのは少し奇妙です。
しかし私が言いたいのは、すべての結果が戻ってきたとき、Qwen3はこの最上位、おそらくGemini 2.5 Proのすぐ下にいるのでしょうか?私はそうは思いません。人々が自分の特定のユースケースに使用し、他のモデルと並べて比較すると、最上位ではなく、どこか下の方に位置すると思います。
悪いモデルではありません。強力です。おそらく利用可能な最も強力なオープンソースモデルでしょう。DeepSeek V3やDeepseek R1を上回ると予想しますが、Google DeepMind、Anthropic、OpenAIの大手プロプライエタリモデルを超えることはないでしょう。まだそれは起こらないと思います。しかし時間が教えてくれるでしょう。
あなたはどう思いますか?テストしてみた結果、非常に強力で有能なコーダーだと思いますか?それとも良いけれども最高ではないと思いますか?それが現在の私の見方です。あなたの考えを教えてください。
ここまで見てくれてありがとうございます。私の名前はウェス・ロスです。また次回お会いしましょう。

コメント

タイトルとURLをコピーしました