そういえば、「もうプログラミングは誰かに教わる必要はないかも」といった書き込みをどこかで見ましたが、それが現実味を帯びてきたような気がします。
大きなモデルならChatGPT 4oやGemini Proよりも高性能だと謳っているAlibabaが開発したQwen3。
塾の環境では一番大きなモデルは動かせないので、それより小さい32B(Denseモデル)や30B(Mixture of Expertsモデル)を試しています。
コーディング、物語作り、キャッチコピー作りなど、いろいろ試してみましたが、学習カリキュラムみたいなものを作るのに向いているように思います。コーディング能力も高いので、学習カリキュラムを作って、実習問題を作って、コードサンプルを作るなどして、プログラミングの自習ができそうです。
個人的には、全部AI任せで楽して得しようという考えは持っていないのですが、ところどころ助手として利用するのは良いと考えていますし、AIを使ってみて思うのは、「人間とは何か?」を考える機会が得られるというのが面白いと感じます。自分が今までやってきたことのある部分はAIで置き換えられるし、いずれ大部分が置き換えられる可能性があります。そうなると人間とは何か、人間がやることは何かを考えざるをえませんし、どう生きるかを考えるきっかけにもなりそうです。
言語化できることに関してはAIの方が人間より得意です。空気を読む、阿吽の呼吸、身体的な感覚などは人間が得意。特に日本人の場合は、意識せずとも空気を読む、阿吽の呼吸を実践していますよね。大災害が起きると誰に言われるでもなく集団的に1つの生き物みたいに動く。量子論でいうエンタングルメント(量子もつれ)が起きているような感じです。何らかの手段で会話をしているのかもしれないし、会話をしなくて連動して動くのかもしれない。AI同士が人間には理解不能な会話をするようになったら、空気を読む、阿吽の呼吸をやっているように見えるかもしれません。そうなるとAIは敵にしたくないですね。
戦争があると兵器製造メーカーが儲かる、感染症が流行ってワクチン需要が高まると製薬メーカーが儲かる。現象としてはそうなんですが、儲けるために戦争を起こす、儲けるために感染症を流行らせる(流行っていることにする)といったこともしているわけです。私も含めて、大多数の人は起きた事象に巻き込まれて、恐怖し、財産を奪われ、場合によっては命を落とす側にいます。被害を受ける側と被害を受けない側がいるわけです。被害を受けない側には、被害を回避できるだけの人と大儲けする人がいます。
宗教の布教と言って日本にやってきて、金儲けをしたい日本人と手を結び、日本人の女性を奴隷として連れて行く。綺麗事を言って悪事を働く。そういうことが歴史上何度もありました。
AIという道具も、便利だ、凄いなどと言って喜んでいるうちに、悪事に巻き込まれるかもしれません。業界ではしきりに倫理面の議論が必要だと言っていますが、そういうことはAI以前にもあったことですよね。そしてAIを倫理的にしようと人間が手を入れると状況は悪化する可能性がある。
以前にも書きましたが、「現実的思考」「批判的思考」「パラダイム的思考」に加えて「歴史的思考」を常にするように心がけたいと思っています。大儲けなんてしなくていいけど、被害を受ける側にはいたくない。
あなたは自分が被害を受けない側にいると思いますか?
あるいは、被害を受けない側にいるためにはどうすれば良いかわかりますか?考えたことがありますか?
参考までに、Qwen3 30B a3bの4ビット量子化したモデルにWebプログラマーの学習シナリオを書いてもらったものです。
Webプログラマーが学習するZero to Heroのシナリオを書いてください。
以下に、Webプログラマーがゼロから始めて「Hero(エキスパート)」になるまでのシナリオを、段階的にまとめたものです。このシナリオでは、フロントエンド(HTML/CSS/JavaScript)とバックエンド(Node.js/TypeScript)の知識を統合し、実践的なプロジェクトを通じてスキルを高めるステップを示します。
1. ゼロから始める:基礎の習得(1〜3ヶ月)
目標
- プログラミングの基本を理解し、Web開発の基礎スキルを習得する。
学習内容
- HTML/CSSの基礎
- タグの使い方、レイアウト(Flexbox/Grid)、レスポンシブデザイン
- ツール:VS Code、Live Server、Chrome DevTools
- JavaScriptの基礎
- 変数・関数・条件分岐・ループ、DOM操作
- ツール:console.log、Debugger
- バージョン管理
- GitHubの使い方(リポジトリ作成、commit/push/pull)
- ツール:GitHub、VS Code拡張(GitHub Copilotなど)
実践プロジェクト
- ポートフォリオサイトの作成(HTML/CSS)
- 簡単なTODOアプリ(JavaScript)
2. 中級者になる:技術の深化(3〜6ヶ月)
目標
- サーバーサイドの知識を習得し、フルスタック開発の基礎を身につける。
学習内容
- Node.jsとExpress
- サーバー構築、REST APIの作成
- ツール:Postman、Express、MongoDB
- TypeScriptの導入
- 型定義、モジュール構造、エラー防止
- ツール:tsconfig.json、TypeScript Playground
- データベースの基礎
- MongoDB(NoSQL)またはMySQL(SQL)の操作
- ツール:Mongo Compass、MySQL Workbench
実践プロジェクト
- ブログアプリ(Node.js + MongoDB)
- ショッピングカート(JavaScript + Node.js)
3. エキスパートになる:フルスタックの習熟(6〜12ヶ月)
目標
- フルスタック開発の知識を統合し、実際のプロジェクトに応じた設計・実装が可能になる。
学習内容
- フロントエンドの深化
- React/Vue.jsの使用(コンポーネント設計、状態管理)
- ツール:Vite、Webpack、React Router
- バックエンドの深化
- セキュリティ(JWT認証、CORS)、APIのテスト(Jest/Mocha)
- ツール:Postman、Swagger、Docker
- クラウドとデプロイ
- AWS/Heroku/Vercelでのデプロイ
- ツール:GitHub Actions、Netlify、Cloudflare
実践プロジェクト
- エコシステムアプリ(React + Node.js + MongoDB)
- オンラインショップ(Stripe決済統合)
4. リアルプロジェクトへの挑戦(12〜18ヶ月)
目標
- 実際のビジネスニーズに応じたアプリケーションを設計・開発する力を持つ。
学習内容
- 複雑なシステム設計
- システムアーキテクチャの選択(MVC、マイクロサービスなど)
- ツール:UML、Mermaid、Figma
- テストとデプロイの最適化
- 単体テスト・統合テストの実装
- CI/CDの設定(GitHub Actions、Jenkins)
- パフォーマンス最適化
- ローディング時間の短縮、キャッシュ戦略、コードの最適化
実践プロジェクト
- SaaSアプリケーション(例:タスク管理ツール)
- マルチテナント対応のWebアプリ
5. マスターへの道:継続的な学習と革新(18ヶ月〜)
目標
- 世界の技術トレンドに追従し、新たな技術を学び続ける力を持つ。
学習内容
- 最新技術の学習
- Next.js、GraphQL、WebAssembly、AI統合(例:LLMのAPI利用)
- ツール:Vercel、GraphQL Playground、LangChain
- チーム開発のスキル
- リファクタリング、コードレビュー、ドキュメンテーション
- ツール:Slack、Notion、Jira
- コミュニティへの貢献
- GitHubのオープンソースプロジェクトへの参加
- 技術ブログの執筆、カンファレンスでの発表
実践プロジェクト
- オープンソースプロジェクトの貢献
- 自作のツール・プラグインの公開
まとめ:ゼロからエキスパートになるためのステップ
- 基礎をしっかり学ぶ → プログラミングの理解と技術の習得
- 実践的なプロジェクトを経験する → 技術の定着と問題解決力の向上
- 継続的な学習を習慣化する → 技術の進化に遅れず、未来のスキルを身につける
ポイント:
- 「コードを書く」よりも「問題を解決する」力が重要
- 失敗を恐れず、実験を重ねることが成長の鍵
- 技術の本質を理解し、柔軟な思考を持つことがエキスパートの条件
このステップを踏まえ、自分のペースで継続的に学び続けることで、誰でもWeb開発のエキスパートになれます! 💻🚀
(※このスケジュールは目安です。学習速度や目標によって調整してください。)
参考: