2023-03-27 29:46

ChatGPTで会社の開発環境を壊してしまいました。


反省しています。


/// 【おたより】番組の感想や話してほしいお題や質問など! https://forms.gle/sqzWk2Yb79cMvFGg8

////【Twitter】 https://twitter.com/TorioItツイートは #ITトリオ で!

/// BGM: MusMus https://musmus.main.jp


See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

00:08
ITトリオの日常は、東京や名古屋でエンジニアとして働く3人が集まって雑談ミーティングする番組です。
IT界隈のリアルや共感をメインにお届けしております。
今回は、ChatGPTを使って会社のデブ環境をぶっ壊した話について、反省をしたいと思います。よろしくお願いします。
反省。
何やったの?
マジ行き恥なんですけど、その通りなんですよ。
ChatGPT便利だから、最近意識して使うようにしてるんですけど、その結果会社のデブ環境のデータベースからデータを吹き飛ばしたっていうね。
あらー。
どうなったらそうなるの?全然想像がつかない。
めっちゃ気になる。
多分よくあるというか、話が始まりだと思うんだけど、デブ環境って結構変なデータがたまるじゃないですか。
開発中の中途半端なデータがあったりして。
そういうデータが僕の会社でもたまってて、データ分析基盤にデータを送るための処理がそのせいでエラーが起きてたんですよ。
なんかデブ環境のデータベースに意図しない方のデータがあったんで、データ転送できずにエラーみたいな。
はいはいはい。
デブ環境だし、修正するスクリプト書いて走らさなくても、なんか手動でデータ変更できたらいいかなと思ったんですよね、私は。
あーはーはー。
あのー、そうですね、ちょっと軽率な性格なもので。
わかるよ、気持ち。
わかるよ。
よく動くと、多分動くと思うからリリースしようぜとか言っちゃうタイプの人間なんで、私。
あるね、名言ありますね。
はい、反省します。
まあね、だからそれでデブ環境のデータベースのデータ直接いじろうと思ったわけなんですよ、僕。
で、ただなんかデータ直接いじろうって思って見てみたら、何か数千件ぐらいのデータだったんですよね。
あーはーはー。
だからそれ一個一個手動でやるのは完全に非現実的なんで、データベースの機能というか、使ってるツールのクライアントの機能というか、そういうので対応しようと思ったんですよ。
うんうんうん。
で、だから軽い処理は割とよく書くんだけど、そのピンポイントでそういう、なんですかね、特定のフィールド、データベースのフィールドが通常と違う型の時、
もともと入っていたデータから、正しい型と一致するデータを作成して、それで書くフィールドを上書きするみたいなものを、なんかパッと思いつかなくて、
03:14
うんうんうん。
僕が使ってるデータベースクライアントでやる方法が。
なのでそこで、その時がちょうどChatGPTのGPT-4がリリースされた時だったから、ちょうどいい、これはGPT-4に聞きながらやってみようと思って聞いてたんですよ。
はいはいはい。
で、なんかおおむね何回かやり取りをして、僕の目的とする処理が行える操作を教えてもらったんですね。
うんうんうん。
で、まぁ一応心配だったんで、各庁員について軽く調べて、あぁまぁ大丈夫そうだなぁと思って、軽く調べて大丈夫そうだなぁと思っちゃって実行したんですよね。
ほうほうほう。
実行して、そのまま退勤したんですけど。
あら、退勤したのね。
なんか1時間後くらいに他の社員の人が、デブのデータ壊れてんね、みたいなことをスラックで教えてもらって。
で、ちょっと見てみたら僕がちょうどいじったくらいの時間から壊れてて、あぁすいません、僕ですね。
でまぁ結果、データベースはデブのバックアップを復旧することによって治ったんだけど、
まぁとりあえず壊しちゃったんですね。
で、原因としては、僕その特定のフィールドだけアップデートしようと思ったんですけど、
僕が実行した処理っていうのは特定のフィールドだけアップデートするんじゃなくて、
アップデートしたデータ群でデータベースの1テーブル全部上書きするみたいな処理になっちゃってて。
だからまぁなんか、例えば10個のテーブルに10件データがあったとして、その後の2件だけピンポイントでアップデートしてっていうのをやろうと思ったら、
10件データがあるテーブルを2件だけのデータが残る形にしてしまったっていう、そういうことを伝えますかね、これ。
だからまぁ何か数万数十万ぐらいあるテーブルのデータが、僕の処理によって7000件、8000件とかそれぐらいしかなくなっちゃったっていう。
あるはず。
あるはずのデータがないからいろんなところでエラー置きまくりっていう。
あ、その1つのテーブルに対してってことか。
そう、1つのテーブルに対して、幸いね。
1つのテーブルだけです、影響あったのは。
ただそれが結構まぁサービスのメインのデータだったんで。
06:01
あぁ。
まぁいろんなところ参照されてるから。
そうですそうです。
そうしたらテーブルがなくなってエラーが出ちゃうってことだよね。
そういうことです。
ちなみにちなみにさ、何か原因として、ちゃんとGPTに質問した内容が重要な部分が欠けていたのか、
それとも、ちゃんと正しく質問できていたけど、
ちょっとGPTの返ってくる返答が欠けていたのかで言うと、どっちなの?
まぁどっちでもなくて、嘘つかれたっていう。
嘘つかれた?
特定のフィールドだけアップデートすると思ってた処理が、
パッと見、何かこれテーブルのデータを何か全部削除して浮気するような行動になってないか心配だなと思ったんで、
それを軽く調べたらチャットGPTに聞いたんですよ。
はいはいはい。
チャットGPTに聞いたら、はい大丈夫ですって言われたんですよ。
じゃあチャットGPTが。
そう。
違うことを言って、それをちょっとね、信用しちゃいましたね。
なるほどね。
まぁよくチャットGPT平気で嘘つくっていうのはよく言われてるし、
使ってればわかると思うんだけど、もろにそれをうどみにしてしまったっていうね。
うどみにした。
これまさにひろゆきさんの名言の、嘘を嘘で見抜ける人でないとウンチャラコンチャラってやつだねこれ。
初めて聞きました。
わかんないこれ。
初めて聞きました。
あんま聞いたことないか。
そんなにひろゆきを見ていないっていうところもあるんですけど私は。
インターネットを利用するときの心構え的な話をひろゆきさんが言ってたんだけど。
大事だね。
いやそうだね、チャットGPTね、なんか地味にええ感じで嘘ついてくるよね。
なんかそれっぽいこと言うよね本当に。
そう、なんか私も正直言うと最近業務でチャットGPTと一緒に開発してるようなもん。
くらいに結構使っちゃってるんだけど。
よくコードを書いてもらうんですよ。
特にインプットアウトプットを渡して、タイプスクリプトを作って、使ってこの処理書いてみたいな。
もう完全なる手抜きなんですけど。
でもなんか、使ってほしくないロジックとかあるじゃんね。
例えば配列の破壊的変更はしないでねとかさ。
型だと、タイプスクリプトだと型アサーションあんまりしないでほしいよとかさ。
それをさ、後々注意するんですよ。
これを使わないで書いてくださいみたいな。
09:02
使うんですよね。
はい、使わないで書きましたって。
で、使ってくるんですよ。
だからちょっと限界はあるんだろうね。
まあそうじゃない?あれ結局ね、学習してるデータだからね。
思考があるわけじゃないからね。
でもそこら辺はなんか割と、プロンプトエンジニアリングとか最近言われてるけど、
前提として何を置くかで結構収録変わってくるみたいだから。
複数回やったら変わってきたりもするし、
言い方変えて質問の仕方とか変えてみるとね、変えてきたりはするけど。
多分めちゃくちゃ複雑な肩だったから、
気持ちはわかるよって思いながら。
なるほど、なるほど。
ちょっとあれですよね、ChatGPTというか、
AI系ツールって多分今後絶対使った方がいいと思うし、
使わない人より使う人の方がアウトプットの量が全然違うから、
使わざるを得ないと思うんだけど。
一旦こうChatGPTの理想的な使い方とかをちょっと考えたいなと思って。
ただ単に考えずに使ってたら、
割と事故が僕のように起きると思うんですよね。
きっと本番環境で僕みたいなやり返しをやる人が、
きっと近い将来出てくると僕は信じているんだけど、
ただ単に、すげーって思いながら使うんじゃなくて、
割とどう使ったらいいかっていうのを一旦整理して考えたいなとか、
ちょっとディスカッションしてみたいなって思ったんですよね。
はい、ありがとうございます。
はい、では次の質問に行きたいと思います。
一旦整理して考えたいなとか、
ちょっとディスカッションしてみたいなって思ったんですよね。
確かに使い方はいろいろあるかなと思うけど、
個人的にはまだちょっと、
コード聞くのとかはちょっと怖いなと思って聞いてなくて、
知らん情報とかの当たりをつけるために聞くみたいなことが多くて、
例えば、この言語ちょっとよくわかんないんだけど、
他の言語との違いを教えてとか、
最初の初心者の導入みたいなところを聞いたりしてるって感じで、
あとパッケージとか調べるときとか、
こういうことやりたいんだけど、
こういうおすすめのパッケージ知らないみたいな話とか聞いて、
情報だけ集めて、
情報というか名前だね、名前知りたいから名前だけ集めて、
その名前ちょっと一個一個見てて、
どれがいいかなとか比較したりとか、
っていう感じで、
最初の当たりつけるのに使ったりするかな、自分は。
12:01
うん、当たりをつける。
なるほどね。
当たりつけるときに嘘つかれるパターンもあって、
それがむずいなと思って。
そのままちょっとトジビリじゃなければいいのかもしれないけど、
結構おすすめのYouTuberとか、
そっち聞くと、
それらしい答え返してくれるんだけど、
し、チャンネル名返してくれるんだけど、
なんか全然存在しないチャンネル名返してくるとか、
あって。
なるほど。
本当に自分が学びたいと思った特定領域についての知識がゼロの状態で、
それをちょっとGPTに聞くと、
最初のつかみの情報さえも、
自分で正しいかどうか判断できないから、
なんかちょっとリスクはあるなと思って。
まあね。
確かにね。
話半分に聞いて、
Googleって感じかな、さらにそこから今の自分の中で。
でも確かにね、当たりをつけるはいいかなって思ってて、
特に当たりをつけるときに知りたい情報ってあるじゃんね。
例えば、ライブラリーを知りたいですって。
○○ができて、○○ができないとか、
そういう条件みたいな部分を知りたいときに、
そのプラグインの特徴を、
この条件をリストアップしてくださいみたいに聞くと、
結構詳しく答えてくれて、
確かに確かに。
いいよ。
だから私がチャットGPTに質問するときは、
条件っていうのを下にリストアップすることが多い。
条件は○○と○○と○○で、
こういうところを教えてほしいですって言うと、
なんか多弁じゃん、あいつ。
うん。
しゃべりたがるじゃん。
めちゃくちゃ食べるよね。
そう。
だからめちゃくちゃ教えてくれる。
ただ、それは正しいかは後で称号する必要はあるけど、
最初にもらうデータとしては、
検索で一個一個探すより、
一覧性があって、
知りたい情報に一貫性があるから、
ありがたく思っている。
あと出力してほしい形式を決めておくっていうのは、
意外とよい。
なるほどね、確かに。
そうそう、まさにプロットエンジニアの、
いい解放になりそうだね、そういう話とかは。
結構そういうことをやってる人がね、
多いからね、調べてみると。
多いね。
確かに確かに。
こういう形式で出力してくださいって。
それちょっと書こうかな、まとめ記事みたいなの。
そういうのね、やりたいんだよね。
ノートに結構もう合いそうな気がする。
15:01
結構ね、やってるよね、
感情を持たせるやつとか、
チャットGPT感情を持たせるみたいなやつとか、
めっちゃ面白かった。
ノートのフカツさん?
そうだね、フカツさん気がする。
結構ね、研究されてるよね。
ね。
あの人もすごい有名な人だもんね。
うん。
あとね、地味にいいのはね、
雑談相手になってくれるのが、地味に。
暇なときやると楽しいんだよね。
でも確かにね、その気持ちはね、若干わかるよ。
なんかちょっと楽しいよね、普通にGoogleより。
会話してる感覚があってさ。
多分ね、俺思うんだけど、
高齢社会とかで話し合いでいない人とかに、
そのうち多分結構役に立つツールになるんじゃないかなと思ってて。
それこそ側だけ何か作ってもらって、
ロボットとかわかんないけどね。
今ってさ、画像も作れるじゃないの?
AIのさ、
本物の人に近い画像というか、
人の写真みたいな感じの。
だからああいうのでもう、
話し合いが自分の好みの、
推しとか何でもいいんだけど、
写真とかを生成して、
そこをさらに音声とかも、
今、ひろゆきの音声とか出てたりするから、
ああいうのも自分の好きな人の音声とかにして、
話し合いでなってくれるってなったら、
もう本当に結構それだけ売れるんじゃないかなと思ったりして。
確かにね。
なんか虚しい感じはするけど、
そういうことが当たり前になってくる世界もありえるよね。
そうそうそうそう。
GPT-5とかGPT-6ぐらいで、
どういう世界生きてるかもしれない。
まあ知りませんが。
パーソナライズしてくるかもしれない。
本当にマジで朝起きたら、
そういう感じで話しかけてきてみたいな、
世界も全然ありえるかなとか思ったりしたね。
恋人以上に恋人みたいな。
そうそうそうそう。
テンション上がらん?
虚しいな。
本当だって朝から。
朝から推しとかと話せると思ったらテンション上がらん。
AIだけど。
推しじゃないんだもん。
そう。
それを推しとして思えるかどうかは人によると思う。
そうだね。
ただ目覚まし時計とか声優のボイスの目覚まし時計とか売れたりしてるわけじゃんね。
そういうのとあんま変わんないんじゃね?と思ったりしてるんだけどね。
ツールとしてそういうのは売れるかもなんだけど、
18:00
ツールじゃない道具以上の役割を求められる存在になった時に、
それが受け入れられるかどうかは結構二分される気がする。
そうなんだ。
これちょっと異端なのかもしれないね。
実際にそれが出てきてから考えたらいいかもしれない。
結構あれだよね。
ペット型ロボットとかも売れてるもんね。
2、30万するやつとかね。
そういう感じで登場したら意外とみんな受け入れるとかは結構あるかもしれない。
東京行った時にさ、ペッパー君カフェってのがあってさ、知ってるかな?
接客をペッパーが配してくれるのよ。
10何台いたかな?ペッパー君が。
ちょっと異質だなと思った。面白いなと思ったんだけど。
ペッパー君が注文とか受け付けてくれて、
動きとかもってくれてみたいな感じでね。
面白いカフェだね。
ガストとかでも配膳をネコ型ロボットがやってくれるけど、
それかわいいかわいいって言われるからね。
そうしたら案外そういうもんなのかもしれない。
そういう部分は変えられるけどさ、
推しとか大事な人とかはさ、私は変えられないなって思ってて。
もちろん僕は変えられないとは思ってるけどね。
変えられるとは思ってないよ、もちろん。変えられないとは思ってるけどね。
結構私は推しがいるタイプで、推しの声を聞いて寝たいようなタイプだけど、
AIが喋ってくれた音声は、
でも推しが巣で出てきた言葉じゃないから、
生物じゃないのよ。わかる?
確かにそうだね。
そう思っちゃうから、
あの人が生の声で発した生の気持ちを知りたいのよ。
そういうちょっとね、古臭い考えをしてる人は、
ダメかもしれん。
いや、わかるわかる。それはすぐわかる。
だって俺も大谷翔平の声で起きたいかって言われたら、そうじゃないもんね。
スポーツやってる姿がかっこいいのであって、
リアルタイムで躍動してる姿がかっこいいのであって、
それはやっぱ別だと思うから、それはそうだなって思う。
ツールとして、あくまでツールとして自分は考えて、
本人は本人でめちゃくちゃ好きなんだけど、
また別校としてそういうのあったら面白いんじゃないかなぐらいの立ち位置として思ってるって感じ。
なるほどね。
チャットGPTの話戻っていいですか?
すみません、色々脱線しましたけど。
チャットGPTの使い方ってところで。
21:01
なんか僕色々使ってみて逆に、逆にというか、
正解がないものを聞くときと、
逆に自分が知識あるものについて聞くのが割といい使い方なんじゃないかなとか最近考えてて。
正解がないものを聞くっていうのは割とプランプトエンジニアリングしてる人たちの中でツイートとか回ってると思うんだけど、
なんかディスカッションをするとかブレインストーミングをするためのツールとして結構有用みたいなのは見てて確かにそうだなと思って。
確かに確かに。
チャットGPT自体から変なアイデアを出してもらう、それ自体もそうだけど、
それを受けて自分が何を思うかっていうのを引き出す。結構いろんなものが一人で考えているよりは引き出されるんで。
確かにね。
それをタイミングにツールとして結構有用だなみたいなふうに思ったりしてるのと。
いいね。ラバーダックエンジニアのマジの格勝場やんで。
近いしね。
なるほどね。
それと似たような役割は結構かなり高性能なツールとして使えるかなと思って。
あともう一つは自分が知識を持っているものを聞くっていうのは、
チャットGPTのアウトプットに対してレビューができる範囲のアウトプットを求めるのはすごいいけるかなと思って。
イメージ的には、例えばリアクトのプロフェッショナルな人だったら、
もちろんリアクトのコードを書いてってお願いしてチャットGPTに出してもらったものって、
いいかどうかって一瞬で判断できるじゃないですか。
ラックエンドの人はばっかり聞いたらそうだと思うんですけど、
そこに結構今のところ確実な使い道あるかなと思って。
チャットGPTが嘘をついたらそれは確実に見抜けるし、
あとは聞き方によっては自分が書くよりも早くて大量のコードのアウトプットをしてくれると思うんですよね。
その使い方の場合。
聞き方を工夫しなきゃいけないんだけど。
その使い方だったら100%の、今まで通り自分の見える範囲100%への責任は負えるかなと思って、
それは確実に使えそうだなっていう気がしてて。
確かに。
私ね、結構そういう使い方してる気がする。
自分でも書こうと思えば書けるけど、一旦チャットGPTに聞いてみて、
なんか補助として使える部分は使って、
24:02
で、チャットGPTは自分ではないから自分が一番求めてるアンサーは返してくれないから、
そこを自分っぽくカスタマイズして使っていくみたいな。
そんな使い方はしている。
だから確かに知見ない部分を聞くよりかは、
知見ある部分を改めてちょっと補助ツールとして聞くっていうのは有用だなって。
なんか使ってみて実感してる。
うん、僕も同じだから。
割と自分が書ける部分のコードを逆にチャットGPTに書いてもらうとか、
最近よくやってたりするんですよね。
リアクトのコンポーネント書いたりとか。
結構分かってても、
一から書くのはちょっと細かいところは覚えてないから、
調べながらいつも書くなみたいな。
例えばリアクトで言ったら、
何かな、なんかHTMLのインプットの値をバリデーションしつつ、
綺麗に格納するみたいな、そんなコード。
でも全然書けるんだけど、
なんとなく最初書くときによっこらせとしなきゃいけないようなものとか、
GitHub Actions設定ファイルを書かなきゃっていうときに、
細々とした設定とか、
ああいうのを書けばいいんだなっていうのはいつもだいたい分かってるんだけど、
いつも細かいとこはだいたい忘れてるからだいたい調べるみたいな。
そういう系のやつは聞いたらすごい楽だなっていう気がしてるし、
聞いた結果が正しいかどうかはパッと判断できるから安心だなっていう気がしておるという。
確かに確かに。
AI系のツールを使うから学びの時間がいらなくなるというよりかは、
今まで通り学びの時間は必要なんだけど、
アウトプットするときの量とスピードがそのAI系ツールによって段違いになるみたいなのは、
割と安心感があるというか。
そんな気がする。
分かる。
どこまで行っても判断するのは最終的には人間だからさ。
判断ができるかできないかって知識がないとできないからさ。
デビュー可能じゃないとダメだよね。
ツイッター見てもデータ分析のためのSQLコード書いてくれたみたいな。
これすごいみたいなツイートを見たんだけど、
そういうのをツイートしてる人ってだいたいもともとそういうデータ分析のSQL書いたことがあって、
それがすごいかどうかを判断できる人であって。
そうだね。
それと同じような質問をしてアウトプット帰ってきたとしても、
それを使ってる人が田舎の小さい企業のいきなりIT担当になっちゃった人がそのアウトプットを使うのと、
27:00
もともと知識持ってる人がそのアウトプットを使うのと結構その後の展開が全然違うなと思って。
分かる分かる。
確かに確かに。
楽、楽できることに間違いはないんだけど、
アウトプットが楽なだけであって、
インプットは楽しようとしちゃいけないなっていうのをデル環境を壊して痛感した。
あくまで補助ツールです。
チャットGPTが。
そうですね。今のところは。
そうだね。
まあこれが発展してったら、
人間が判断するよりも、
AIツールに判断させた方が正しいじゃんっていう未来が来るのかもしれないけども。
どうなんだろうね。だって誰も正解かどうか判定できなくなるわけでしょ、それ判断。
あと新しいものは見ないよあいつらには。
まだ、まだそう私たちのデータを食ってるだけだから。
そうだね、なんかインターネットのすべてを知って、
インターネットに広がっている記事をすべて知っているやつみたいな立ち位置で、
なんか新しいライブラリの使い方とかを聞いてもね、
それはあんまり答えられない。
想像は人間がしなきゃいけない気がする。
やっぱ未来語れる人がいいんすかね、今後はやっぱり。
未来語ってこう。かっけー。
うちらが世界の未来を作っていこう。
おー、熱い。いいね。
気持ち満ち溢れた。
輝かしい未来に向かって頑張ろうぜってことで、今回の会話終わりにしますわ。
ありがとうございます。
ITトリオの日常は番組へのお便りを募集しています。
番組の感想や質問など、放送の概要欄にあるリンクから送ってくれると嬉しいです。
また、Twitterで感想をつぶやく場合は、
ハッシュタグITトリオでツイートしてくれると助かります。
それではまた来週お会いしましょう。ありがとうございました。
ありがとうございました。
29:46

コメント

スクロール