AIで勉強をブーストする
学ぶ本がない言語やフレームワークがある
新しい言語やフレームワークを学ぶ上で、公式ドキュメントや本、Udemyなどの動画教材は有用ですがマイナーな言語だといい教材が存在しないこともあります。
AIを使えば言語Aで書いたコードを言語Bに変換しやすくなりましたが、同様に特定言語やフレームワークで書かれた本を別の言語にポートするのも容易になったように感じました。
Rails GuideやDjangoのドキュメントは比較的内容が充実していますし、これらをポートすれば任意の言語の技術書が生成できるように思えます。ChatGPTに技術書を書かせてみるというのが今回の趣旨です。
作った本たち
作った本たちはZennにまとめています。
ChatGPTのo1で目次を考えて1章ごとに o3-mini-highで章ごとに文章を書かせています。
対話形式の方が頭に残りやすいのでゆっくり動画の形式をとっています。AI VTuber化しても面白いかもしれないですね。
よかったところ
自分で技術書を書く、詳しい人に頼むより圧倒的速度で技術書が上がってくるのはいいところですね。
対話形式を固定化できるので硬めの文体の技術書が頭に入らないという人でも記憶に定着しやすいように思います。AIで生成した文章は誰かの書いた技術書のコピペを含んでしまう可能性があり、そのまま販売するのはやらないですが、キャラクターの会話形式にすることでコード部分以外は一定のオリジナリティを担保できるというのもあります。
元々は他の言語の技術書をポートする目的ではじめましたが、ポートなんかしなくても1. 目次の生成 と 2. 章の文章の執筆 を分けることでAIが本をかなりの精度と分量で書いてくれるのは意外でした。
悪かったところ
一方で何もわかっていない人が丸ごと書いてと指示しても書き方が古くなってしまう部分はあります。
フロントエンドならTypeScriptよりJavaScriptで書こうとしますし、非推奨になったCreate React Appを使い続けます。iOSやAndroidではSwiftUI、Jetpack ComposeでUIを書くのが最新のトレンドですが、指示しないと古いUIフレームワークを使う傾向にあります。
このあたりはAIが尤度最大というかネット上で情報量多いところで書こうとするので変化の激しい技術書とは相性が悪い部分ですね。一方で勘所がわかっている人が指示すれば結構最近のトレンドまで追ってくれるのでAI脅威的な部分はあります。
また、コードブロックを多めに書くよう指示しないと口頭だけで教えている感じというか脚本の文章だけでは理解困難な部分はありました。
AIツール全般そうですが、指示してもフォーマット統一しきれない部分は少し限界がありますね。余分な部分の削除やフォーマット調整は人間がおこなっています。
所感
pixivだとAI生成作品かどうかを設定で明示的にできますが、学習データのノイズ回避や自力で書いている人のモチベ確保のためにプラットフォームは何らかのタグづけはできた方がいいかもしれないですね。現状ではChatGPTで書いたのタグはつけています。
一方でAIで生成したものをリバイスしていい技術書が増えるなら個人的にはハッピーなので明確な分類はもうできないかもなとも思ったりします。