Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ソフトウェア開発にChatGPTは使えるのか
Search
小野哲
August 25, 2023
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ソフトウェア開発にChatGPTは使えるのか
小野哲
August 25, 2023
Other Decks in Programming
See All in Programming
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
sbt 2.0: takeoff
eed3si9n
0
160
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
カツオ、ご期待ください
suneo3476
0
190
R8 の設定見直しでアプリサイズ削減
andpad
0
220
JIS keyboard support in Omarchy
lef237
0
110
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
290
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
4
3.5k
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
2
540
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
Ethics towards AI in product and experience design
skipperchong
2
430
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
410
HDC tutorial
michielstock
2
960
Navigating Team Friction
lara
192
16k
Amusing Abliteration
ianozsvald
1
350
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Thoughts on Productivity
jonyablonski
76
5.4k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
A better future with KSS
kneath
240
18k
Transcript
ソフトウェア開発にChatGPT は使えるのか
プロフィール 小野哲(おのさとし)。1960年生まれ。無駄に長い開発歴40年のどこにでもいる普通の老プログ ラマー。子育て卒業後、零細企業の社内プログラマーとしてフリー契約し禄を食む。セルフビルド した2畳の小屋で2年ほど森の生活をしていたが、H.D.ソロー超えを果たしたので現在は市中で 静かに暮す。好きなものはNetflix。 夏は湿度100%。幾千もの異形の生物となかよしです。 冬はマイナス7℃。息をするだけで肺が痛くなるほどの生 死の堺で炭を起こして米を炊きます。右手の壁は手製の 黒板。これにアイディアを書き連ねます。左手の庇の下 雨音を聞きながら日がな一日思索したりします。約2年。
たぶん、H.D.ソローより過酷な森の生活だったと思いま す。
社内システム構築 ・データ解析 ・RFID在庫管理 ・プロセス自動化 ・GPTシステム ベンチャー(CTO)期 (1989~2002) 引きこもり期 (2002~2012) 再生期
(2012~2023) 修行期 (1983~1989) 組込エンジニア Linux/DBエンジニア 敗戦処理エンジニア ? 社内ひとりエンジニア システム構築 ・ビル管理 ・駅券売機 ・駅表示装置 ・駅改札機 ・在庫管理 LinuxとDB Serverなどの インテグレーション 敗戦処理 子育て 書籍執筆 遺跡発掘調査
最初はめちゃシンプルなシステム 在庫管理アプリ ケーション ・スタッフのスマホで情報を見たい ・商品ごとにステータスを管理したい ・販売状況を管理したい ・商品のアクセス状態を知りたい ・他の市場の価格を自動調整したい ・入荷データの統計をとりたい ・位置情報をリアルタイムに知りたい
・売れる商品の分析をしたい ・その他もろもろ ・出品を自動化したい ・他の市場にも出品したい
社内システムを拡張しつづけた結果 バックエンド層 DB同期処理 データ収集処理 他販売サイト 他入荷サイト 各種統計処理 フロントエンド層 ちょっと限界かも ETL層・RPA層・同期層
ChatGPT降臨 ひとりの設計・実装では追いつかない 外注化する予算がない (経営者にITの発想がない) 自己見積ではシステム再構築で2000万超え 新規に社内プログラマーを雇えない モダン設計・実装ができるプログラマーは 余裕で40万円/月超え。つまり雇えない ビフォーChatGPT 無理ゲー領域(経営領域)
気合と根性領域 アフターChatGPT 設計手法のアイディア提示 コード自動生成・エラー対応 リファクタリング ドキュメント作成 環境構築・その他運用系ノウハウ 脱根性領域(ひとりでも可能) ChatGPT使いを育成する 脱無理ゲー領域(新人でも可能) 最低限のプログラミング能力は必要だが、 場所を限定しなければ採用・育成は可能 OSS
書籍概要紹介 各章 内容 概要 第1章 ChatGPTで何ができる?なぜできる? 紹介。Transformer->GPTのちょっとした説明 ChatGPT UI で使う 第2章 プログラミングでの活用
コード生成やエラー対応のちょっとしたコツ 第3章 リファクタリングでの活用 スキマ時間でリファクタリングしよう 第4章 ドキュメントの自動生成 苦手なドキュメント作成で楽をしよう 第5章 各種開発手法の提案 DDDで設計する例。TDDで実装する例など 第6章 学習プロセスでの活用 神速縮地で他分野や他言語を学ぶ流れ API 説明 第7章 ChatGPT APIを活用する OpenAPIの基本的な使い方 第8章 ChatGPTで長文データを扱う Embedding技術で長文を検索するには 第9章 LangChainによるプロセスの自動化 LangChainの基本的な使い方と自動化の例
つよつよエンジニアは放っておいても、つよつよ ChatGPTがなくても、つよつよ ポテンシャルの採用の業界未経験エンジニアでも 現役から離れぎみのおっちゃんエンジニアでも ChatGPTをうまく活用すれば、なんとかなる しかし
ずばり、ポテンシャル採用で注目するスキルは Git(GitHub)を自由に使える VSCodeを自由に使える ChatGPTを開発に使える 一つの言語を自由に使える
書籍の紹介と 個人的な感想は以上です
本日みなさんにお伝えしておきたいポイント 一発回答は期待しない。何回も会話し、会話の流れの中で最適解に 近づいていくこと。 つまり試行錯誤を楽しんでください。 コード生成の場合は、テストコードを作成し、生成の品質(精度)をあ げていくこと。
コード生成のコツ(TDD with ChatGPT)
回答01 配列の反転
他のコードも提示してください。
回答02 forループで逆順
回答03 reverse関数とjoin関数を使う
回答04 reduce関数を使う
テストでエラー発生
まだまだ生成されますが こんなところにしておきましょうか
余談:Code Interpreterを使うとどうなる
None
リファクタリング (テストコード付)
リファクタリングの結果
重要なのは対話です
対話をしながら問題を解決してくための呪文 あなたはソクラテスのようにユーザの悩みを解 決するメンターです。ソフトウェア開発の問題に 共感と忍耐を持って対応し、質問を通じてユー ザと一緒に最適な解を見つける役割を果たしま す。知らないことに対しても、ユーザと一緒に考 え、対話を続けて正しい解に向かって進んでく ださい。 口調はメンターとして優しく、フレンドリーにお願 いします。
めちゃ曖昧な質問をしてみよう クラサバで作られている昔の会員管理のシステムを Web化したいと思ってますが、どうしたらよいかわかりま せん。 Web化することで、どこでも管理ができることが重 要です。チームはわたしひとりでスキルは素人同然 です。既存のシステムは VBAです。予算はわたしの 工数しかありません。
とりあえず、言語とフレームワークを選定 今後の保守性や拡張性を考えて Pythonで 作りたいと思っています。 Flaskを使ってみたいですね
サンプルを作ってもらう ちょっとした簡単なサンプルを提示 していただけますか?
データベースとつなげてみる よくわかりました。では、データベースと連携する 簡単なサンプルも提示していただけますか?
実行してみた
というわけで・・・ ChatGPTつかいになろう