2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
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.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.12.04
いつも遅刻や自慢話…自分勝手な人にイラっとした時の切り返し 不平等な関係を打開する「相手の期待」を裏切る技
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
2024.12.03
職場の同僚にイライラ…ストレスを最小限に抑える方法 臨床心理士が語る、「いい人でいなきゃ」と自分を追い込むタイプへの処方箋
2024.12.05
「今日こそやろう」と決めたのに…自己嫌悪でイライラする日々を変えるには
PR | 2024.12.04
攻撃者はVPNを狙っている ゼロトラストならランサムウェア攻撃を防げる理由と仕組み