あらすじ
【ChatGPTをソフトウェア開発で活用しよう!】
ChatGPTに一番相性がいいのは、ソフトウェア開発かもしれません。コンピュータのことはコンピュータに聞くのがいい!
「ソフトウェア開発にChatGPTは使えるのか?」エンジニアならば誰しも考える疑問です。本書は、ベテラン技術者が真正面からChatGPTにあたり、その性能をさまざまな点から検証しいきます。Officeなどのドキュメントの自動生成だけでなく、ソフトウェア設計やテスト、リファクタリングで活用など目からうろこの活用術を解説。
単に質問に答える人工知能ではありません。開発の仲間としてChatGPTを使う方法を紹介します。
■こんな方におすすめ
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章 長文をChatGPTで扱うコツ
9-1 LangChainの仕組みとは
9-2 Chainsでタスクをつなげる
9-3 Chainsによるチャットボットの例
9-4 Agentによるコードの実行
9-5 Agentによる判断・実行・プロセスの自動化
9-6 AgentによるChatボットの最終形
■著者プロフィール
小野哲:ソフトウェア開発歴40年を超えるプロ技術者。技術評論社では『逆算式SQL教科書』『最新図解 データベースのすべて』『3ステップで学ぶOracle入門』など書籍がある。そのほかに『現場で使えるSQL』(翔泳社)など。ウェブアプリからデータベースまで幅広い知見と技術を持ち、最近ではPythonでアプリ開発を請け負う。
感情タグBEST3
Posted by ブクログ
非常に良かった。
普段自分で使っているときは自分で作ったコードのデバッグやリファクタリング、
もしくは分からない部分の解説をお願いする程度だったので、パワポの出力をする方法や、DBとの連携、LangChainの活用などのより深堀した活用法はとても参考になった。
既にAIを組み込んだチャットボットなどが登場しているのは知っていたが、身近では全く企業での導入の話を聞かないため、筆者のように「現場での活用」の話が出てきたのは興味深かった。
LangChainを使ってChatGPTを組み込んだアプリを構築、公開することで人的経費はかなり節約できるだろう。ただし日本人視点での安定的なサービスレベルを実装するにはかなりのプロンプトスキルや適切なチューニングスキルが求められるため、普及は時間がかかりそうな予感を感じた。
個人でアプリを作れても、直接的にお金を稼げるアプリとするには十分なビジネス視点や、公開者のネームバリューなどが必要に思う。
ChatGPT×X(何か)、のXで良さそうなものが思いつかないのがなんとも歯がゆい。
誰でも思いつきそうなもの、例えば不動産屋や弁護士事務所などの顧客応答用チャットボットなどは既にアーリーアダプターが作ってしまっているだろう。
まずは技術的にここまで可能、ということを念頭に置いたうえで、コラボできるXに気付けるアンテナを立てておきたい。
また、実際に手を動かしてみて、その経験をもとに予算と看板を持つ企業の現場で活用するチャンスを見つけるという方法も考えられる。
情報漏洩の問題と、セキュリティの問題がハードルとしてあるため、それらを効果的に防げるベストプラクティスや基準のようなものが出てくればさらに社会実装は早まるように思うが、いかんせん技術発展のペースが速すぎるので、常にリスクと隣り合わせで使っていく必要があるだろう。
最後に、この著者の教養の高さが伺えてとても楽しく読めた。
高度な開発手法に舌を巻くと同時に、哲学的な視点もまたとても面白い。
レヴィ・ストロース、ソクラテス、デカルト、鴨長明からジェイク・ロバーツまで。
「先輩つよつよエンジニアが常識のない後輩をなじるように説明するのではなく」といったプロンプト例も冗談が効いててめちゃワロタ。
Posted by ブクログ
この本には、以下のようなChatGPT の使い方が載っている。
プログラミング支援
ドキュメント生成
学習プロセスでの活用
ChatGPT APIの使い方
LlmaIndex, LangChain の使い方
プログラマーとして
どんなことができるか知るには良い分量の内容だった。
Posted by ブクログ
GitHub Copilotなんかも登場してプログラマーが一から十までコードを書かなくてもよくなりつつある時代。でも自分はその恩恵を十分に享受できていないモヤモヤが以前からあった。ChatGPTは間違いなく革命的にスゴいけど俺の仕事は別に楽になってないよなぁみたいな。さすがに「ChatGPTに要件定義書を食わせて商業システムに耐えうる品質のコードを書いてもらおう!」はまだ難しいわけだが、テストコードやリファクタリングといった辺りから開発効率向上に寄与する使い方が多数紹介されていて非常に参考になった。特に弁証法的アプローチや「同じ仕様で他のコードを生成してください」というプロンプトは目から鱗。