生成AIとプログラミング:夜鍋ヨナさんが語る、LLMとシステム開発の未来!
詳細情報
発表のハイライト
- 生成AI(特にLLM)の進化が凄まじく、プログラミング支援ツールやコーディング自動化に役立つ時代が到来!
- 夜鍋ヨナさんが実際に生成AIと組んでシステム開発に挑戦した経験を共有!
- 生成AIを活用したシステム開発における課題と解決策、そして未来への展望を語ります!
生成AIの進化とプログラミングの可能性
生成AI、特に大規模言語モデル(LLM)の進化は目覚ましく、私たちの生活や働き方に大きな変化をもたらしつつあります。夜鍋ヨナさんは、その進化のスピードに驚嘆し、生成AIをプログラミングに活用する可能性に着目しました。
様々な生成AIサービスが登場!
夜鍋ヨナさんは、ChatGPT、Claude、Perplexity、Geminiなど、様々な生成AIサービスを試用し、それぞれの特性を理解しています。LLMとして、GPT-3.5、GPT-4、Claude 3.5、Gemini-1.5-proなど、多様なモデルが登場し、それぞれに特徴があります。例えば、Geminiは1Mコンテキストウィンドウで大量のテキストを入力できたり、ChatGPTはCode Interpreterで様々な処理をしてくれるなど、用途によって使い分けが重要です。
コーディング支援ツールも進化!
生成AIは、プログラミングの支援ツールとしても進化しています。GitHub CopilotやCursor Editor、Continue.devなどのツールが登場し、コードの自動生成や提案など、開発者の負担を軽減する役割を果たしています。中には、すでに作成されたコードをベースに、タブキーを連打するだけでコードが完成するようなものもあるそうです。想像をはるかに超えたスピードで、プログラミングの世界に変化が訪れていますね!
生成AIとシステム開発:挑戦と発見
夜鍋ヨナさんは、生成AIと協力してシステムを開発するプロジェクトに挑戦しました。その経験から、生成AIを活用する際に直面する課題や、それを克服するためのヒントを共有してくれました。
開発したシステム:arXiv to Notion
夜鍋ヨナさんが開発に挑戦したのは、「arXiv to Notion」というシステムです。これは、arXiv(学術論文のオンラインリポジトリ)から論文を取得し、Geminiで要約、落合フォーマットに従ってNotionにまとめるシステムです。
開発フロー:LLMと連携してコードを作成!
システム開発には、ClaudeとGeminiという2つのLLMを連携させて活用しました。まず、Claudeでコードのモジュール設計を行い、Geminiでコードの記述と修正を行いました。まさに、LLMと共同で開発を進めた形になります。
開発で苦労した点:AIの限界と人間との協調
開発を通して、AIにはまだ克服できない課題があることも実感したそうです。例えば、AIはデバッグをしてくれないので、結局は人間が責任を持って動作確認を行う必要があります。また、AIが理解できない要件は、曖昧な実装となってしまうため、しっかりとした要件定義が求められます。人間とAIの協調が、より良いシステム開発には欠かせないことがわかります。
生成AI時代のプログラミング:未来への展望
夜鍋ヨナさんは、生成AIがプログラミングの未来を大きく変える可能性を感じています。
AIと協調する開発スタイル
AIは、コードの自動生成や提案など、開発者の負担を軽減する強力なツールとなりえます。人間は、より高度な設計や創造的な作業に集中できるようになり、AIとの連携によって、より効率的で革新的な開発が可能になるでしょう。
要件定義の重要性
一方で、AIは人間のように思考や発想をすることはできません。そのため、AIに的確な指示を与えるためには、詳細で正確な要件定義が不可欠です。AIを活用した開発においては、要件定義のスキルがより一層重要になってくるでしょう。
AI時代のプログラミング学習
AIがプログラミングの支援をしてくれる時代においても、プログラミングの基礎を学ぶことは重要です。AIが作り出すコードを理解し、修正したり、より高度なシステムを開発したりするためには、プログラミングの基礎知識が不可欠となります。
まとめ
生成AIは、プログラミングの世界に大きな変革をもたらしつつあります。AIを活用することで、開発効率が向上し、より複雑なシステム開発が可能になるでしょう。しかし、AIの限界を理解し、人間とAIの協調関係を築くことが重要です。夜鍋ヨナさんの発表は、生成AIの進化と、その可能性、そして課題を理解する上で、大変貴重なものでした。