気になった特許の話題 -Patent Topics Explorer-

気になった特許等の知的財産の話題やニュースをピックアップしていくブログです! This blog is picking up intriguing IP topics including patents, trade secrets etc. !

 

 

書評: 「ソフトウェア開発にChatGPTは使えるのか?」

 

初版で買って積み残しとなっていた書籍だったが、休み中に読破。

 

生成AIの利用法として、コーディングは本命の一つだと考えている。プロンプトエンジニアリングは限界があるし、結局自分のやりたい動きをさせたかったら最後はコーディングするしかない。

 

生成AIはこのコーディングのサポートという観点では心強いツールであり、この書籍を買ってみたのが経緯だ。

 

 

生成AIにコーディングさせるだけでなく、OpenAIのAPIを用いた活用法や、LnagChainなども簡単に触れられている。

 

 

openaiライブラリやlnagchainライブラリはアップデートが激しいので、バージョン管理に注意する必要があるが、コーディングの観点から生成AIを扱った面白い書籍だった。

 

 

実際にエラーが出たら生成AIにエラーメッセージを入れると、適切なコードが生成されていった。

 

 

(概要)

対話型人工知能ChatGPTの登場は衝撃でした。本書はインターネット草創期からソフトウェア開発に携わる筆者がプロの目線で、ChatGPTの限界と利用方法を探ります。一般ユーザーレベルでは、パワーポイントやワード、エクセルファイルの自動生成などがChatGPTで簡単にできてしまいますが、ソフトウェア開発でその威力はすさまじく、プロが現場で使用する、UMLのクラス図やシーケンス図などソフトウェア設計にかかわるドキュメントをいとも簡単に生成します。データベースのER図もあっという間に出力します。プログラムコードの誤りも指摘し、さらによりよいコードにリファクタリングまでしてくれます。まさに人知を超えた存在です。でもこれは正しいコードで内容なのでしょうか。筆者の豊富な開発経験でChatGPTを多面的に試し、その有用性をつまびらかにしていきます。道具としてAIを活用するか、それともただ驚くだけか、本書は積極的に人工知能を活用するための手引きになるでしょう。


(こんな方におすすめ)

・生成AIのChatGPTを仕事に生かしたいプログラマ、エンジニア


(目次)

第1章 ChatGPT で何ができる?なぜできる?

 1-1 ChatGPTで何ができる?

 1-2 なぜそんなことができるのか?

第2章 プログラミングでの活用

 2-1 自動コード作成

 2-2 エラー対策

 2-3 クラス化について

 2-4 状態遷移表でコードを生成

 2-5 デザインパターンを提案してもらう

 2-6 アルゴリズムを提案してもらう

 2-7 段階的積み上げ手法

 2-8 コードの変換

 2-9 付記:テストケースの注意点

第3章 リファクタリングでの活用

 3-1 隙間時間でお気軽リファクタリング

 3-2 コメントとドキュメンテーション

 3-3 セキュリティの脆弱性チェック

 3-4 例外処理と論理完全性の改善

第4章 ドキュメントの自動生成

 4-1 PowerPointのスライドを自動作成

 4-2 Wordドキュメントの自動作成

 4-3 Excelと連携しドキュメントを自動作成

 4-4 diagramsを使ってクラウド図を作成

 4-5 dbdiagram.ioでER図を作成する

第5章 各種開発手法の提案

 5-1 DDDによる設計と実装

 5-2 TDDによるテストからの実装

 5-3 ChatGPTとソフトウェア開発のアプローチ

第6章 学習プロセスでの活用

 6-1 分野別の学習

 6-2 プログラミング言語の学習

 6-3 ChatGPTは学習を加速する

第7章 ChatGPT API を活用する

 7-1 最も基本的な使い方

 7-2 要約をしながら文脈をつなげていく

 7-3 社内データベースに日本語で問い合わせる

 7-4 社内データベースと連携してユーザーサポートをする

第8章 ChatGPT で長文データを扱う

 8-1 LlmaIndexで長文データを扱う

 8-2 LangChainで長文データを扱う

第9章 LangChain によるプロセス自動化

 9-1 LangChainの仕組みとは

 9-2 Chainsでタスクをつなげる

 9-3 Chainsによるチャットボットの例

 9-4 Agentによるコードの実行

 9-5 Agentによる判断・実行・プロセスの自動化

 9-6 AgentによるChatボットの最終形