2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
GPTを使って機能開発した内容とその裏側(全1記事)
リンクをコピー
記事をブックマーク
岡田大輔氏:機能開発を「ChatGPT」を使ってやってみたので、そこからわかったことを共有させていただければなと思います。
最初に自己紹介です。岡田大輔といいます。リンクアンドモチベーションで働いていて、今4年目です。アプリのエンジニアをしています。ふだんはRailsとVueでWebアプリを作っているのですが、今回は、機能開発のところで(ChatGPTを)いろいろ触ってみました。
作っているプロダクトは、「ストレッチクラウド」というものです。これは、人材の育成を支援するBtoB SaaSのプロダクトです。
弊社は、ChatGPTを使っていろいろな機能をバンバン開発しようという波を作っていて、(スライドを示して)このような感じでベータ版としてお客さまに提供し始めています。
ストレッチクラウドで機能を開発していく中で、これまで開発してきたものはOpenAIのAPIを叩いていたのですが、「これからはどんどんGPTを使って開発をしていきそうだな」とか「大手のお客さまもこれからはどんどん使っていくかもしれないな」など、セキュリティ的な意味や「プライベートなネットワークにしたいね」といった文脈からも、Azureを選択肢として持てるようにしておきたいという意見が出てきたので、じゃあ、やってみようと思いました。
あと「新しい開発をするならチャレンジしたいよね」という思いもあって、今回はやってみました。
今日は、Azure移行の時にやったことと、GPTを使ったアプリケーションの機能開発をする時にわかったことをお話ししたいなと思っています。
もともとのOpenAI APIを叩くと言っていたほうのアーキテクチャは、(スライドを示して)こんな感じで作っています。
お客さまからのリクエストをWebSocketでつないで、「API Gateway」を経由して「Lambda」で認証したり、AIの機能の1つ目や2つ目を使ったり、個々のLambda上でOpenAI APIとやり取りをして、その結果を返すといった構成でやっていました。
今回は、この一番後ろのところだけをAzureに移行するという感じでやっていきました。前段は変わりなく、後半を変えていきました。
将来的には、先ほど言っていたネットワークをプライベートにして、セキュリティをより高められるアーキテクチャにしようかなと考えているところです。(スライドを示して)これはイメージ図で、「こんな感じでしていくかもしれないよ」という感じです。
移行をして、実際に動かしてみました。(スライドを示して)OpenAIと書いているほうがOpenAI APIの動きで、右側が「Azure OpenAI Service」に対してリクエストをしているものです。プロンプトは簡単に「自己紹介をしてください」というだけのものです。
少し中身が変わるだけかなと勝手に思っていたのですが、最初のリクエストまではOpenAIのほうが速くて、Azureは、初期のレスポンスがちょっと遅いけど、その後バーッと返ってくる感じです。
動作自体も少し違っていて、これはやってみてわかったので、よかったなと思ったことです。UXもちょっと変わっちゃうかもしれないので、レスポンスやプロンプトの中身だけじゃなく、こういう観点でもチューニングをしていく必要がありそうだなというのが、わかってきました。
実装自体は「LangChain」を使ってやっていて、「LangChainはすごいよね」というだけなんですが。importするクラスをちょっと変えて、環境変数を与えて、deployment_nameやmodel_nameを与えるだけでほとんど動くようになったので、移行自体は簡単かなと思います。
先ほど言ったような、ちょっとした違いが節々にあると思うので、そこを注意しながらやっていきたいなと思っています。
みなさんもハマったことがあるかもしれませんが、LangChainを使ってやっていて、急にある日突然動かなくなっちゃう、昨日まで動いていたものが動かなくなっちゃうという状況に出くわしました。
そのissueが立っているかなと思って見にいったら立っていて、しかもそれが2日後にはクローズされている。当然といえば当然ですが、変化が激しいなと感じました。
Webアプリの開発でデザインを決めて、プロンプトを考えて、といった順番でいろいろ開発をしていたのですが、そこの行き来がめちゃくちゃ多くなっちゃったりすることもありました。
これからは、デザイナーの人がプロンプトに染み出していったり、プロンプトを設計したり実装したりしていたエンジニアがUX側に染み出していったり、そういう相互的な動きが、どんどん必要になってきそうだなと思っています。
TemperatureやTop_p以外にも、プロンプト自体も変数になってきたりするので、ここの開発でもエンジニアリングしていくことがすごく大事だなと思っています。
今回は、プレイグラウンドとかも使って開発していて、いろいろな人を巻き込んでエンジニアリングをすることができたのがよかったなと思っているところです。
これまでの開発プロセスだと、「エンジニアが手を動かして作るんだ」みたいなところを、いろいろな人に助けを仰ぎながらスピードやクオリティアップを図れるのではないかというのが、今回の機能開発での気づきです。
ざっとまとめると、前半パートのAzure移行では、LangChainはすごいなと(笑)、アホっぽい感想ですが、触っていて思いました。
後半でいうと、ChatGPTは、既存業務のプロセスも変えてくれるパワーを持っているなというのをすごく実感しました。これまでは「試すところは、エンジニアしかできなかったよね?」といったことも、いろいろな人ができるようになるし、価値向上のためのPDCAを回す人がどんどん増えていくのではないかなと思っています。
個人的には、これまではあまり機能開発でChatGPTに触ることがなかったのですが、この変化が大きい中で開発できてすごく楽しかったです。
最後に、弊社は、採用やテックブログをやっているので、ご興味がある方がいらっしゃいましたら、ぜひ読んでいただけると幸いです。
以上で発表を終わります。ありがとうございました。
(会場拍手)
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05