AIを使っていい感じに勉強出来たらいいな(Mijinko_SD)
結論Mijikko.icon
ChatGPT(GPT-4o)のWeb検索オプションは一度に参照できるソース数にかなりきつめの制約があるようで、ありきたりな内容しか返さない
Deep Researchを有効にするとある程度解消されるが、それでも数十程度のソースしか参照しないので、質問内容を狭くしないとダメ
GeminiのDeep Researchオプションは非常に優秀
数百のソースを参照した上でより重要な内容を選別してまとめてくれる
これが常時使えるのであればもう人力で検索する必要なくなるかもしれない
現状は回数制限が厳しいと言われているのがネック
Deep Research Usage Limits on Advanced Accounts? : r/Bard
無料プランは月10回、Advancedユーザーは月20回らしい
chatgpt deep researchはfreeで月5回ですねbsahd.icon
一番最初に概要を知りたい時にのみ使って、以降は自身で調べる使い方が向いているかもしれない
Deep Researchオプションを有効にしないChatGPTは利用価値無し
Web検索して上位のサイトを流し読みするのとやっていることは大して変わらない
価値がないと判断する理由は以下の通り
個人的にはAIに聞くよりWeb検索する方が圧倒的に早い
Webページを下手に要約してしまうため、必要な情報が得られなくなる可能性が高い
「Node.jsはCommonJSを使っているから遅い」を「Node.jsは遅い」のように要約してしまう現象が見受けられた
参照したWebページに必要な情報が十分に書かれていない場合、ハルシネーション的回答をしてしまうことがある
「無かったら無いって言って」と指示しても守ってくれないことが多かった
4oだけでなく、reasoningモデルも試したい。有料だが…yosider.icon
o3すごい有能Summer498.icon
Mijikko.icon from 2025/05/03
背景情報
勉強する際の時短にAIを活用できないかをちょっと見ているところ
「勉強」とはここではプログラム関係の勉強のことを指している
つまり、Webで調べまくってもわかる内容が対象
AIに情報をまとめさせてはいるが、なんとなくしっくり来ていない
なんでしっくりこないのか、出力結果の問題点は何かを言語化して、プロンプトの改善を試みる
お題
とりあえず、自分が理解している内容を題材とする
理解していないと評価できないので
お題に含めたいこと
TypeScript関連
直近(過去2年間以内)で更新があるもの
Web上にまとまっているページが無く、複数ページを参照してまとめなおす必要があるもの
Web上を見ても直接書かれていることが少ないもの
多少の推論を要求するもの
経験や検証結果に基づかなければ説明できないもの等
お題の案
簡単そうなやつ
JavaScriptランタイムの比較
1. ランタイムの列挙
2. Node.js / Deno v2 / Bun の比較
パッケージマネージャーの比較
難しそうか無理なやつ
配列の繰り返し処理で最もパフォーマンスが高いもの
自分も知らんMijikko.icon
自分が説明文を書く時に意識していることを言語化してみる
概要を簡潔に箇条書きで記載する
詳細はリンク先を参照することで各自調べられるようにする
比較する場合は、主要な差を明確にする
同じ要素を比較に出さない
見出しを活用する
様々な手法がある場合は最も好ましい手法とその理由を明確にする
判断基準
1. 優れているかどうか
2. 使いやすいかどうか
3. 同等の場合は、最初に使った方がいいものを提示する
この場合、他の手法は省略せずに軽くだけ明示する
説明文では「なぜ」を常に明確にする
リンク先を見ればわかる場合は省略可能
可能な限り参考リンクを提示する
可能な限り一次資料を含める
一次資料とは別に、嘘が書かれていないと思われなおかつ専門知識が少ない人でも理解しやすいブログ記事なども提示する
ただし、文章が冗長になり記事の主目的から逸れる場合は上記のルールを破棄する
必要な内容を十分に含めたうえで、文章量は可能な限り小さくする
専門用語を理解している必要がある場合は、別の場所にまとめる
根拠に基づかない持論は可能な限り排除する
可能であれば結論を最初に持ってくる
検証結果
お題:JavaScriptランタイムの比較
LLM:ChatGPT GPT-4o Web検索オプション付き
普通に1行で要求した場合
https://chatgpt.com/share/6815053e-98a8-8012-ab82-62c23ab3c032
評価:
全体
いろいろ書かれているが、どこを参考にしたのかが明確になっていない
結論が先になくて読みづらい
🚀 パフォーマンス比較
バージョンや検証環境が一切書かれていない根拠不明の情報
🛠️ TypeScript対応
個人的にはtsxも使いやすいので推して欲しかった
一般論で書きました感がある(当たり前だけど)
もう少し簡潔に書ける
DenoとBunは組み込み対応で、Node.jsのみ非対応でも良い
Node.jsはTypeScriptを実行できないわけではない
型チェックができないのと一部構文に対応していないだけ
少し情報が古い気がする
🔐 セキュリティと設計思想
ここも完結に書ける
まあ、読み手が頭の中で解釈すればいい問題ではあるが
文章量のわりに中身が無さすぎる
「Denoのサンドボックス化とは?」というのがもう少し充実していればなーとは思うが、質問し返すか自分で調べればいい話
https://www.google.com/search?q=deno+サンドボックス
📦 パッケージ管理とエコシステム
import mapsのような専門用語の意味が一切書かれていない
これを読んだ人はもれなく自分で調べる羽目になる
設定ファイルの項目いる?
何故この項目が選択材料に含まれているのかがよくわからない
パッケージレジストリの対応状況とかimportの楽さとかを説いているのなら意味はあるが
何を主軸に比較しているのかがいまいちわからない
🎯 ユースケース別の選択
理由が一切書かれていない
理由が無いと、読み手の判断材料としては浅い情報となる
何故大規模アプリケーションに最適?
何故モダン?
何故最新技術を試したい場合に適している?
✅ まとめ
★評価は主観的かつ抽象的になりすぎるので表現方法としては非常に悪い
まとめは完結であるべきだが、その分より具体性のある内容にすべき
最後の文章でユースケース別のまとめがされているのは良い
が、その根拠が不明瞭なので総合的に見ると悪い
さらに詳しい比較や実際のベンチマーク結果については、以下の動画をご覧ください。
英語である点を除けばより詳しそうな情報が載っているのは良い
総評:
全体的に調査が浅いなーって感じ
最新のプログラマー記事を読んでいると解消できる問題ではある
Deep Research使えばいけるのかもしれないけれど、厳しい回数制限もしくは非常に高額な課金が必要なので微妙
でもざっくりとした特徴が書かれているので、深堀りの材料にはなるかもしれない
ただ内容が浅い上にスッカスカなので、後で深堀りするにしてももう少し情報が欲しいところではある
内容がスッカスカなところをわざわざ自分で調べに行くのやだな
自分で調べるならまとめてもらった意味が殆どない
上記の反省などを踏まえてプロンプトを工夫した場合(一回目)
上の評価内容や、自分が書く際に意識していることを可能な限り盛り込んでプロンプトを考えてみる
より勉強しやすい出力結果が出ればベスト
出力結果を見ても結局自分で調べ回らないといけないのであればBad
読む文章量が減らないと時短にならないので
むしろAIの文章を読む手間が増える分、より時間を浪費することになる
概要だけ出して貰う手もあるが、抜け漏れ古い情報等が怖いので、その場合は自分で徹底的に調べて最適な結論を出した方が良いと考える
調べまわる代わりにAIに聞きまくる?
中身スッカスカ問題がそれで解消するのであればそれでいい
検索ツールの代わりとしてAIを使うことは特に考えていない
Google検索でも必要な情報は大体出てくるので
AIよりGoogle検索の方がレスポンスが圧倒的に早いので
https://chatgpt.com/share/68151211-4f00-8012-b3b3-0f3267955fcf
だいぶすっきりした
https://gyazo.com/3559dc1a847a59993624847ee2039fed
???????
引用元のリンクにアクセスできないんだが
たまたまっぽい
プロンプトを工夫する(二回目)
https://chatgpt.com/share/68151a1d-cdbc-8012-8a00-9a70b1bd2f38
根拠の記載を必須化した
しかしながら、依然として根拠がない記載が見受けられる
Bunが早いっていうの、諸説あるんだよな
Bunが早い説を否定している記事もあるので、断言するぐらいならそれも引っ張ってきてほしかった
これみたいなやつ:BunはNodeより速いのか? Misskeyで検証 | gihyo.jp
プロンプトを工夫する(三回目)
https://chatgpt.com/share/6816247e-6358-8012-8a8c-5eae57383bc1
反例の記載も必須にした
ただ、反例になっていない感じがある
同じサイトばかり参照しているので、一度に参照できる量に限界があるのだろう
2回以上に回答を分けるやり方もあるかもしれないが、やり方を知らない
大量のWebサイトに基づく結論を出してほしかったが、仕様的に無理があるような気がした
LLMに複雑な要求をするとハルシネーションが起きやすくなる現象がここでも起きてる
Aのサイトの反例を別のBサイトから出してほしいのが意図した内容だったが、反例も全てAサイトから出しているように見える
無いところから無理やり反例を出すので、結果噓になりやすい
内容としてはまだ二回目の方がシンプルで良かった
回答を分けたほうがいい気がしたので、二回目に反例を追記させた。
https://chatgpt.com/share/68151a1d-cdbc-8012-8a00-9a70b1bd2f38
ところどころ出典がない記述があるな
これ以上調整するのしんどい…
Deep Researchに手を出す
どうせなのでGeminiにも調査させてみる
Gemini 2.0 Flash Deep Reseach
こいつだけDRつけるの不公平だけど
めちゃくちゃ時間がかかるのは仕方なし
プロンプトはChatGPT三回目と同様
リサーチ方針は既定のまま
https://g.co/gemini/share/d92e19b6cde4
ぱっと見深く調べないと出てこない内容が入ってていい感じに見える
ちゃんと読んでみた
自分の頭の中にある知識とほぼ相違ない
弱点: DenoのエコシステムはNode.jsと比較して小さいですが、成長しています 。Deno 2ではnpmの互換性が向上しましたが、既存のnpmパッケージとの互換性の問題がまだ存在する可能性があります 。
みたいに断言せずに懸念点混じりで伝えているのもいい感じ
ChatGPTのGPT-4oにもDeep Research使わせる
https://chatgpt.com/share/681631ad-c0c0-8012-97bc-4e04fed0354b
おっ、Bunが最速にならないというWebサイトについても触れてる
大量のサイトを参照している証左ではある
ただ、Geminiが204ソース(レポート未使用の参照も含めると257ソース)参照しているのに対して、ChatGPTは24ソース(検索総数は44ソース)しか参照していないのが非常に気になる
全体的にGeminiと比べて、重要な要点を抑えるよりは細部にばかり触れているように見える
引用しろって言ったの自分だからそれが悪かったのかもしれないが
参考にしたWebサイトが少なかったから書ける内容も少なくなってしまったように感じる
少ないサイトに書いてあることしか書けなかったので、そこまで重要ではない文章で水増しした感じがする
個人的にはGeminiの方がずっと読みやすく感じる
AIにどこまで要求するか
逆に、自分自身がどこまでカバーできるか
(書きかけ)
諦めること
過剰に要約させること
下手に結論を出させると、素人目戦での感想を出しかねない
判断材料を大量に提示させて、結論は自分で出すのが良さそう
参考元の自動ファクトチェック
これをさせるには結局大量のページを参照させるしかない気がする
通常モードで大量ページの参照は無理そう
「嘘ではないが参考元に記載されている問題点は回避可能」みたいなパターンもある
AIに参照元を要約させることで、回避可能かを判断するための背景情報が薄れてしまう
「Node.jsはCommonJSを使っているから遅い」->「Node.jsは遅い」みたいなの
ランタイムではなくモジュールシステムの遅さが原因なら、esbuild使うとかで回避できるよね?
理由が併記されていないやつは読み手側で判断して再質問するやり方が使える
嘘さえ書かれなければ文章内容を見るだけでどうにかなる説はある(が、上級者向け)
ファクトチェックをしないと手に入る情報の質が下がってしまうが、そこを許容できるかどうかは永遠の課題
Summer498.icon
AIに要約はさせないほうがいい。
むしろ要約すんなと口酸っぱく言う。いつも言う。メモリに深く刻み込む
カスタムプロンプトにいれると「そういう気分じゃない時」も変なフィルタがかかるので、今要約してほしくない気分だと伝える
これでもまだちょっと疑義がある返答になる