tag:blogger.com,1999:blog-15855247335781541492024-03-13T13:05:37.922+09:00横井利和 のGeneXusブログツールが全ての問題を解決してくれるわけではない。
でも、ツールは本来人がやらなくても良い作業を効率的に行ってくれる。
そして、人は人にしかできない事により注力すべき。
つまり、それがクリエイティビティ(創造性)。
システム開発におけるクリエイティビティを高めるお手伝いをしています。横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.comBlogger323125tag:blogger.com,1999:blog-1585524733578154149.post-13126004172486886582024-01-04T09:40:00.001+09:002024-01-04T09:40:57.882+09:002024 : 新年のご挨拶<p>新年が明けました。今年は元旦から能登半島地震、2日には航空機の事故と、心痛む事が立て続けに起きてしまいました。被災された方々にはお見舞いを申し上げると共に、地震・事故で亡くなった方には心よりお悔やみ申し上げます。</p><p>まだ救出を待つ方や、避難生活をされている方が大勢居る状況ですが、自分が出来る事を行って行きたいと思います。</p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYlPEoNsXpmBh80y9mIiMeHEraDtghD7TTs0GEVEqpQaHkaXc5Sog2053LI8ua2bDLCtEKOaWCQqGieq6g1BcnsqZiv_YyjcZRoc9GcQJVhH0H0R3H7nGemrRzGwtGwGpwgLEudMs0bepuO6dbLcUkaCreNg71-XUTuhVriRGRqRHzprsri-8mBITzAihg/s4032/IMG_6751.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYlPEoNsXpmBh80y9mIiMeHEraDtghD7TTs0GEVEqpQaHkaXc5Sog2053LI8ua2bDLCtEKOaWCQqGieq6g1BcnsqZiv_YyjcZRoc9GcQJVhH0H0R3H7nGemrRzGwtGwGpwgLEudMs0bepuO6dbLcUkaCreNg71-XUTuhVriRGRqRHzprsri-8mBITzAihg/w300-h400/IMG_6751.jpg" title="2024年初日の出" width="300" /></a></div><div style="text-align: center;">2024年初日の出(小金井市の野川沿いにて)</div> <p></p><p>本年もよろしくお願いいたします。</p><p><br /></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-50263851161484724072023-12-31T12:00:00.006+09:002024-01-04T09:41:38.433+09:002023年の振り返り<p>2023年も残すところあと一日になりました。</p><p>年々、時間の経過が早く感じられますが、コロナ禍明けの今年は特に早く感じられました。そんな今年の振り返りです。</p><p>・Generative AIの普及</p><p> 今年一番のトピックはなんと言ってもGenerative AIでしょう。今更説明する必要も無いくらい、ChatGPTの出現は驚きでしたし、瞬く間に普及、そしてWindows Copilotを始めとする一般製品にも組み込まれていきました。このままでは人の仕事が無くなるとか、楽して仕事が出来る。みたいな事も言われましたが、逆にプロンプトエンジニアといった新しい考え方・テクニックも出てきましたが、でもその本質は「相手に仕事の指示を的確に判りやすく伝える」という「人としてのコミュニケーション技術」だったというのも、皮肉な感じがしました。</p><p>・リアルイベント開催の復活</p><p> コロナ禍が明けたと実感できるのは、今までオンラインで開催されていたイベントがリアル開催されるようになり、久しぶりに大勢の集まりに参加したり、フェイスtoフェイスで会話が出来るなど、元の世界が戻ってきた喜びがありました。</p><p>・GX30 : GeneXusインターナショナルミーティング</p><p> イベントといえば、GeneXusインターナショナルミーティングもリアル開催となりました。私も久しぶりにウルグアイに渡航し、参加してきました。目玉としては、りそな銀行・NTTデータソフィアの方々も一緒にイベントに参加していただき、講演も行いました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihQ-BIpeqvXAmI4iTjo9rQVc8WcdBCI9RZGu0ZW2VUxM3uL4ycHcsOVlfrJzMHc8gnF46qYBuN_-2q3JR1VyF5yWFdcuJDaxD-wlu26-z0qyYL7n2jKzjq4dxtpwAVM2Ym3a1QE6Sn25JbcPvaHcF-Q35GFOMLaUlpbcxcHMatjNLGxkhH6B5qbJR5_QcE/s4032/IMG_6057.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihQ-BIpeqvXAmI4iTjo9rQVc8WcdBCI9RZGu0ZW2VUxM3uL4ycHcsOVlfrJzMHc8gnF46qYBuN_-2q3JR1VyF5yWFdcuJDaxD-wlu26-z0qyYL7n2jKzjq4dxtpwAVM2Ym3a1QE6Sn25JbcPvaHcF-Q35GFOMLaUlpbcxcHMatjNLGxkhH6B5qbJR5_QcE/w640-h480/IMG_6057.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB4-7nbTuF1y1FUloHOky6hTmIP_Yba8PbaJc4yDNbdRxDjP89ROFGiNcACclnGIz49lEfARUWWNRzRQjHUq9tcoopJbKmLzFLZuacXRFN8cr05c39ZnSwjnysJlZl-UQ0K-_etylflG4Abqeq_kPPv-rpoOQsXpLBoxyDKem2w4YVSjGnWKlJYiwQzY7S/s1024/3385512f-e583-4404-ab2a-20d47d910b54.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1024" data-original-width="768" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB4-7nbTuF1y1FUloHOky6hTmIP_Yba8PbaJc4yDNbdRxDjP89ROFGiNcACclnGIz49lEfARUWWNRzRQjHUq9tcoopJbKmLzFLZuacXRFN8cr05c39ZnSwjnysJlZl-UQ0K-_etylflG4Abqeq_kPPv-rpoOQsXpLBoxyDKem2w4YVSjGnWKlJYiwQzY7S/w480-h640/3385512f-e583-4404-ab2a-20d47d910b54.JPG" width="480" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKxUzvOjwuXkz2cVP-TAZRJ-DftFOV_zxScMpKsJVI1K4BktmmNyCbXMfUZw6c07Dirgh63NlyQvsq5c4NNRt-vkX5AuTfixEA7ifFCZ542WwTYLD4W1IoytnpFMtZiFsWQb2rXJ4yaPAN-c9E_t_QyWA5rrMUxa9WEf7PaJAV6NLvZXLh3l9Gka3qIRTe/s2048/IMG_6047.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKxUzvOjwuXkz2cVP-TAZRJ-DftFOV_zxScMpKsJVI1K4BktmmNyCbXMfUZw6c07Dirgh63NlyQvsq5c4NNRt-vkX5AuTfixEA7ifFCZ542WwTYLD4W1IoytnpFMtZiFsWQb2rXJ4yaPAN-c9E_t_QyWA5rrMUxa9WEf7PaJAV6NLvZXLh3l9Gka3qIRTe/w640-h480/IMG_6047.JPG" width="640" /></a></div><br /><p><br /></p><p>2024年はどんな年になるでしょうか。私は世界が平和になるように願ってやみません。</p><p>皆さんにとって良い一年になりますように。</p><p><br /></p><p><br /></p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-89556894895667461862023-12-11T18:54:00.005+09:002023-12-11T18:54:48.941+09:004年ぶりリアル開催のGeneXusインターナショナルミーティング : GX 30に参加して<p> みなさん、こんにちは。暫くぶりの投稿です。</p><p>2023年11月28日から3日間、ウルグアイにてGeneXusインターナショナルミーティング GX 30が開催されました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.genexus.com/en/meetings/meeting2023" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="992" data-original-width="1684" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbh1s0HUBLYcGGnewW2TYHqCs2TBmyk9OU0FiTSEmJ0f92ErgXavkNef_CG_t_lTXnF3d0zqtz0dsoO50Qzj9mHdYeUZ1ztG9BQNy3BjC2vP5CFcDZpB21idBx3j9RHsOhARNKAOiNF_DadVFBd_SEycXkwWbpZktG7U2D8OVkVcec5CfvO8hwwlPQT-r7/w640-h378/unnamed%20(1).jpg" width="640" /></a></div><p><br /></p><p>前回が2019年になるので4年ぶりのリアル開催でした。本当に久しぶりに世界中から集まった面々に会えてとても懐かしく、嬉しく思いました。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhdLoYvEtCsxIvk1C9qFmBoPpS0pGJyiWPxKizdoGQL7hxus3xm_VQ5n_zop95WCSg_ACUlhTTPkh1r_LyUJsgv6RbTVVNsNwiPcv0ztkBXEXdQTZhF2DsT7NnbOw1ntihNrQtVvYN8fOqgfoClVijcm2EzSFh04KXttf3gxUTQ5MZlGQUrQ61zmCaSr0kB" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1636" data-original-width="2392" height="438" src="https://blogger.googleusercontent.com/img/a/AVvXsEhdLoYvEtCsxIvk1C9qFmBoPpS0pGJyiWPxKizdoGQL7hxus3xm_VQ5n_zop95WCSg_ACUlhTTPkh1r_LyUJsgv6RbTVVNsNwiPcv0ztkBXEXdQTZhF2DsT7NnbOw1ntihNrQtVvYN8fOqgfoClVijcm2EzSFh04KXttf3gxUTQ5MZlGQUrQ61zmCaSr0kB" width="640" /></a></div><p style="text-align: center;">オープニングキーノートスピーチをするニコラス・ホダールCEO</p><p><br /></p><p>さて、イベントを通じてのレポートを幾つか。</p><p>イベントの参加人数は少なめでした。以前はメインホール(BallRoom)が一杯で立ち見で溢れるほどでしたが、今回は空席もチラホラ。GeneXus社の人に聞いたら、オンライン参加者が多いとの事。イベント参加もパンデミック後の新様式でした</p><p>GeneXus 社の講演ではやはりAI関連が目立っていました。GeneXus Next と、GeneXus Enterprise AI の二つです。それぞれをざっくり説明します。</p><p>・GeneXus Next は以前の投稿でも紹介しましたが、Webベースのノーコード開発ツールです。自然言語で記述した業務要件をAIが解析し、トランザクションオブジェクトを定義、WorkWithPlusパターンとデザインシステムを適用する事でメンテナンスのUIまで自動生成してくれます。「業務要件を記述」というと、どのレベルまで書くとどんな内容まで実装してくれるの?と気になる所ですが、今時点では</p><p>・トランザクションストラクチャの出力</p><p>・ビジネスプロセスダイアグラムの出力</p><p>でした。これも機能的には追加されていくものと思われます。</p><p>既存のGeneXusとの関係が気になりますが、講演の中では「ノーコードでモデリング」と言っていましたので、GeneXus を置き換えるものではなく、要件定義時のモデリングツール的な使い方をイメージしているのではないでしょうか?また、Nextで実装した技術をGeneXusにも実装していくと言っていましたので、AI機能の実験場であるのかもしれません。</p><p>あとはマルチプラットフォーム IDE という言い方も(Web版とは別に)していました。こちらはVS Code のプラグインで提供されるのかもしれません。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhQ_mqPgmfUWoGsBlKYWf5O-lTaWZmDgxXWWg5svJtC_oTQ1E7lv_yyByPf4jE4O8cUSrM_G6aVjRyYYJfmOzx4C_Ee3aHrsbwlX_L7oz8rjrrXvhG_nw0DrNAJAFXgdNcYu4JQpcxXik0ltH52z5oMQ-6yrm6_eZNKrC-0dBaJvfRv4pkWFRNjBRehOoB5" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1727" data-original-width="2491" height="444" src="https://blogger.googleusercontent.com/img/a/AVvXsEhQ_mqPgmfUWoGsBlKYWf5O-lTaWZmDgxXWWg5svJtC_oTQ1E7lv_yyByPf4jE4O8cUSrM_G6aVjRyYYJfmOzx4C_Ee3aHrsbwlX_L7oz8rjrrXvhG_nw0DrNAJAFXgdNcYu4JQpcxXik0ltH52z5oMQ-6yrm6_eZNKrC-0dBaJvfRv4pkWFRNjBRehOoB5=w640-h444" width="640" /></a></div><br /><br /><p></p><p>・GeneXus Enterprise AI は、LLMに対するコネクタ製品との事。自分で開発したアプリ(ナレッジベース)から、Enterprise AI のインターフェース経由でLLMに接続できます。なぜアプリから直接LLMに接続しないのか?いというと、一つは接続先となるLLMは固定ではなくサポートしているものであれば(OpenAI、GoogleBird、etc)共通のインターフェースで接続できます。もう一つは、Enterprise tAIにはエンベディングが含まれているとの事で、いわゆるベクトルデータベースを使ってLLMに対する情報付加が出来るようになります。</p><p>既に<a href="https://wiki.genexus.com/commwiki/wiki?1755,Wiki+Home," target="_blank">GeneXus Wiki</a> はGeneXus Enterprise AIを使用しているバージョンにアップデートされています。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjPLgGH50wp7535GbgX2Fs7nlb30Hdn1Un-ZDO2SKJhssy85nrRD2t5Uq71y0ZGrEeZEtcYFjiBNdbQdu7qfrZqAeILyq1RolqT4XEGexx1g_HSkaE9YndXYlxAiWHZMRDAqpCD76yPs80kFqzF0glXPPQ1ryc6kGGCXzufTRaiucnGqWKu3lnwHZf8bE0T" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="369" data-original-width="771" height="306" src="https://blogger.googleusercontent.com/img/a/AVvXsEjPLgGH50wp7535GbgX2Fs7nlb30Hdn1Un-ZDO2SKJhssy85nrRD2t5Uq71y0ZGrEeZEtcYFjiBNdbQdu7qfrZqAeILyq1RolqT4XEGexx1g_HSkaE9YndXYlxAiWHZMRDAqpCD76yPs80kFqzF0glXPPQ1ryc6kGGCXzufTRaiucnGqWKu3lnwHZf8bE0T=w640-h306" width="640" /></a></div><br /><br /><p></p><p>AI 系の講演で全般的に共通していたのが、コンセプチュアルな説明が多く、具体的なデモが少なかったです。これは今時点ではテクニカルプレビューの意味合いが強く、具体的な価格やライセンス体系も含めた製品としての出荷は来年以降になるからと思われます。</p><p>(具体的な情報は何もないので、この記事を見たからといって、ジェネクサス・ジャパンへ問い合わせるのはお控えください)</p><p><br /></p><p>AI の次にGeneXus社が力を入れていたのがSuperApp/Mini App でした。これはネイティブモバイルジェネレーター(スマホアプリ)の新機能になるのですが、中国のWeChat、日本ではLineやPayPayをイメージしてもらうと判りやすいです。SuperAppがいわゆる親アプリ(プラットフォームアプリ)で、MiniAppが抜き差し可能な子アプリになります。</p><p>またスーパーアップにはプラットフォーマーとしての決済インターフェイスが用意されているので、eコマース的なミニアプリからスーパアプリの決済を使う事も出来ます。デモではイタオ銀行のスーパーアプリ上で、カフェや映画のチケットを購入できるミニアプリが動作していました。</p><p>そして、MiniAppを管理するアプリがMini App センターです。ミニアプリのアップロード、申請、承認、公開といった、アプリストアとしてのワークフローを備えた運用支援ツールになっています。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh5xebZhgpkphUy5FvJLegR6wrBgNdRrEvVJup7_dRZWwssZA1M7e4Z92G1QlTgi4g81EmzqHTtovJgWzMZsbgPhS8AQDxm2GJOmqSVW3Svua2A8h5IIW_7u-lNuHoWuEfKO53ql08m2Z-Qt9QVZWqVKJN0-O77CF2EykRlF1qFTmgFr7IyaF3PcaFSrED5" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="841" data-original-width="1498" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEh5xebZhgpkphUy5FvJLegR6wrBgNdRrEvVJup7_dRZWwssZA1M7e4Z92G1QlTgi4g81EmzqHTtovJgWzMZsbgPhS8AQDxm2GJOmqSVW3Svua2A8h5IIW_7u-lNuHoWuEfKO53ql08m2Z-Qt9QVZWqVKJN0-O77CF2EykRlF1qFTmgFr7IyaF3PcaFSrED5=w640-h360" width="640" /></a></div><br /><br /><p></p><p>この3つの構成でエコシステムを構築する事ができます。(もちろん、ビジネスモデル・スキームは必要ですが)</p><p>ちなみに、独自のミニアプリストアで公開するミニアプリですが、Apple app store 、Google Play store の審査は必要ないのか?とGeneXus社の担当者に聞いてみたところ、それは問題ないとの事でした。コロナ過中にウルグアイではGeneXus社がコロナ対応アプリをいち早くリリースしていましたが、その頃にApple、Google各社に問い合わせていて、問題ないと回答をもらっているそうです。</p><p>スーパーアプリに関しては既存のスクラッチアプリにミニアップレンダーというスーパーアップ用のインターフェースを組み込む方法(いわゆるマイグレーション)と、GeneXusで一から開発する方法の二種類を用意しているようです。これにより、速やかな市場展開が出来ます。</p><p>という、ことで簡単にと言いながら結構長くなってしまいましたが、4年ぶりのGXインターナショナルミーティングのレポートを終わります。</p><p>それぞれ詳細な情報を入手したら記事にしようと思います。</p><p>では。</p><div><br /></div>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0ウルグアイ モンテビデオ-34.9055016 -56.1851147-77.782343969969247 -126.4976147 7.9713407699692382 14.1273853tag:blogger.com,1999:blog-1585524733578154149.post-64100279876609615212023-07-25T18:00:00.014+09:002023-07-25T19:01:22.564+09:00ChatGPT Plugin : 他のプラグインはどうなっているのか?<p> 前回、ベクトルデータベース検索を使ったChatGPT Pluginを作ってみましたが、思ったようには動作しませんでした。</p><p>そこで今回は、他のChatGPT Pluginがどういう動作になっているのか? 検証したいと思います。検証といっても、普通にPluginを使うだけです。前回のブログを見て貰うと判りますが、Pluginを実行した時の挙動(APIに対するリクエストデータとレスポンスデータ)は簡単に見る事が出来るますので、どういう呼び出し方をしていて、どういうデータが返ってくるかを確認できればAPIの仕様が判るという訳です。</p><h3 style="text-align: left;">1.メルカリ Plugin</h3><p>こちらはつい先日公開されたメルカリのプラグインです。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiPewbNSPvJ0xd_45gyQE6ROqQUSwvebB_kKJrDagsq4d_LV4hKyrej5m6hGZXX2ZbGAqJ1rEZE2Gc1F1m3zEVZLGTk8ijm0bsWhTi4xOvMAGuyyPnxZPJk4z8YoRiuqEd_5SIxsNiuJ6RrvFB6V0CS7q5wBYFQo77zv0XhfqfPtnMtRjxYTgKuprJunigV" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1131" data-original-width="817" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEiPewbNSPvJ0xd_45gyQE6ROqQUSwvebB_kKJrDagsq4d_LV4hKyrej5m6hGZXX2ZbGAqJ1rEZE2Gc1F1m3zEVZLGTk8ijm0bsWhTi4xOvMAGuyyPnxZPJk4z8YoRiuqEd_5SIxsNiuJ6RrvFB6V0CS7q5wBYFQo77zv0XhfqfPtnMtRjxYTgKuprJunigV=w461-h640" width="461" /></a></div><br />ブラグインの挙動はこうなっていました。<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiVAJPWlCCtUhE8t5b7UHHwg8O2slUh1lZWo0J2hmo5rbA6FxBjdfn1y9uT4ZWjy5uik5yunbIN3eJrmE1t29doBqFCghlgUA1ywCSfk0_5Et1d8_1vmgu-r0mCR2EqQqX9nqikp2YT2fj8gkwBPw91BJt6eTbr6cvsP5kuKfDcqTGAXl8xwiKNV1yGpy_D" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="883" data-original-width="732" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEiVAJPWlCCtUhE8t5b7UHHwg8O2slUh1lZWo0J2hmo5rbA6FxBjdfn1y9uT4ZWjy5uik5yunbIN3eJrmE1t29doBqFCghlgUA1ywCSfk0_5Et1d8_1vmgu-r0mCR2EqQqX9nqikp2YT2fj8gkwBPw91BJt6eTbr6cvsP5kuKfDcqTGAXl8xwiKNV1yGpy_D=w531-h640" width="531" /></a></div><br /><br /><p></p><p><br /></p><p>試しにもう一つ</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhhZmbHqq9JLdS8lykHAqOQS6AbSB9wYgzmyKTVYwPW1mGUSo7JLVQhbKrnBXK_ksISOC-Isv30ilkeWgjxK-hkKH1041XSxharZZ9e3KVtrMZE3RlslEwtgJ7_SsvSb4b7eDtdKjuizJhS6qTqdk3QaAzaYmKpDPczqPF5HsrM5ohXGuOy_ihZLUvt_pjM" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1026" data-original-width="821" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEhhZmbHqq9JLdS8lykHAqOQS6AbSB9wYgzmyKTVYwPW1mGUSo7JLVQhbKrnBXK_ksISOC-Isv30ilkeWgjxK-hkKH1041XSxharZZ9e3KVtrMZE3RlslEwtgJ7_SsvSb4b7eDtdKjuizJhS6qTqdk3QaAzaYmKpDPczqPF5HsrM5ohXGuOy_ihZLUvt_pjM=w512-h640" width="512" /></a></div><br />プラグインの挙動はこちら<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiPyfZMbOR97ei5wEM9b3MK6LDTcsRQwRJ45mU3F_T4HeSbcIudDmld8wDTKCV74jm_hQk_Q9J95E7asioQ5jOZjLDfjO5Ox2_ZlDOoDV9Bcg9mjtQJVOt8LGCp9T6XaC7Unib0aFYZ7xeyr_5pZJVEAgVqtrxu-aWfb9DMKjFtC81OqZH08u-MqiOoNrbD" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="929" data-original-width="727" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEiPyfZMbOR97ei5wEM9b3MK6LDTcsRQwRJ45mU3F_T4HeSbcIudDmld8wDTKCV74jm_hQk_Q9J95E7asioQ5jOZjLDfjO5Ox2_ZlDOoDV9Bcg9mjtQJVOt8LGCp9T6XaC7Unib0aFYZ7xeyr_5pZJVEAgVqtrxu-aWfb9DMKjFtC81OqZH08u-MqiOoNrbD=w501-h640" width="501" /></a></div><br />API自体は割と普通なキーワード検索っぽいですね。ChatGPT側が自然言語で処理してくれていますが、入力した内容から検索キーワードを抽出してくれています。APIはあくまでも渡されたパラメータを元にDBで検索を行い、結果を返しているようです。<p></p><p><br /></p><h3 style="text-align: left;">2.Kakaku.com 旅行・トラベル</h3><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh2qdupp7J4NLuTKt1t7YXYT-g-8c3syHEU0RC5eriCyYyKpbu7XJg-nn_wxA_Ox_AHywm9NzxQJUIKdks76Cs7x30Ak64Ii-eMbb_lvlWX7TTCPKFMZSi7d1RGyb9XSqQcmRfYrhqiF-HcTE3kTPt5ZntTf_2EHO6CUUwUTxIYgugKpbX7lVS98Sfe4U04" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1080" data-original-width="837" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEh2qdupp7J4NLuTKt1t7YXYT-g-8c3syHEU0RC5eriCyYyKpbu7XJg-nn_wxA_Ox_AHywm9NzxQJUIKdks76Cs7x30Ak64Ii-eMbb_lvlWX7TTCPKFMZSi7d1RGyb9XSqQcmRfYrhqiF-HcTE3kTPt5ZntTf_2EHO6CUUwUTxIYgugKpbX7lVS98Sfe4U04=w496-h640" width="496" /></a></div><br />プラグインの挙動はこちらです<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjg14u_rcpgtmM9aX-FyCNXGTcUie5Zxgh2AZc4pvOCX_6ilcisCmhd3XElT4BtICCLTZQQChXutec0Np3biLSvzIRbbe-nGLrH6VbcW28mpotKhV9kLGdMjjqatX5HA2--PseWzLOWV-gGhB9wBO4FYDTXDiSfY_vPEz3S9QACGv3JyIpY5RMnsSr52mBO" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1164" data-original-width="623" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEjg14u_rcpgtmM9aX-FyCNXGTcUie5Zxgh2AZc4pvOCX_6ilcisCmhd3XElT4BtICCLTZQQChXutec0Np3biLSvzIRbbe-nGLrH6VbcW28mpotKhV9kLGdMjjqatX5HA2--PseWzLOWV-gGhB9wBO4FYDTXDiSfY_vPEz3S9QACGv3JyIpY5RMnsSr52mBO=w341-h640" width="341" /></a></div><br />Kakaku.comもキーワード検索ですね。プロンプトとしては色々と条件を付けてみたつもりでしたが、実際にAPIに渡されたのは場所情報だけでした。(食事の美味しい高級旅館はどこへ行った?)<p></p><div>最近、ChatGPT Pluginがかなり増えている状況ですが、APIの処理としてはこういった普通のキーワード検索が多いのでしょうか? 自分としては何かもうひとひねりしたプラグインが出来ないか? と思いあぐねています。</div><div><br /></div><div>では。</div><div><br /></div>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-66645312478608151852023-07-18T21:30:00.003+09:002023-07-18T21:32:13.532+09:00ChatGPT Plugin : ベクトルデータベースに挑戦 その3<p>前回の続きです。</p><p>作成したAPIをChatGPT Pluginとして使ってみましょう。</p><p>プラグインデベロッパーアカウントでは、自分で作成したプラグインをインストール可能です。Plugin storeの画面から「Develop your own plugin」をクリックします。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyxRyTN2gBb0tuCAhRXI_rJyl5sbkBNCbMirTATK8bWi43PsXIN6-j3C6lkfzw3vFrbfpb5YtE_r8eXfohAYBOH363nMgaoZXWLAKc0ub50m79geXn68Oq-NlGrKhXXPNgc0GQwtAlV2BfSsSBLXXyKFikV-6oLG0U91eS8Kf6NhmatKFMKUHsSrxqx0Gp/s623/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-12%20164243.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="139" data-original-width="623" height="71" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyxRyTN2gBb0tuCAhRXI_rJyl5sbkBNCbMirTATK8bWi43PsXIN6-j3C6lkfzw3vFrbfpb5YtE_r8eXfohAYBOH363nMgaoZXWLAKc0ub50m79geXn68Oq-NlGrKhXXPNgc0GQwtAlV2BfSsSBLXXyKFikV-6oLG0U91eS8Kf6NhmatKFMKUHsSrxqx0Gp/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-12%20164243.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">今回のAPIはサーバーへデプロイはしておらず、ローカルPCで動作していますので「localhost:5003」と入力します。</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuFKpqlIY1Tw3fI05mrpPu1KyPCYxQvyszGHi_zJBYUA0Mah79PNHe95BlnJQGi9GP1n-iSP3NSS1aZeZVE8pew9TwGghbIaeQnY_JzK_uDRMYysLjZgZLVeLyrmvLiAb3r4tNeTZFxEQuTNDJt6LK-x2Hy0OWwWhfvc1CUlyuN4vXvTQ9sd0fohIB9GQM/s574/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-12%20164208.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="546" data-original-width="574" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuFKpqlIY1Tw3fI05mrpPu1KyPCYxQvyszGHi_zJBYUA0Mah79PNHe95BlnJQGi9GP1n-iSP3NSS1aZeZVE8pew9TwGghbIaeQnY_JzK_uDRMYysLjZgZLVeLyrmvLiAb3r4tNeTZFxEQuTNDJt6LK-x2Hy0OWwWhfvc1CUlyuN4vXvTQ9sd0fohIB9GQM/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-12%20164208.png" width="320" /></a></div><p>マニフェストファイルとYamlファイルが正しく認識されるとPluginがインストール可能になります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj11ghO1-D6jwYNypvH2PJSJOex7X1Xz1xT0lTeCKy-hyUmWPR52bSF8MSTG9TJseghMaSHv4lCjn2HPHHQmBsfHp_L0IAOnJ4a2LphmnSrM0VC5ODgmqJpYV73xqL3IepfFz6cccQ5yaAsUJIh5Os5PKHZYSNcHgPcr0Te8Qoa9yavUXMrz19KlggUX0qA/s577/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-12%20165101.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="466" data-original-width="577" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj11ghO1-D6jwYNypvH2PJSJOex7X1Xz1xT0lTeCKy-hyUmWPR52bSF8MSTG9TJseghMaSHv4lCjn2HPHHQmBsfHp_L0IAOnJ4a2LphmnSrM0VC5ODgmqJpYV73xqL3IepfFz6cccQ5yaAsUJIh5Os5PKHZYSNcHgPcr0Te8Qoa9yavUXMrz19KlggUX0qA/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-12%20165101.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>早速、使ってみましょう。<div><br /><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgWqx1N3Z9ecKqVSg6wz1MbImw3g3o0DwqERK3iZjOi14Ny6QSrQopo_LJI7JsFxHTdFJnBkMFmtuHSIjgRGp6tQ0iCZTtKyBKcxs1HJeqTZy3S344kqDCAJs7M1xlNIj4bKryEbfhcFQ_7d15aNdSYbYfe0NsFdZtihu3V-IztWeQ2MrCyhYPFgYO22UEY" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="607" data-original-width="839" height="290" src="https://blogger.googleusercontent.com/img/a/AVvXsEgWqx1N3Z9ecKqVSg6wz1MbImw3g3o0DwqERK3iZjOi14Ny6QSrQopo_LJI7JsFxHTdFJnBkMFmtuHSIjgRGp6tQ0iCZTtKyBKcxs1HJeqTZy3S344kqDCAJs7M1xlNIj4bKryEbfhcFQ_7d15aNdSYbYfe0NsFdZtihu3V-IztWeQ2MrCyhYPFgYO22UEY=w400-h290" width="400" /></a></div><br />
<blockquote><div style="text-align: left;">
<p>質問 : データベースを定義する方法を教えて下さい。GeneXus wikiで調べてください。</p><p>
回答 : 以下に、GeneXusのデータベース定義に関連する情報を提供します。</p><p>1.Commit on Exit property : この記事では、GeneXusが各トランザクションと各手続きに対して提供するプロパティについて説明しています。これは、生成されたプログラムが自動的にCOMMITを実行するかどうかを定義するためのものです。</p><p>2.For in command : この記事では、配列やコレクションを走査するためのFor inコマンドについて説明しています。</p><p>3.Extended Table : この記事では、Extended Tableという概念について説明しています。Extended Tableは、特定のBase Tableに位置しているときに、複数のテーブルへのアクセスを簡素化するためのものです。</p><p>これらの記事は、データベースを定義する方法に関する一般的な情報を提供しますが、具体的な手順や例については、GeneXusのドキュメンテーションやチュートリアルを参照してください。
</p></div>
</blockquote>
<br /><div style="text-align: left;">う~ん、ちょっとイマイチな回答ですね。いまいちというか、全然当たっていないですね。プラグインの挙動を確認してみます。プラグインが動作表示している右端をクリックして展開してみると、リクエストに対してレスポンスは返ってきています。</div><div style="text-align: left;">リクエストの内容もちゃんと英語に翻訳されています。</div><div style="text-align: left;">ただ、レスポンスであるベクトル検索の結果が</div><div style="text-align: left;">・Commit on Exit property</div><div style="text-align: left;">・For in command</div><div style="text-align: left;">・Extended Table</div><div style="text-align: left;">となっていて、ChatGPTの回答はAPIレスポンスをそのまま回答に使っている事が判ります。</div><div style="text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg4x3KhIhnthUSFvXFhA8hxa26RcNaBh14UCPgbp38b3GOKPAKgRU0xeNzXgsxdSKSnMCgoTvKt4QwW0xEvVSFfz3G162DwX38_jKHggSkxHDI93e4brvq5bqvOF3nyP4Bfj49i0hSFDPAzWmbfL63zs967W-qnZzgZcTsN_keti8h97P3AGtBtvEsgZJ2l" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="" data-original-height="477" data-original-width="668" height="229" src="https://blogger.googleusercontent.com/img/a/AVvXsEg4x3KhIhnthUSFvXFhA8hxa26RcNaBh14UCPgbp38b3GOKPAKgRU0xeNzXgsxdSKSnMCgoTvKt4QwW0xEvVSFfz3G162DwX38_jKHggSkxHDI93e4brvq5bqvOF3nyP4Bfj49i0hSFDPAzWmbfL63zs967W-qnZzgZcTsN_keti8h97P3AGtBtvEsgZJ2l" width="320" /></a></div><div style="text-align: left;"></div><div style="text-align: left;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgucRXhUu4ecllLxv5lD1I6vTHY3-y_lk7omVDHA1hWqQYdoMXbp0zNcTcckKYY4OMrHTqHOBaVJEdwZrm5I6U7EwOysXW-uWcafVrKH-wALoX2l0JBFe9T0_TnXtaqOrcT6qa2JcQmOXm2UV25rvxP0Gp9YGs1yzE7KVER7wb9XCrA223SvkJ4ORzVa0gj" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="372" data-original-width="669" height="178" src="https://blogger.googleusercontent.com/img/a/AVvXsEgucRXhUu4ecllLxv5lD1I6vTHY3-y_lk7omVDHA1hWqQYdoMXbp0zNcTcckKYY4OMrHTqHOBaVJEdwZrm5I6U7EwOysXW-uWcafVrKH-wALoX2l0JBFe9T0_TnXtaqOrcT6qa2JcQmOXm2UV25rvxP0Gp9YGs1yzE7KVER7wb9XCrA223SvkJ4ORzVa0gj" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEikfe5BBzHzGTEKNn-4gbeN69s7XoWzPrEoCJo5hluZWl-140nxOUiu6L4dJS62OPe_4ADTPQfDqvV-uSWWAWSIgf9G0MCKvEGR6tUnCvJPoj_zESNZUHrBirCvxiz1MPNwTQiWYm4nmYvHe3Er5UYT7pQCHno5IL2lHqOLCS7yLC7atAfoI9BT-yM1_akH" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="371" data-original-width="663" height="179" src="https://blogger.googleusercontent.com/img/a/AVvXsEikfe5BBzHzGTEKNn-4gbeN69s7XoWzPrEoCJo5hluZWl-140nxOUiu6L4dJS62OPe_4ADTPQfDqvV-uSWWAWSIgf9G0MCKvEGR6tUnCvJPoj_zESNZUHrBirCvxiz1MPNwTQiWYm4nmYvHe3Er5UYT7pQCHno5IL2lHqOLCS7yLC7atAfoI9BT-yM1_akH" width="320" /></a></div></div><br /><div style="text-align: left;">他にもいくつか試してみした。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi4hQz765GpfAc-JmS4W0uNbdB_Hjbx-asYvyxXjzHhV2CXxENaWQinWvy5-_1COUQ3bHozNOXoFkDp98MbOAWjAa7jZiB6C_Ej7GIYGpRLjkL8MeTAf_lQ6Rvi2z-Y2jCFQ8GMygpOM4XlRI1SCoTVDRqa76Hp0-joikcrngFihDoszu4PJD1ID0iPkX3O" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="558" data-original-width="849" height="263" src="https://blogger.googleusercontent.com/img/a/AVvXsEi4hQz765GpfAc-JmS4W0uNbdB_Hjbx-asYvyxXjzHhV2CXxENaWQinWvy5-_1COUQ3bHozNOXoFkDp98MbOAWjAa7jZiB6C_Ej7GIYGpRLjkL8MeTAf_lQ6Rvi2z-Y2jCFQ8GMygpOM4XlRI1SCoTVDRqa76Hp0-joikcrngFihDoszu4PJD1ID0iPkX3O=w400-h263" width="400" /></a></div><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhpfUr8zh_4sTJkhaUVRluRHEP7aOc8Ay9hIlUJYvOpNm5K4V0qCkTudMKaNS99Ai-HaDyH1l_MF9FtFN9lQ5WIBOZdEvXcHn6YDKV9CKhGXULBtbPR6Nm0rdEH6gCNZz8cvNkyPPbDMdi5hVe6rXCmoAumYim8gfv5G9Nu9AXGk5DEr-7s76jpD29KwHAy" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="735" data-original-width="827" height="356" src="https://blogger.googleusercontent.com/img/a/AVvXsEhpfUr8zh_4sTJkhaUVRluRHEP7aOc8Ay9hIlUJYvOpNm5K4V0qCkTudMKaNS99Ai-HaDyH1l_MF9FtFN9lQ5WIBOZdEvXcHn6YDKV9CKhGXULBtbPR6Nm0rdEH6gCNZz8cvNkyPPbDMdi5hVe6rXCmoAumYim8gfv5G9Nu9AXGk5DEr-7s76jpD29KwHAy=w400-h356" width="400" /></a></div><br /><div style="text-align: left;">どれもイマイチですね。ベクトル検索の精度が悪くてChatGPTも取得した文章をそのまま表示しているだけですね。</div><div style="text-align: left;">素人がいきなり精度を出せるわけ無いか。。どうやったら精度が上げられるかちょっと考えてみます。</div><div style="text-align: left;">では。</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p></p></div></div></div>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-84423269208545904892023-07-12T17:30:00.001+09:002023-07-12T17:30:00.134+09:00ChatGPT Plugin : ベクトルデータベースに挑戦 その2<p>前回の続きです。</p><p>作成したベクトルデータベース(Cosmos DB)の中身はこんな感じです。</p><p></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEicVZFhyhGouaLUsrTG_ys0IVWZdXJWgDGQH6nU1R5_VDp_C1sNU-8NQwT5DzbIxRUvl5_70SEAFTBqh8seucxNfCTV4EJu20VALJscQTOT8SDOXsk9mrOwnvhr8blzTT5Fh-d9yL0g7y9tZXvAW2_pNzUKPYmGtDa-KBe4sB6K1c8krjC5juLfUMzqHcj3" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="532" data-original-width="1141" height="298" src="https://blogger.googleusercontent.com/img/a/AVvXsEicVZFhyhGouaLUsrTG_ys0IVWZdXJWgDGQH6nU1R5_VDp_C1sNU-8NQwT5DzbIxRUvl5_70SEAFTBqh8seucxNfCTV4EJu20VALJscQTOT8SDOXsk9mrOwnvhr8blzTT5Fh-d9yL0g7y9tZXvAW2_pNzUKPYmGtDa-KBe4sB6K1c8krjC5juLfUMzqHcj3=w640-h298" width="640" /></a></div><br /></div>1レコードの内容がまるっとテキストデータでJSON形式で格納しています。「embedding」項目の値として小数値が配列となっています。これが文章をベクトル化した結果です。<p></p><p>では、このデータベースを使って検索するプログラムを作成します。</p><p>検索処理ですが、通常のRDBのようにDB側で検索するのでは無く、一旦DBからベクトル値を全レコード分抽出した配列と、質問文章をベクトル化したものを、比較=コサイン類似性(Cosine Similarity)計算します。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgvutOkC6oI-n9a1AnWvUomHsl5H_t_dV7e3D7B1Tl9o58yvQ7_BHGrZBNphdSndVaKh_Njbcq88-JFYYVxLnAyBSkicB22zTUw5-EMs6DE-YJrkLmsNrDa0U_et9ODuGGfUqkgrhY8KJOFZpNJqgdGF99CBM3blxS_DF3MQkadDkKCOD9hYwMiKmH5Hg49" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="322" data-original-width="772" height="266" src="https://blogger.googleusercontent.com/img/a/AVvXsEgvutOkC6oI-n9a1AnWvUomHsl5H_t_dV7e3D7B1Tl9o58yvQ7_BHGrZBNphdSndVaKh_Njbcq88-JFYYVxLnAyBSkicB22zTUw5-EMs6DE-YJrkLmsNrDa0U_et9ODuGGfUqkgrhY8KJOFZpNJqgdGF99CBM3blxS_DF3MQkadDkKCOD9hYwMiKmH5Hg49=w640-h266" width="640" /></a></div><br />以下はデバッグで出力した計算結果の配列値です。データベースには70(文書)レコード登録してあるので計算結果も問合せ文章と70レコードを比較した70個の数値配列になります。<div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEinEXxFZ28TJ7Otx_2pO6F02z-7OwjOp2813mTFMTkE1iHQ2veD2HwG58zTpq_M2oh1yGgXjYE7Pgs-4pDlrHhUdqntQ0gz9Lo5kp-4RC2r497NEEryKnoXni57_cnCuXgxCzwIRHdDlzkZ-N5MrJ-W57srpgGExOloZxSEGmEJ7h5ctMR6F8FcN2BuIKeP" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="244" data-original-width="659" height="148" src="https://blogger.googleusercontent.com/img/a/AVvXsEinEXxFZ28TJ7Otx_2pO6F02z-7OwjOp2813mTFMTkE1iHQ2veD2HwG58zTpq_M2oh1yGgXjYE7Pgs-4pDlrHhUdqntQ0gz9Lo5kp-4RC2r497NEEryKnoXni57_cnCuXgxCzwIRHdDlzkZ-N5MrJ-W57srpgGExOloZxSEGmEJ7h5ctMR6F8FcN2BuIKeP=w400-h148" width="400" /></a></div>値の大きい方(1に近い方)がベクトルとして同じ方向(=文脈が近い)にあり、小さい方(-1に近い方)がベクトルとして逆方向(=文脈が遠い)にあります。</div><div>この計算結果を昇順にソートし、上位から必要なレコードを取得します。</div><div><p>以下、検索処理のPythonコードをChatGPTに解説して貰った内容です。</p><p>このPythonコードは、Azure Cosmos DBに保存された文書データを検索するWeb APIを提供します。具体的には、OpenAIのEmbedding APIを使用してクエリと文書のベクトル化を行い、それらのコサイン類似度を計算して最も類似度が高い文書を返す機能を持っています。以下に、コードの主要な部分を段階的に解説します。</p><p></p><ol style="text-align: left;"><li>環境変数の設定: .env ファイルから環境変数を読み込み、OpenAI APIキーとAzure Cosmos DBのURLとキーを設定します。</li><li>WikiDocumentクラス: このクラスには、テキストを指定したトークン数に分割するsplit_textメソッドと、指定したクエリに最も類似した文書を検索するsearch_documentメソッドが含まれています。</li><li>Web APIの定義: Quartとquart_corsを使用してWeb APIを定義します。/gxwiki/search/<string:query>エンドポイントは、指定したクエリに最も類似した文書を検索し、その結果をJSON形式で返します。また、/.well-known/ai-plugin.jsonと/openapi.yamlエンドポイントは、それぞれAIプラグインのマニフェストとOpenAPI仕様を返します。</li><li>main関数: この関数では、Azure Cosmos DBから全ての文書を読み込み、それらのベクトルを_docs_vectorsリストに保存します。その後、Webアプリケーションを起動します。</li><li>エントリーポイント: ファイルが直接実行された場合、main関数が呼び出されます。</li></ol><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmCXGrdKMcibOv5jVDEXDY79-8xAj-uTVP05AGfAOQWXBqkHd5JWe_SRm8mKmUUO3iWxpmZizFsqTziKSeuNemteGzpSglJl7_v0sbPifuERKGvlsz2hhf7e3EIb5eFJMuVX1zpOr1XYUpPZ2GsCy6oEo1DjS1-QlKYHLeqca9g7e0DaFGsgmB-xGbQ1m/s1218/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-05%20225651.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="895" data-original-width="1218" height="470" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmCXGrdKMcibOv5jVDEXDY79-8xAj-uTVP05AGfAOQWXBqkHd5JWe_SRm8mKmUUO3iWxpmZizFsqTziKSeuNemteGzpSglJl7_v0sbPifuERKGvlsz2hhf7e3EIb5eFJMuVX1zpOr1XYUpPZ2GsCy6oEo1DjS1-QlKYHLeqca9g7e0DaFGsgmB-xGbQ1m/w640-h470/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-05%20225651.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: left;">検索処理はChatGPT Pluginsとして呼び出されますので、Webサービスとして動作するように実装しています。PythonのWebフレームワークであるQuartを使用しています。</div><div class="separator" style="clear: both; text-align: left;">プログラムを実行するとプロセスとしてリクエストを待機します。</div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlx2i5Mm3xMABTs7icWL1QzJebXbJ01tqqIPWKX4NxXIhZf8obBBz3_AIMujolwG5lh4hHpOXpk5GyQrAf60MBiu7qH9FWUJD28h7_qc-wPC_2kCKp_9hfybAs0APpPxl8AosJauGs-uJhLeLNTrHXikApOPEbeB_nvMLVT1gqLaYHoHO9P6xFi4YsxXU1/s867/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-05%20230358.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="153" data-original-width="867" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlx2i5Mm3xMABTs7icWL1QzJebXbJ01tqqIPWKX4NxXIhZf8obBBz3_AIMujolwG5lh4hHpOXpk5GyQrAf60MBiu7qH9FWUJD28h7_qc-wPC_2kCKp_9hfybAs0APpPxl8AosJauGs-uJhLeLNTrHXikApOPEbeB_nvMLVT1gqLaYHoHO9P6xFi4YsxXU1/w640-h112/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-07-05%20230358.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>APIが出来上がったら、後は前回と同様にChatGPT Pluginとして使用するのに必要なマニフェストファイルとYamlファイルを準備します。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">・ap-plugin.json</div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhv4WA-oIrpFESxxgqk7HnKF2NErIfbif2e8bIOByGcOMu5GywwuSR0tM9mgBRSVxDGAhvjzxnzTV1NOTVuDudg8AzdBB2TQSfH6CFF_M3GKGxkNXz_Uwk3uBbjT_fz9Bc8tL7vOtCH1EW3QXeg9k07Ko0QHkLS4RZK7JiWlYetxgdz2bAWEHPD8p1S2AZc" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="448" data-original-width="1418" height="202" src="https://blogger.googleusercontent.com/img/a/AVvXsEhv4WA-oIrpFESxxgqk7HnKF2NErIfbif2e8bIOByGcOMu5GywwuSR0tM9mgBRSVxDGAhvjzxnzTV1NOTVuDudg8AzdBB2TQSfH6CFF_M3GKGxkNXz_Uwk3uBbjT_fz9Bc8tL7vOtCH1EW3QXeg9k07Ko0QHkLS4RZK7JiWlYetxgdz2bAWEHPD8p1S2AZc=w640-h202" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">・openai.yaml</div> 英語の文章を元にベクトル化をしていますので、日本語の質問文章ではマッチしません。検索用API側で日本語→英語翻訳をしてもいいのですが、せっかくChatGPT Pluginとして動かすので、ChatGPT側で翻訳を行ってもらうようにdescription項目に「Query string must be English. Could you translate it before search」と入れました。<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgICl1eqv0PM8WA1xqhdASBxSsMjDP0N-D6k-MqYL-GX8FV3GBbzIUhNT_JJzgoYbLI1bRloyys2aFherHHs6i9s8w6gAJXCiDng7sHW522jNrfrJlUOHDt_pAIkqgfuhk5ZeBp_FGaeaFQeuvQlGtEfXIK3gYDjAu7XLG85EtlV9ZkWRvgMql3AvboyoWE" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="803" data-original-width="1513" height="340" src="https://blogger.googleusercontent.com/img/a/AVvXsEgICl1eqv0PM8WA1xqhdASBxSsMjDP0N-D6k-MqYL-GX8FV3GBbzIUhNT_JJzgoYbLI1bRloyys2aFherHHs6i9s8w6gAJXCiDng7sHW522jNrfrJlUOHDt_pAIkqgfuhk5ZeBp_FGaeaFQeuvQlGtEfXIK3gYDjAu7XLG85EtlV9ZkWRvgMql3AvboyoWE=w640-h340" width="640" /></a></div><br />これでPluginの完成です。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">次回は実際に使ってみましょう。</div><div class="separator" style="clear: both; text-align: left;">では。<br /><br /></div></div></div>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-91103390955523849632023-07-05T18:00:00.001+09:002023-07-05T18:00:00.128+09:00ChatGPT Plugin : ベクトルデータベースに挑戦 その1<p> ChatGPTを使う上でモデルが学習していない情報(特に最新情報[2021年9月以降])や特定分野の情報)をどうインプットさせるか? は当初の課題でした。それが(有償ユーザーに限りますが) WebブラウジングやPlugin機能が解放されることでピンポイントで情報を取得する事ができ、ChatGPT上で出来る事が飛躍的に増えました。</p><p>私の立場としてはGeneXusの技術情報に関する問合せ(セルフトレーニング)やコーディングなどをChatGPTで実現する事ができるか? というのが直近の目標だったりするのですが、JavaScriptやPythonといった十分にモデルが学習済みの技術であればそれも容易なのですが、いかんせんGeneXusというマイナー技術では、なかなか思う様な結果を得ることが出来ないのが現実です。</p><p>という事で、次に考えたのは、GeneXus技術情報に特化したプラグインで、問合せの内容を元に文脈的に近い情報をwikiページから取得しモデルに返すことで、より精度の高い回答をChatGPTが出来ないか? というものでした。</p><p>問合せの内容から独自のデータを利用してモデルに検討させるのは、最近ではAzure OpenAI サービスにてAdd your dataという機能があります。まだプレビュー版でありますが、これを使うと例えば自社のドキュメントをインプットしておく事で、とり業務に特化した質問に対する回答を得られることができるというものです。</p><p>今後も次々にこういった機能やサービスがリリースされてくるでしょうから、自前で作る事にあまり意味はないのかもしれませんが、エンジニアとしては早期に取り組むという事と、実際の技術的なポイントを押さえておきたくてトライしてみました。</p><p>その中で情報収集・検討・トライ&エラーした結果として要約したポイントです。</p><p></p><ul style="text-align: left;"><li>検索対象となる文書のデータベース化</li><ul><li>GeneXusの技術情報をデータベース化するので、英語版wikiを対象に考えます。</li><li>データベースはRDBではなく、以下の理由でベクトルデータベースを使用したいのですが、私もビギナーなのでまずはNoSQLであるAzure Cosmos DBを使用し、ベクトル化は自前で行う事にします。(このあたり、正式なベクトルデータベースではベクトル化機能自体備わっているのか?といった事もよくわかっていません(笑)</li><li>GeneXusもバージョン18U3からCosmos DBをサポートしてきていますので、今後の技術取得の意味も含めて選択しました。</li></ul><li>質問の文脈に沿った検索方法</li><ul><li>一般的なデータベース(RDB)ではキーワードを元にした部分一致検索などがありますが、ユーザーがどんな質問をするかわらかないChatGPT上では、文脈的に一致するか? という観点での検索が必要になります。</li><li>この検索を実現するのがベクトルデータベースです。ベクトルデータベースとは、対象となる文章を元にベクトル計算を行い数値化し、データベースに保存しておきます。</li><li>一方、問合せ時の質問文もベクトル計算を行い数値化し、ベクトルデータベースに格納されているベクトル値と比較する事で、文脈的に近しい文書を見つける。というものです。</li><li>今回はベクトル値同士をコサイン類似性(Cosine Similarity)計算をしてレーティング値を出し、そのレーティング値の高い値を文脈の近い文章として捉えます。</li><li>コサイン類似性では値が-1~1の間で表され、</li><ul><li>1は同じベクトル(0度)で完全に似ている</li><li>0は直交(90度)で似ている・似ていないのどちらも無関係</li><li>-1は逆向き(180度)で似ていない</li></ul><li>と判断します。</li></ul><li>ChatGPTに返すデータの量</li><ul><li>モデルに精度高く考えさせるには多くのデータを渡す方が良いですが、現在はトークン数に限りがあり、より多くのトークンが利用出来るモデルはその分コストも高くなっています。</li><li>長い文章の場合は、モデルに要約させる事も可能ですが、技術的な情報では予約によって切り捨てられてしまうと不都合になる情報もあります。</li><li>この様にどの程度の量の情報を渡せばコストや制限に引っかからず、且つ、精度が高い処理を行って貰うことが出来るのか? は今すぐ答えが出てくる問題ではありません。</li></ul></ul><div>では、実装です。今回はかなりトライ&エラーが必要だと思っていたので、GeneXusではなくPythonを使って開発しました。私自身PythonはChatGPTを使うようになってから勉強し始めた言語です。文法やライブラリの調査、使い方のレクチャー、実行時エラーの原因解析と対処などなど、ChatGPTのお陰で短期で作る事が出来るようになりました。が、まだまだマスタしたというレベルではありません。超ビギナーですが、新しい言語に触れるのは幾つになっても楽しいです。(笑)</div><div><br /></div><div>まずはデータベースの準備です。AzureでCosmos DBアカウントを作成し、データベース→コンテナと順番に作成します。</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhT4aCKMie4Ls94dNBZ0MEE4_V51Sqq05iZ6-rxtt-9EGUpKCjgtCN4oLMTT0Nne1Nh7LwGlbwg7DvM3Wy631d6reZRKX_B4I7d8yU-tAXNJ-GXjlKmGM5L3LlO91SnwGWpJ4SmtSONzfCLn3OpwHu8uDhhXqFexG-OR7GCdAyEJ8KDmYaSSFQHhhGPZhmE" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="328" data-original-width="703" height="298" src="https://blogger.googleusercontent.com/img/a/AVvXsEhT4aCKMie4Ls94dNBZ0MEE4_V51Sqq05iZ6-rxtt-9EGUpKCjgtCN4oLMTT0Nne1Nh7LwGlbwg7DvM3Wy631d6reZRKX_B4I7d8yU-tAXNJ-GXjlKmGM5L3LlO91SnwGWpJ4SmtSONzfCLn3OpwHu8uDhhXqFexG-OR7GCdAyEJ8KDmYaSSFQHhhGPZhmE=w640-h298" width="640" /></a></div><div><br /></div><div><br /></div><div>次にPythonプログラムです。最初はベクトルデータベースを構築する処理です。wikiサイトからhtmlを取得し、テキストを抜き出し、文章を元にベクトル計算をし、Cosmos DBに保存します。インプットとしてはURLを記載したjsonファイルを用意しました。</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgR8bIrUi0bi61AC1S-ytt3RuguvBTHsBFtvbWN5UuKw8n0Q1Hs1felb4Po9O_kJdnQzbHqEsO2zPRL-sRGSh6Srpg87sCaAYEIcDw9PgoZ1tGE14JFrAvNMyn--5QgHiCi9Pw7MdnjLZfF6PysIPTGUcDYKCoFK1C6UTbJayxQ5NaEGbqx3RAmH7tx0QOV" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="586" data-original-width="1063" height="352" src="https://blogger.googleusercontent.com/img/a/AVvXsEgR8bIrUi0bi61AC1S-ytt3RuguvBTHsBFtvbWN5UuKw8n0Q1Hs1felb4Po9O_kJdnQzbHqEsO2zPRL-sRGSh6Srpg87sCaAYEIcDw9PgoZ1tGE14JFrAvNMyn--5QgHiCi9Pw7MdnjLZfF6PysIPTGUcDYKCoFK1C6UTbJayxQ5NaEGbqx3RAmH7tx0QOV=w640-h352" width="640" /></a></div><br />Pythonのソースコードを書きますが、超ビギナーのコーディングなので掲載はやめておきます(一部だけ掲載)。代わりにソースコードをChatGTP経由で解説してもらった内容を掲載します。</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjJnxo7BhwOa-V8Ku-jh6dxhg17lsF4irn6NZZZSp_vbvFYHxzgMrLV8XPJmtZ_mUYsTld9Y1uv-1FeOuCj2zGysoxWnOF6Dz_ktXf8mEiwq1X328aVUc6EAHPzJwx7gRTmISelBGimzGBtxaAm2axNiRBk4Y_FRDWaJBA6fm3Zih9NYU-woIY6YvbW6IiS" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="436" data-original-width="744" height="235" src="https://blogger.googleusercontent.com/img/a/AVvXsEjJnxo7BhwOa-V8Ku-jh6dxhg17lsF4irn6NZZZSp_vbvFYHxzgMrLV8XPJmtZ_mUYsTld9Y1uv-1FeOuCj2zGysoxWnOF6Dz_ktXf8mEiwq1X328aVUc6EAHPzJwx7gRTmISelBGimzGBtxaAm2axNiRBk4Y_FRDWaJBA6fm3Zih9NYU-woIY6YvbW6IiS=w400-h235" width="400" /></a></div></div><div><br /></div><div><div>このPythonコードは、ウェブ上のドキュメントを取得し、それらをAzure Cosmos DBに保存するものです。具体的には、Wikipediaの記事を取得し、それらの記事をOpenAIのAPIを使用してベクトル化し、その結果をAzure Cosmos DBに保存します。以下に、コードの主要な部分を段階的に解説します。</div><div><ol style="text-align: left;"><li>環境変数の設定: このコードは、.envファイルから環境変数を読み込みます。これにはOpenAIのAPIキーとAzure Cosmos DBのURLとキーが含まれます</li><li>WikiDocumentsクラスの定義: このクラスは、Wikipediaのドキュメントを取得し、それらをベクトル化し、結果をJSONファイルに保存するためのメソッドを提供します。</li><ul><li>split_textメソッド: このメソッドは、テキストを単語に分割し、それらを指定された最大トークン数を超えないようにチャンクに分割します。</li><li>getWikiDocumentsメソッド: このメソッドは、指定されたURLからWikipediaのドキュメントを取得し、それらのドキュメントをOpenAIのAPIを使用してベクトル化します。結果はJSONファイルに保存されます。</li><li>compute_hashメソッド: このメソッドは、指定されたURLからハッシュ値を計算します。これは、Cosmos DBに保存する際のパーティションキーとして使用されます。</li><li>saveCosmosDBメソッド: このメソッドは、JSONファイルからドキュメントを読み込み、それらをAzure Cosmos DBに保存します。</li></ul><li>Mainクラスの定義: このクラスは、WikiDocumentsクラスのインスタンスを使用して、ドキュメントの取得と保存のプロセスを制御します。</li><li>メインの実行部分: ここでは、WikiDocumentsクラスとMainクラスのインスタンスを作成し、ドキュメントの取得と保存のプロセスを開始します。</li></ol></div></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiyZcirZw66d8aX-znmRDGT9AfCMmWq2xEXQh8pW18i7kMPtci_D2-IvKdFf_Q4SbmGyVHJ8yUtHoWWdiJsgd1gWPWVNisUun0mcKQkl239gxOZm2dTYPrYZfAR0ZMwzhm837vfwP_H7d2iWGBu9tt2gtveeB2d_V3yzAGn2ozrPPiD-uV0wVMtQrVYyb28" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="803" data-original-width="1270" height="404" src="https://blogger.googleusercontent.com/img/a/AVvXsEiyZcirZw66d8aX-znmRDGT9AfCMmWq2xEXQh8pW18i7kMPtci_D2-IvKdFf_Q4SbmGyVHJ8yUtHoWWdiJsgd1gWPWVNisUun0mcKQkl239gxOZm2dTYPrYZfAR0ZMwzhm837vfwP_H7d2iWGBu9tt2gtveeB2d_V3yzAGn2ozrPPiD-uV0wVMtQrVYyb28=w640-h404" width="640" /></a></div><br />これでベクトルデータベース(もどき)の完成です。</div><div><br /></div><div>続きは次の記事で。では。</div><div><br /></div><div><br /></div><br /><br /></div><p></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-74805803323973468942023-06-30T14:30:00.007+09:002023-06-30T14:41:44.259+09:00ChatGPT PluginをGeneXusで作ってみた。その2<p> 先日作成したChatGPT Pluginをあれこれ使ってみて気が付いた事を書きます。</p><p>TodoプラグインのTodo取得APIはユーザー名のフィルタリングだけで、他には特に機能的なものは実装していません。シンプルなリストデータを返すAPIです。</p><p>しかし、ChatGPT自体がデータ処理が可能なので、要求(プロンプト)に応じてAPIの機能に無い処理をしてくれます。</p><h3 style="text-align: left;">・Todoの期限ごとにカウント表示</h3><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh-0gKb_ibQaPztOI_2R2WlwIXzPpWD0n-EarF_tCOE_G32XVY5Ag_Bkjl6CtySOR1nAvVDRnC4uNmgKqcXkWqJPiZcMaCYRkJtSqfq7HZ8dOMIJxFMUosTEEjB_uI-IXNUCbhAKAPQwmxJi-M00O01C_C7pLTwoTw16tw3oeBwUgR9sSn0z5UKautYemwj" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="431" data-original-width="978" height="282" src="https://blogger.googleusercontent.com/img/a/AVvXsEh-0gKb_ibQaPztOI_2R2WlwIXzPpWD0n-EarF_tCOE_G32XVY5Ag_Bkjl6CtySOR1nAvVDRnC4uNmgKqcXkWqJPiZcMaCYRkJtSqfq7HZ8dOMIJxFMUosTEEjB_uI-IXNUCbhAKAPQwmxJi-M00O01C_C7pLTwoTw16tw3oeBwUgR9sSn0z5UKautYemwj=w640-h282" width="640" /></a></div><br /><h3 style="text-align: left;">・完了済みのTodoは除外して表示</h3><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjmidZbOlGr08RGObq7JEAvd9UprLqe5TEffkq5-ekn8lu8_NZ9qa_817kuCSIkSRIJBg8i4_9lF9ivnSX7pwUMqvrpEY4iqZBuap4xwzNaPtzkO61Zj88oZMPoeaNjUssQ4UMi-h0GYS45ohiKn_pmFRy1v25bqXYKUgdBEWpMbyh4mC03zLyFbLN6nrzf" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="490" data-original-width="1002" height="312" src="https://blogger.googleusercontent.com/img/a/AVvXsEjmidZbOlGr08RGObq7JEAvd9UprLqe5TEffkq5-ekn8lu8_NZ9qa_817kuCSIkSRIJBg8i4_9lF9ivnSX7pwUMqvrpEY4iqZBuap4xwzNaPtzkO61Zj88oZMPoeaNjUssQ4UMi-h0GYS45ohiKn_pmFRy1v25bqXYKUgdBEWpMbyh4mC03zLyFbLN6nrzf=w640-h312" width="640" /></a></div><br /><h3 style="text-align: left;">・直近の期限のTodoを表示</h3><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgU_w8p3R7rSQ5VqpRY_q5_9Fyy0OaPxFWXXSHXmTYG9yBQFdfWH5aZvq4ofAXLx8ExFLzRsuuvDxs8B8z32j_3iO6oiqHe3Vay6UQynMZWBWOYRE6f-prVBiqa7CJanCO2wjpNUs33Y2qxKu8FRAQXE0LP4mRheMZMg2Z0_WKTmaX1dyjTiiJXrcQpOaBR" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="575" data-original-width="945" height="390" src="https://blogger.googleusercontent.com/img/a/AVvXsEgU_w8p3R7rSQ5VqpRY_q5_9Fyy0OaPxFWXXSHXmTYG9yBQFdfWH5aZvq4ofAXLx8ExFLzRsuuvDxs8B8z32j_3iO6oiqHe3Vay6UQynMZWBWOYRE6f-prVBiqa7CJanCO2wjpNUs33Y2qxKu8FRAQXE0LP4mRheMZMg2Z0_WKTmaX1dyjTiiJXrcQpOaBR=w640-h390" width="640" /></a></div><br /><h3 style="text-align: left;">・期限でソートして表示</h3><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhP-P9K23RrKYBqk9z9B8KJd5iFihtStfQoUcku3-L0cJJiPZuNGTIzfW9aGX4yJKTAnZObWSIBU_6jtTLc1zqgaG_eB_1BCnm-IjE8_1Ul9dOqawQirWCG7EyoA8EAXimRgJqEV-mCDwrEbAWiZCDFnquu2yinEGEIybF-0ELwHgtDVgJON9yiboir1gl4" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1090" data-original-width="1009" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEhP-P9K23RrKYBqk9z9B8KJd5iFihtStfQoUcku3-L0cJJiPZuNGTIzfW9aGX4yJKTAnZObWSIBU_6jtTLc1zqgaG_eB_1BCnm-IjE8_1Ul9dOqawQirWCG7EyoA8EAXimRgJqEV-mCDwrEbAWiZCDFnquu2yinEGEIybF-0ELwHgtDVgJON9yiboir1gl4=w592-h640" width="592" /></a></div><br /><h3 style="text-align: left;">・表形式で出力</h3><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiuKTS_eOSoL_DMMA9EGZPK1agnqMxm50Krq2LXp4UsZjI_MlwoZH4IvpJ-rrZ09bCDySsr5GyVL0bmQRUSWhvGa2OiC2e4cUH9ebwAxJU77RPEGHyBmIDCwIWVrrMUjSIhwwdxcL_RMY8WomHWrudifbiysTQlMEc2YNl80wmekgU-ajY6TVyCMIkDB-0F" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="700" data-original-width="1142" height="392" src="https://blogger.googleusercontent.com/img/a/AVvXsEiuKTS_eOSoL_DMMA9EGZPK1agnqMxm50Krq2LXp4UsZjI_MlwoZH4IvpJ-rrZ09bCDySsr5GyVL0bmQRUSWhvGa2OiC2e4cUH9ebwAxJU77RPEGHyBmIDCwIWVrrMUjSIhwwdxcL_RMY8WomHWrudifbiysTQlMEc2YNl80wmekgU-ajY6TVyCMIkDB-0F=w640-h392" width="640" /></a></div><br /><br /><br /><div>こうなってくると、プラグイン側で実装する機能範囲と、ChatGPT側で処理をしてくれる範囲の境界線をどう考えたら良いのか? ある程度経験値が溜まらないとパッと判断するのは難しいですね。<p></p><p>もしくは、そんなに難しく考えない方がよいのでしょうか? 最初はゆるい感じでプラグインを作っておき、テストしながらChatGPT側で難しそうor重そうな場合はプラグイン側に寄せる。といったチューニング的な感じで進めるのが良いのでしょうかね。</p><p>では。</p></div>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-87842408748352581712023-06-27T19:30:00.007+09:002023-06-27T19:40:12.958+09:00ChatGPT PluginをGeneXusで作ってみた。<p> ずいぶん前に申請していたChatGPTのPlugin developerがようやく招待されたので試してみました。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiJY_xcrWJIqoSZ2VhnH_nNhIVXynDBjj9kOP4kXABILftzgOt6hIOXsEmH2IH5nVOAWbGUeRUJu8PJnO9fHM3E0oh-H6Vesfl4364-vk3uyQRzNpgHccNHget6q9PbuOvwtgE0R1b4g780G5J5JxzZDlk_T90xSZyCE-MHizJG4dr4vkDNMY0jCvH8etiD" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="668" data-original-width="757" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiJY_xcrWJIqoSZ2VhnH_nNhIVXynDBjj9kOP4kXABILftzgOt6hIOXsEmH2IH5nVOAWbGUeRUJu8PJnO9fHM3E0oh-H6Vesfl4364-vk3uyQRzNpgHccNHget6q9PbuOvwtgE0R1b4g780G5J5JxzZDlk_T90xSZyCE-MHizJG4dr4vkDNMY0jCvH8etiD" width="272" /></a></div><br /><p></p><p>まずはPlugin Quick Startとして公開されているサンプルを使って実装しました。ソースは以下のGithubになります。(実装および動作確認はここでは省略します)</p><p>https://github.com/openai/plugins-quickstart</p><p>サンプルがうまく動作したら、同じものをGeneXusを使って実装してみました。サンプルでは登録したTodoデータはメモリ上にしか保持しない仕様になっていますので、サービスを再起動するとデータは失われてしまいます。GeneXusで同じ機能を実装するのであれば、Todoデータはデータベースに登録しておきたいですよね。</p><p>という事で、ナレッジを新規作成したらまずはTodoトランザクションを定義します。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhJJ0mnTPKHuTlTEfXbzY20aRSKZbYIPNP2xSLbMgaj3i1TbBfxl8IdScTxUzMrUt7vGssNjhlaNRpe1sabNtg9j8X6nOy2rUzHwT3oWySn2YlNUNAKbT7oNDpAbinUi9nhBAQJLJQ3YOnipw0huS7Qa6tViIttPI0FCIgCvjh0xADHWrrJ5X5Ky4pXdkGx" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="330" data-original-width="872" height="151" src="https://blogger.googleusercontent.com/img/a/AVvXsEhJJ0mnTPKHuTlTEfXbzY20aRSKZbYIPNP2xSLbMgaj3i1TbBfxl8IdScTxUzMrUt7vGssNjhlaNRpe1sabNtg9j8X6nOy2rUzHwT3oWySn2YlNUNAKbT7oNDpAbinUi9nhBAQJLJQ3YOnipw0huS7Qa6tViIttPI0FCIgCvjh0xADHWrrJ5X5Ky4pXdkGx=w400-h151" width="400" /></a></div><br /><ul style="text-align: left;"><li>主キーはユーザー名+TodoNoの複合キー</li><li>Todo(Description)以外に完了予定日(DueDate)、完了フラグ(IsDone)、完了日(DoneDate)を追加</li></ul><p></p><p>続いてAPIオブジェクトを作成し、I/Fを定義します。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj8MQB1IAOLGjjshbqI2VniMw1C71Cdds46xmWzIka4KMGOFIEn37eQkEVCoU7VSIwmkCFvD3JxbeogAFszE9lT1M9Kw_DYI6VNwEP9tN8FsNEwzkEPJyr6KJ5rIkqKyi7S43Zt0tDI-No6DUKRiw0Mk6JNYnh7SU8GikeMHyA76wkBvIwE3WN3D4SL_rtp" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="495" data-original-width="857" height="231" src="https://blogger.googleusercontent.com/img/a/AVvXsEj8MQB1IAOLGjjshbqI2VniMw1C71Cdds46xmWzIka4KMGOFIEn37eQkEVCoU7VSIwmkCFvD3JxbeogAFszE9lT1M9Kw_DYI6VNwEP9tN8FsNEwzkEPJyr6KJ5rIkqKyi7S43Zt0tDI-No6DUKRiw0Mk6JNYnh7SU8GikeMHyA76wkBvIwE3WN3D4SL_rtp=w400-h231" width="400" /></a></div><br />サンプルでは、Todo一覧取得、Todo登録、Todo削除だけでしたが、DB化するのでTodo更新機能も追加し、Todo内容の変更や完了登録が出来るようにします。<p></p><p>あとは、それぞれのAPIに対応するプロシージャオブジェクトとパラメータであるSDTを作成します。このあたりは通常のGeneXus開発と変わりませんので、内容の紹介は割愛しますが、サンプルと比較して違う点だけ書き留めておきます。</p><p></p><ul style="text-align: left;"><li>サンプルでは機能ごとにHTTP Methondを指定していました。例えば、Todo削除はDELETEなど。GeneXusのAPIオブジェクトでもRestMethodのアノテーション記述が出来るのですが、DELETE指定の場合、ChatGPTとの連携がうまく出来ませんでした。従って、上記のAPIオブジェクト定義では登録・更新・削除は全てPOSTにしています。</li><li>サンプルのTodo登録機能では、ユーザー名はHTTPパラメータ、TodoはPost valueと使い分けているのですが(HTTPパラメータはURLRewriteでパス(=ユーザー名)にマッピングさせるため)、GeneXusのプロシージャオブジェクトは、パラメータは全てPost valueになるのと、ユーザー名はプリミティブ変数、その他Todo項目はSDTという複数パラメータがうまく認識されなかったので、送信データは全て一つのSDTに纏めています。</li></ul><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi97PNjfyMLSQvswqTb81wuVRn4h7LwYfx_t_XsSVp44VmidZUTJLXtknKH57S1OQvuzZdv4xVVwq6118VJnN4XzG1HlFu_cR6izzyOvpOYnkPPDiVHmfkXh-Ngqdsbb30d0G7pJhoqsfIu5HYhPgwgM8K9_IDSmIjsQm9tZvkW_gWadHvNmZGP4BrnK4Nv" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="219" data-original-width="871" height="100" src="https://blogger.googleusercontent.com/img/a/AVvXsEi97PNjfyMLSQvswqTb81wuVRn4h7LwYfx_t_XsSVp44VmidZUTJLXtknKH57S1OQvuzZdv4xVVwq6118VJnN4XzG1HlFu_cR6izzyOvpOYnkPPDiVHmfkXh-Ngqdsbb30d0G7pJhoqsfIu5HYhPgwgM8K9_IDSmIjsQm9tZvkW_gWadHvNmZGP4BrnK4Nv=w400-h100" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg3DhdYO9isL10xfiRCq6V9Cz5qjnmzEdbr3OZdHxqhe5FiMqsQRno4w6ADxLgNZkQrxuk2-JcT-YxM-iizl19R58gbxJJMYyFbTMyqMycOznV_LshuvKuAmcxjlRJr0VV2R74Y91AXNThK5ZSYA-5J0MwV9zXUOJ55AhEMiO3HZ0rRpji65WX9VtsZXvV4" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="162" data-original-width="868" height="75" src="https://blogger.googleusercontent.com/img/a/AVvXsEg3DhdYO9isL10xfiRCq6V9Cz5qjnmzEdbr3OZdHxqhe5FiMqsQRno4w6ADxLgNZkQrxuk2-JcT-YxM-iizl19R58gbxJJMYyFbTMyqMycOznV_LshuvKuAmcxjlRJr0VV2R74Y91AXNThK5ZSYA-5J0MwV9zXUOJ55AhEMiO3HZ0rRpji65WX9VtsZXvV4=w400-h75" width="400" /></a></div><br />基本的には以上でプラグイン機能の出来上がりです。ビルドしてPostMan等のRestテストツールで動作確認をします。<p></p><p><br /></p><p>次にChatGPT Pluginとして登録するのに必要なファイルの定義です。</p><p></p><ul style="text-align: left;"><li>マニフェストファイル(ai-plugin.json)</li><ul><li>ChatGPTがPluginをインストールした時に読み込むファイルで、Pluginの基本的な説明と、APIの定義情報が書いてあるyamlファイルの場所、ロゴ画像ファイルの場所が記述してあります。こちらはほぼサンプルと同じ内容で場所の指定のみPluginを配置するサーバーの内容に変更しました。</li></ul><li>yamlファイル(openapi.yaml)</li><ul><li>APIのインターフェース定義がされているyamlファイル(Open API Documentフォーマット)です。</li><li>今回、一番ハマったのはこのファイルでした。yamlファイルはGeneXusでもAPIを作成するとビルド時に自動生成してくれますが、フォーマットは同じでも記述内容が微妙にChatGPTが要求するものと違っており、トライ&エラーで動作するようになりました。以下、ポイントです。</li><ul><li>operationId GeneXusが生成する内容は「APIオブジェクト名.API名_メソッド」という書式ですが、ChatGPTでは「.」ドットは受け付けておらず、アンダースコアに変更する必要がありました。</li><li>schema パラメータをSDTとして定義する場合、GeneXusはyamlの定義をAPI定義→(参照)→パラメータ定義→(参照)→SDT定義(JSONオブジェクト)という風に三段階の参照($ref)で定義します。これがChatGPTでは認められず、二段階(一つの参照のみ)に変更する必要がありました。且つ、type:objectが不足していましたので、こちらも手動で追加しました。</li><li>description ChatGPTがどうPluginを使うか? はdescriptionの書き方に依存します。特にパラメータとなる各項目の説明は単に名称だけだとこちらの想定通りの挙動にならず(もちろん、名前から推測はしてくれますが)、特に更新や削除をする時に主キー項目は、「データ取得時の主キー項目を使い回すように」といった念押しのような説明の記載をしないと、ChatGPTが適当な値を主キーとして設定するため、更新が空振りしてしまう事態となりました。</li></ul></ul><li>アイコンファイル</li><ul><li>Pluginリストや選択時のPluginを識別するためのアイコン画像です。今回は、サンプルにあったTodoアイコンの背景画像をGeneXusっぽく赤色に変更したものを使ってみました。</li></ul></ul><p></p><p>Pluginに必要なファイルが出来たらデプロイしたアプリの然るべき場所に配置します。</p><p>いよいよ、ChatGPTにPluginをインストールします。Plugin developerとして認証されると、Plugin storeにオプションが増え、未認証のPluginや自分で開発したPluginを自由にインストール・使用する事ができるようになります。Pluginをデプロイしたurlを指定します。(Pluginの呼び出しはブラウザ上で行われているようで、localhostも指定出来ます)</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgP9DHZhMUqAe8Twm2cLT6azwAyVifuTHSoyKk28OVMrewZeFShNjSSy8WU7c0uSG5AQrMFl3wvvPXIMERAv9qWS8BZNw3vyvwqEprarX5uwEJ625XvtBc3tpKX4P0yywe530pGMvjDdxcbxBa1rf7HianrCD__6yTTAmCiKaJ9diPNDaTTGt7IcJT6rdBU" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="208" data-original-width="681" height="122" src="https://blogger.googleusercontent.com/img/a/AVvXsEgP9DHZhMUqAe8Twm2cLT6azwAyVifuTHSoyKk28OVMrewZeFShNjSSy8WU7c0uSG5AQrMFl3wvvPXIMERAv9qWS8BZNw3vyvwqEprarX5uwEJ625XvtBc3tpKX4P0yywe530pGMvjDdxcbxBa1rf7HianrCD__6yTTAmCiKaJ9diPNDaTTGt7IcJT6rdBU=w400-h122" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhLL3dKI4gEyBbT8V7HAu4ISf8iRdGYFL9CAeEdsCC0EABeL9-KplQaoZiqNhXE-3CYhOCh-i5XvlYTfgVD_KjN5Aavmcj_EngxyIDH9rEhJBKo2z_xTI64jksx900mzwj_1MVKKoXanFzynDdV4bCPjZHRQKzvHdd6iCsJGQD8K4bGgOPBTi4wCkaJ-4O7" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="460" data-original-width="473" height="389" src="https://blogger.googleusercontent.com/img/a/AVvXsEhLL3dKI4gEyBbT8V7HAu4ISf8iRdGYFL9CAeEdsCC0EABeL9-KplQaoZiqNhXE-3CYhOCh-i5XvlYTfgVD_KjN5Aavmcj_EngxyIDH9rEhJBKo2z_xTI64jksx900mzwj_1MVKKoXanFzynDdV4bCPjZHRQKzvHdd6iCsJGQD8K4bGgOPBTi4wCkaJ-4O7=w400-h389" width="400" /></a></div><br /><br /><p></p><p>では、使ってみましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgUKGWXggUWlOo8zUpUpDy2gs7lDlfICurGaY5iqM5OBH6Ho7zB2RKcEfhomiiBFihPRlR9kIBO9KzLoSceC071v3TDqvePYQ-mshlT8BLYunL38d7m2Cb5jVw9mGe60daJ2h_lRXIdG1deY3_hW0S-JQNH0ZPtSg2Vg5RnboJwOBvyI5xoxDsvjRlrdZLY" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="" data-original-height="302" data-original-width="831" height="232" src="https://blogger.googleusercontent.com/img/a/AVvXsEgUKGWXggUWlOo8zUpUpDy2gs7lDlfICurGaY5iqM5OBH6Ho7zB2RKcEfhomiiBFihPRlR9kIBO9KzLoSceC071v3TDqvePYQ-mshlT8BLYunL38d7m2Cb5jVw9mGe60daJ2h_lRXIdG1deY3_hW0S-JQNH0ZPtSg2Vg5RnboJwOBvyI5xoxDsvjRlrdZLY=w640-h232" width="640" /></a></div><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi3xcGg4jjrDneLxjoYcimmldhk6UlhFs1XK6QS4Kpyhf0KMnMO0RGKmkQtZlVQHMgSpEiuCk14-IAIHnm51U2Wl1JkY06QsGbCJ8_epCul9hSntBCw-t0R_Z2bwuR1Z-nyVXWFFNx5FcHFIRaPTteO9WJzQC0uwCEUB-mG2KyUYxaQ2YCjyu9mxF4B044-" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="609" data-original-width="845" height="462" src="https://blogger.googleusercontent.com/img/a/AVvXsEi3xcGg4jjrDneLxjoYcimmldhk6UlhFs1XK6QS4Kpyhf0KMnMO0RGKmkQtZlVQHMgSpEiuCk14-IAIHnm51U2Wl1JkY06QsGbCJ8_epCul9hSntBCw-t0R_Z2bwuR1Z-nyVXWFFNx5FcHFIRaPTteO9WJzQC0uwCEUB-mG2KyUYxaQ2YCjyu9mxF4B044-=w640-h462" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjaj3qpJ1HNRTSwbsoh5vxBZLnUiXNP8IonrLnly2SQnNi6kOGXnq-p81O1RRZoTrSuNukXG5R5Ex-ZincG39q2O3yfcQxy-SbskWsAX1PVX9EN8HP93_nWIRMxLTELs6e4H52tQH-UP0emGGnZW9GFMrMXnW8FteB00UzEUWaJ2p1OvdfdB_rz0-9XG1bl" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="425" data-original-width="843" height="322" src="https://blogger.googleusercontent.com/img/a/AVvXsEjaj3qpJ1HNRTSwbsoh5vxBZLnUiXNP8IonrLnly2SQnNi6kOGXnq-p81O1RRZoTrSuNukXG5R5Ex-ZincG39q2O3yfcQxy-SbskWsAX1PVX9EN8HP93_nWIRMxLTELs6e4H52tQH-UP0emGGnZW9GFMrMXnW8FteB00UzEUWaJ2p1OvdfdB_rz0-9XG1bl=w640-h322" width="640" /></a></div><br />この様に、TODOリストの一覧表し、登録、更新、削除が会話ベースで行えます。さらに、今回のPluginはユーザー名を主キーとしてテーブルを作成してあるので、ユーザーを切り替えて使う事も出来ます。(認証の仕組みは作っていないので、自動的な設定は出来ていませんが)<br /><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh3QFiYr-zG-mVno1foG_1QYUnm3elaff3hwUjc6KFnbvpZstsy4idwxjiojttVh8MHD8kYqI80GEqw_OryJW0G-0eSVqVamcQrAHqoFyfbdYaSSyK8PNzyDP4exoNPX1xkSonEiURA413f1SKAd7RerTDG-P11Wr7pwLhelj8vi_FPAUK-Wk-zobXx5C9U" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="231" data-original-width="849" height="174" src="https://blogger.googleusercontent.com/img/a/AVvXsEh3QFiYr-zG-mVno1foG_1QYUnm3elaff3hwUjc6KFnbvpZstsy4idwxjiojttVh8MHD8kYqI80GEqw_OryJW0G-0eSVqVamcQrAHqoFyfbdYaSSyK8PNzyDP4exoNPX1xkSonEiURA413f1SKAd7RerTDG-P11Wr7pwLhelj8vi_FPAUK-Wk-zobXx5C9U=w640-h174" width="640" /></a></div><br /><br /><p></p><p>色々と試してみて判ったのは、ChatGPT自体が代名詞や文脈を理解するので、Todo情報を正確に記載しなくても「期限は来週月曜日」とか「完了日は昨日」といった指示する側が日常会話レベルの内容でも正しく動作してくれるのがAIらしい使い方だと思いました。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhS6L0Cx9xfWurkrM7c2f97QuoXFa_T9aDON-HUqKN5iKBUkwN9mkZYTETTZUQF7vXb2FsUNC0tfmerfBXJ9rDybsDEVjbDLBJMviwbI8v6XFSqr_8mVXv1UH3QFP3ea9cxMsHG5I3h3OCRBHiYQVgNQxWFfN55hBqg_woaOkcMCkASWQi1--mSwMG7pA9I" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="447" data-original-width="825" height="346" src="https://blogger.googleusercontent.com/img/a/AVvXsEhS6L0Cx9xfWurkrM7c2f97QuoXFa_T9aDON-HUqKN5iKBUkwN9mkZYTETTZUQF7vXb2FsUNC0tfmerfBXJ9rDybsDEVjbDLBJMviwbI8v6XFSqr_8mVXv1UH3QFP3ea9cxMsHG5I3h3OCRBHiYQVgNQxWFfN55hBqg_woaOkcMCkASWQi1--mSwMG7pA9I=w640-h346" width="640" /></a></div><br />テキストベースではありますが、自然言語でPluginアプリが操作できるという事は、例えばスマホの音声入力を使えば、いちいちキーボーとから打ち込まなくても話し言葉でアプリが操作できますし、その応用編としてはAmazon AlexaやGoogle Echoといったスマートスピーカーに組み込む事が出来るようになれば「何を言っているのか判りません」といったつれない返事によるイライラから解消されるかもしれません。ChatGPT Pluginが飛躍的に活用されるのはこんなユースケースな気がしました。<p></p><p><br /></p><p>何かアイディアが思いついたら新しいPluginを作ってみたいと思います。</p><p>では。</p><p><br /></p><p><br /></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-68736814925610544252023-06-05T08:00:00.005+09:002023-06-05T08:21:54.111+09:00ミーガン(M3GAN)は電気羊の夢を見るか<p> 今回の記事は映画ネタです。ネタバレが無いように書いたつもりですが、感想を書く時点でネタバレしてる可能性大なので、これから見ようと思っている人は見た後に読んでください。(笑)</p>
<p></p><hr /><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://m3gan.jp/" target="_blank"><img border="0" data-original-height="1000" data-original-width="1920" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpvF9_Mr9lJzeA6zNeYtUJmXpobVZaB8RLjhWrBFYAxkg32DG6T2wtBtG_9lYJHHYWKD49xnxdVjfHB3mUIeIudIgyVbJYz8Fp8acVZecUom9qQ_rpKp2bID1796KNMCbzsCxL-lt_yqNyZooFxYAKqDKpixJrMFtqqmS2oEmxy157PerUIDZtkELu3w/w400-h209/m3gan.jpg" width="400" /></a></div><p>ウルグアイまでの長いフライトの中で見た映画「ミーガン(M3GAN)」がとても面白かった。日本でももうすぐ公開かな。M3GANとはModel 3 Generative Android の略。学習型のaiを搭載したアンドロイドが巻き起こすサイコスリラーもの。この時期に上映とはタイミングが良すぎる。</p><p>エンジニア目線で見ると色々とツッコミたくなる部分があるけれど、それはさておき、ミーガンが主人公の女の子と接しながら学習し、守りたい(母性というのか?)感情や独占したい感情が芽生えてきて、少しづつ行動がやばくなっていくのが見ててゾクゾクした。</p><p>思考は感情なのか?思考するAIは感情を持っていると言えるのか?</p><p>一方で、心に傷を負った少女がミーガンと接することで癒やされてきたのも束の間、今度はミーガン依存症になってしまうあたりは、今どきのスマホ依存症を見れば十分あり得る副作用だし、幼少期からケアをアンドロイド任せにしていると、リアルな友達より自分を喜ばせてくれるアンドロイドを選んでしまう可能性(危険性)を気づかせてくれた。</p><p>まあ、エンジニアがよかれと思って技術を駆使するとろくでもない事が起きるのは今も昔も変わらない話か。</p><p>人類を攻撃するAIと言うとターミネーターのように世界を滅ぼすような大きなスケールがありがちだけど、人を補助するアンドロイド/aiが生活の中で反乱を起こす方がより身近で怖かった。</p><p>普通に考えたらロボット三原則とかOSに規制を入れるだろう?と思ってしまうが、自己学習が規制を乗り越えてしまう可能性もあるのか?アプリがOSすら書き換えてしまうのか?(それがシンギュラリティか?) 興味は尽きない。</p><p>あと、ミーガンのキモカワイイダンスとか走り方とか、アンドロイドの動きはCGと思いがちな所を女の子が演じているとは、映画の内容の逆をいく制作方法でニヤリとさせられる。</p><p>感想がつきないのでこのあたりで。</p><p>最後にすみません、今回はこのタイトルをネタにしたくて記事を書きました。</p><p>では。</p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-51365171081290064022023-06-01T16:00:00.004+09:002023-06-01T16:07:05.558+09:00システム開発とジェネレーティブAI: 生産性向上への新たな可能性<p><span style="background-color: white;"> <span face="Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="color: #374151; font-size: 16px; white-space: pre-wrap;">【導入】</span></span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">システム開発は巨大なプロジェクトであり、効率化と成果物の品質向上が求められます。最近、ジェネレーティブAIの登場により、コーディングや他のプロセスにおいて新たなアシスタント機能が生まれました。本記事では、システム開発におけるジェネレーティブAIの活用方法と、その効果について段階的に解説します。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">【ステップ1: システム開発のプロセスとジェネレーティブAIの関係】
システム開発のプロセスを要件定義、設計、コーディング、テストの工程に分け、それぞれにおいてジェネレーティブAIの活用方法を検討します。要件定義においては、自動生成されたテストケースや要件ドキュメントの作成が可能です。設計では、AIによるデザインの自動生成や最適化が可能です。コーディング工程では、AIを用いたコード生成やテンプレートの活用が効果的です。テストにおいては、AIによるバグの自動検出やテストスクリプトの生成が効率化に寄与します。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">【ステップ2: コミュニケーションの改善】
システム開発では、プロジェクトメンバー間の円滑なコミュニケーションが不可欠です。ここでは、ジェネレーティブAIが優れた道具として活用されます。例えば、自動要約機能を持つAIチャットボットを導入することで、プロジェクトの議事録やミーティングの要点を効率的にまとめることができます。さらに、質問応答システムを活用することで、プロジェクトメンバーが容易に情報を共有し、迅速な意思決定が可能となります。また、リアルタイムなコラボレーションをサポートする共同編集ツールやプロジェクトダッシュボードも利用することで、プロジェクトメンバー間のコミュニケーションとタスク管理を一元化し、効率化を図ることができます。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">【ステップ3: プロセスの効率化と標準化】
各工程におけるプロセスの効率化と標準化も重要な要素です。ジェネレーティブAIを活用することで、コーディングの自動化や品質向上を実現できます。AIによるコード生成やテンプレートの利用、バグの自動検出などが効果的です。また、プロジェクト管理ツールにおいても、AIを活用することで自動化とアシスト機能を実現できます。以下は、AIを活用したプロジェクト管理ツールの具体的な機能です。</span></p><ol style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; counter-reset: item 0; display: flex; flex-direction: column; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 1.25em 0px; padding: 0px 0px 0px 1rem; white-space: pre-wrap;"><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span style="background-color: white;">タスク管理の自動化: AIがプロジェクトメンバーのタスクを自動的に割り当てたり、進捗状況を追跡したりすることができます。AIは優先順位やリソースの可用性などを考慮し、タスクの最適なスケジューリングを行います。</span></p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span style="background-color: white;">リソース管理のサポート: AIはプロジェクトに必要なリソース(人員、予算、設備など)の管理をサポートします。AIはリソースの予測や最適化を行い、プロジェクト全体のリソースのバランスや適切な割り当てを助けます。</span></p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span style="background-color: white;">リスク管理の予測と対策: AIはプロジェクトのデータや過去の経験を分析し、リスクを予測します。また、リスクに対する適切な対策や予防策を提案することもできます。これにより、プロジェクトのリスク管理を強化し、問題の早期解決やコスト削減に寄与します。</span></p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span style="background-color: white;">コラボレーションとコミュニケーションの支援: AIを活用した共同編集ツールやコミュニケーションプラットフォームは、プロジェクトメンバー間のリアルタイムなコラボレーションを支援します。AIは共同編集の衝突を検出し解決するだけでなく、自動的にタスクの関係者への通知や進捗の共有などを行います。</span></p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span style="background-color: white;">プロジェクトの進捗と予測の可視化: AIはプロジェクトの進捗状況や予測を視覚的に表示するダッシュボードを提供します。これにより、プロジェクトマネージャーや関係者はリアルタイムでプロジェクトの状況を把握し、必要な対策や判断を行うことができます。</span></p></li></ol><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">【まとめ】
システム開発におけるジェネレーティブAIの活用は、生産性向上や品質向上に大きな可能性をもたらします。コーディングや他のプロセスの効率化だけでなく、コミュニケーションの改善やプロセスの標準化も重要です。AIの活用により、素晴らしい成果物を生み出すシステム開発プロジェクトにおいて、ジェネレーティブAIは強力なパートナーとなるでしょう。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">【ブログ記事の締めの文章】
システム開発におけるジェネレーティブAIの進化は、プロジェクトの生産性と品質を向上させるための新たな可能性を開拓しました。コーディングの効率化、コミュニケーションの改善、プロセスの標準化、そしてプロジェクト管理ツールの自動化とアシスト機能は、システム開発プロジェクトにおいて大きな価値をもたらします。ジェネレーティブAIと協力しながら、より効率的で革新的なシステム開発を実現しましょう。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space: pre-wrap;"><span style="background-color: white;">以上のように、システム開発とジェネレーティブAIの関係について具体的なステップやプロジェクト管理ツールの機能を交えながら解説し、最後にブログ記事の締めの文章を追加しました。これにより、読者がシステム開発におけるジェネレーティブAIのポテンシャルと可能性を理解し、将来のプロジェクトに活かすことができるでしょう。</span></p>
<hr />
<p>ここ何回かのブログ記事ではウェブサイトの内容をチャットGPTに要約してもらうというものでしたが、今回はブログ記事そのものをチャットGPTに考えてもらいました。</p><p>以下がそのプロンプトになりますが、今回は今までのように一発で記事は書けていません。ちなみにモデルはGPT3.5です。</p><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWLB9x3hxEqwMD7ynJ3yogSYMYlBUmuAv1uOlrG_C0ULwLf5uf8lzPfmzeplXPNPQHaXX8WC0PuBZCsmdncwXeVbGg8N735z0mWRoJFvg-SHwL--5_zaqr5146Oa18WqWvQedYs52e3xdZU8Ay_Eno58pzcIwoIF3v5-dkHswPO51BHkLbIYHeARhWGA/s1183/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152118.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1183" data-original-width="1110" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWLB9x3hxEqwMD7ynJ3yogSYMYlBUmuAv1uOlrG_C0ULwLf5uf8lzPfmzeplXPNPQHaXX8WC0PuBZCsmdncwXeVbGg8N735z0mWRoJFvg-SHwL--5_zaqr5146Oa18WqWvQedYs52e3xdZU8Ay_Eno58pzcIwoIF3v5-dkHswPO51BHkLbIYHeARhWGA/w375-h400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152118.png" width="375" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0dVwIsmLJU9_8ZHxzAhdjmJdZS4Ypzv0SfrGy5x_6FypFw-d0-N8cJjqhAbfZ-uODVxJeeHDAy-LHOXfvvnoBUAWj_tWOn8kGGXUlovZwXRRu_weeUqO5GZpK9yffDX3CVXo49o9kRZspLlErTLvH-LyOtHecyAk8o0Zn_Lcu9ErFLKr7c82cLeuJeg/s1192/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152154.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1192" data-original-width="1117" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0dVwIsmLJU9_8ZHxzAhdjmJdZS4Ypzv0SfrGy5x_6FypFw-d0-N8cJjqhAbfZ-uODVxJeeHDAy-LHOXfvvnoBUAWj_tWOn8kGGXUlovZwXRRu_weeUqO5GZpK9yffDX3CVXo49o9kRZspLlErTLvH-LyOtHecyAk8o0Zn_Lcu9ErFLKr7c82cLeuJeg/w375-h400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152154.png" width="375" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK5h9PkgydigBorzLnIk3NEElUicOYUFawy00v--UHzknYbDgRfuVsH221VaANY5rwA0lHiw2vD-1Blu3RTMYqT9OZThrNfgHFQpJVh06Pr9fV-WtfKo6r-lpbqct7VZG094RZMfx1TfwQiR8yumpMPsmP-qEHwW3LsBWSwTSbXH-RmY_vs5JL86Vh2w/s1747/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152323.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1747" data-original-width="1126" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK5h9PkgydigBorzLnIk3NEElUicOYUFawy00v--UHzknYbDgRfuVsH221VaANY5rwA0lHiw2vD-1Blu3RTMYqT9OZThrNfgHFQpJVh06Pr9fV-WtfKo6r-lpbqct7VZG094RZMfx1TfwQiR8yumpMPsmP-qEHwW3LsBWSwTSbXH-RmY_vs5JL86Vh2w/w258-h400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152323.png" width="258" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTrsAvzWX1AfELQDBZC47TMQolJPudDScDlyr4E_a85WYbF3ODMmLFdR3Y2Rj50NS8RubrP4HNn2sVVbNp9cVbULNFh3AAEirpUCpsmI0zsNcrXXs9WR9HmM_RV3n9gPkWO3PURKnQx8dM_vfW2OWORlhrAL6jiJADvfc_zLZLNnxkU34t6Oa5Q_TIHQ/s1120/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152405.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1060" data-original-width="1120" height="379" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTrsAvzWX1AfELQDBZC47TMQolJPudDScDlyr4E_a85WYbF3ODMmLFdR3Y2Rj50NS8RubrP4HNn2sVVbNp9cVbULNFh3AAEirpUCpsmI0zsNcrXXs9WR9HmM_RV3n9gPkWO3PURKnQx8dM_vfW2OWORlhrAL6jiJADvfc_zLZLNnxkU34t6Oa5Q_TIHQ/w400-h379/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152405.png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-_kG5oqpRP5bP1HrHk_WrrCB-axPtjc2HgbeNThqgTR9rkT4B-U03k7K1VQcVs-17OlFdSIzvLl6bvyhCBR-zkQKf6y0-BwpQzM6Z5UYfVG0Xvs6cNlxrtBWPPfolavMyjtNDeseSF5owHW9qRvfloZOHEDxCyMxSbSDy8t9NdUUo6kzNdbkZer1vuQ/s1684/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152436.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1684" data-original-width="1123" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-_kG5oqpRP5bP1HrHk_WrrCB-axPtjc2HgbeNThqgTR9rkT4B-U03k7K1VQcVs-17OlFdSIzvLl6bvyhCBR-zkQKf6y0-BwpQzM6Z5UYfVG0Xvs6cNlxrtBWPPfolavMyjtNDeseSF5owHW9qRvfloZOHEDxCyMxSbSDy8t9NdUUo6kzNdbkZer1vuQ/w266-h400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152436.png" width="266" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_3DfJ-sQWaJIp0MXnGYbKFV5D23z6e_q6JPlJ-HgI7J28tkt5y-rHrpBRg4wYK1guPwHUKZFxV6n4ooZM-XTsMzrD2C2zw73RAGj6M7GzSHlKb4m4pIudnzFJu4NNLp5VrLXSM0v8WlOeJ8gnd7H93MBdI7FdCVghb3u-qUR8ERv3AbomSb5Kqd0CxA/s1291/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152559.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1291" data-original-width="1125" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_3DfJ-sQWaJIp0MXnGYbKFV5D23z6e_q6JPlJ-HgI7J28tkt5y-rHrpBRg4wYK1guPwHUKZFxV6n4ooZM-XTsMzrD2C2zw73RAGj6M7GzSHlKb4m4pIudnzFJu4NNLp5VrLXSM0v8WlOeJ8gnd7H93MBdI7FdCVghb3u-qUR8ERv3AbomSb5Kqd0CxA/w349-h400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-06-01%20152559.png" width="349" /></a></div><br /><div>人からの要求というものは曖昧なもので「ブログ記事を書いてください」という単純なゴールだとチャットGPTでも記事を書くことができません。そのゴールに対してどんどん情報を追加してあげる、パラメータを追加してあげることによりGPTが曖昧なゴールをより正確なゴールとして認識することができ、そしてアウトプットを出力することができる。という流れです。いわゆるゴールシークと呼ばれる手法です。私は<a href="https://twitter.com/HaveShun" target="_blank">シュンスケさん</a>からだいぶ勉強させて貰っています。</div><div><br /></div><div>どうしたらChatGPTを使いこなせるか? そしてどんな事に適用出来るのか? もう少しトライを続けていこうと思っています。</div><div>では。</div><div><br /></div>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-34449741624614696192023-05-25T16:00:00.060+09:002023-05-25T16:01:48.674+09:00AIの力を解き放つWindows 11:Microsoft Build 2023で発表されたWindows CopilotとDev Home<p><span style="background-color: white;"> <span face="Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="color: #374151; font-size: 16px; white-space: pre-wrap;">みなさん、こんにちは!先日のブログ記事では、Genexus NextとGE Brainの魅力について触れましたね</span><span data-state="closed" face="Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-size: 16px; white-space: pre-wrap;"><a class="px-0.5 text-green-600 !no-underline" href="https://blogs.windows.com/windowsdeveloper/2023/05/23/bringing-the-power-of-ai-to-windows-11-unlocking-a-new-era-of-productivity-for-customers-and-developers-with-windows-copilot-and-dev-home/" rel="noreferrer" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; padding-left: 0.125rem; padding-right: 0.125rem; text-underline-offset: 2px;" target="_blank"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 12px; line-height: 0; position: relative; top: -0.5em; vertical-align: baseline;">1</span></a></span><span face="Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="color: #374151; font-size: 16px; white-space: pre-wrap;">。今回は、Microsoft Build 2023で発表されたWindows 11の新機能について紹介します。</span></span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">Microsoftは、今年のBuildイベントで、Windows 11に強力なAI機能を導入すると発表しました。その中心にあるのが「Windows Copilot」です。これは、Windowsが初めて提供する一元化されたAIアシスタントで、Bing Chatや第三者製のプラグインと組み合わせて使用します<span data-state="closed" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><a class="px-0.5 text-green-600 !no-underline" href="https://blogs.windows.com/windowsdeveloper/2023/05/23/bringing-the-power-of-ai-to-windows-11-unlocking-a-new-era-of-productivity-for-customers-and-developers-with-windows-copilot-and-dev-home/" rel="noreferrer" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; padding-left: 0.125rem; padding-right: 0.125rem; text-underline-offset: 2px;" target="_blank"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 12px; line-height: 0; position: relative; top: -0.5em; vertical-align: baseline;">1</span></a></span>。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">Windows Copilotはタスクバーに表示され、開いたままで他のアプリケーションやウィンドウ上で一貫性を保ちます。ユーザーのパーソナルアシスタントとして機能し、アクションを起こしたり、設定をカスタマイズしたり、お気に入りのアプリケーション間でシームレスに接続することを支援します。例えば、コピー&ペーストはもちろん、Windows Copilotに内容の書き換えや要約、説明を依頼することも可能です<span data-state="closed" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><a class="px-0.5 text-green-600 !no-underline" href="https://blogs.windows.com/windowsdeveloper/2023/05/23/bringing-the-power-of-ai-to-windows-11-unlocking-a-new-era-of-productivity-for-customers-and-developers-with-windows-copilot-and-dev-home/" rel="noreferrer" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; padding-left: 0.125rem; padding-right: 0.125rem; text-underline-offset: 2px;" target="_blank"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 12px; line-height: 0; position: relative; top: -0.5em; vertical-align: baseline;">1</span></a></span>。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">また、Microsoftは開発者向けに「Dev Home」を発表しました。これはWindows上で開発をより生産的に行うためのツールで、新たにAI機能や体験がMicrosoft Storeに追加されます<span data-state="closed" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><a class="px-0.5 text-green-600 !no-underline" href="https://blogs.windows.com/windowsdeveloper/2023/05/23/bringing-the-power-of-ai-to-windows-11-unlocking-a-new-era-of-productivity-for-customers-and-developers-with-windows-copilot-and-dev-home/" rel="noreferrer" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; padding-left: 0.125rem; padding-right: 0.125rem; text-underline-offset: 2px;" target="_blank"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 12px; line-height: 0; position: relative; top: -0.5em; vertical-align: baseline;">1</span></a></span>。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">さらに、AI開発をサポートするための「Windows AI Library」も発表されました。ここには、AI開発をジャンプスタートするための機械学習モデルやAPIのキュレーション集が収められます<span data-state="closed" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><a class="px-0.5 text-green-600 !no-underline" href="https://blogs.windows.com/windowsdeveloper/2023/05/23/bringing-the-power-of-ai-to-windows-11-unlocking-a-new-era-of-productivity-for-customers-and-developers-with-windows-copilot-and-dev-home/" rel="noreferrer" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; padding-left: 0.125rem; padding-right: 0.125rem; text-underline-offset: 2px;" target="_blank"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-size: 12px; line-height: 0; position: relative; top: -0.5em; vertical-align: baseline;">1</span></a></span>。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space: pre-wrap;"><span style="background-color: white;">以上がMicrosoft Build 2023で発表されたWindows 11の新機能の一部です。次回の更新では、これらの新機能が実際にどのように働き、ユーザー体験をどのように改善するかについて詳しく見ていきましょう。それでは、また次回</span></p>
<hr />今回の記事は先日開催されたMicrosoft Buildに関する記事をChatGPTに書いて貰いました。ChatGPTに指示したプロンプトは以下になります。<div><br /></div>
<blockquote>指示タイトル:<br />
イベント「Microsodt Build 2023」で発表された内容を紹介するブログ記事の作成<br /><br />
指示詳細:<br />
以前作成したブログ記事の続編的なブログ記事の作成をして下さい。<br />
以前の記事は以下になります。<br />
https://g-mind.blogspot.com/2023/05/introduce-genexus-next-and-ge-brain.html?m=1<br />
執筆内容としては、<br />
・記事タイトル。これから作成する記事の内容を踏まえて考えてください。キャッチーなものをお願いします。<br />
・あいさつ文と前回の続編であることの記述。私の記事の文体をまねてください。<br />
・以下のURLの内容を読み込んで解説記事を書いてください。段階的にお願いします。出力は日本語でお願いします。また引用元のリファレンスも提示してください。<br />
https://blogs.windows.com/windowsdeveloper/2023/05/23/bringing-the-power-of-ai-to-windows-11-unlocking-a-new-era-of-productivity-for-customers-and-developers-with-windows-copilot-and-dev-home/<br />
<br />
全体として優しくわかりやすい文体で記述をお願いします。<br />
ブログ記事は日本語でお願いします<br />
Lang:JP</blockquote>
<div><br /></div>
<p>今年のMicrosoft BuildはWindows 11(Windows Copilot)に限らず、ChatGPTのブラウジング機能にBingが利用可能となったり、プラグインがBing、ChatGPT、Dynamics365 Copilot、Microsoft 365 Copilot、Windows Copilotなどで共通化される、などなど、もはや「AI祭り」と言っていいほどの内容でした。</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2q2DC_PNFAAi-6Cr73NnX-UtNdsb83hfF5ejtFpp6F0RtbHsjyjDpcsp-vS71WYTrB2wGi_YjDAtW7P3Nh0ohiavGSSdaDEUvZULAFxaUKRm1zbthfig2I-JFE3o5TXF1wHQFqZ-4tIDf8CcOQxaW9cTu1hFyXwySHnu8ScwB3hYNznOhYvzdxfRsXQ/s590/yu_windowscopilot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="331" data-original-width="590" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2q2DC_PNFAAi-6Cr73NnX-UtNdsb83hfF5ejtFpp6F0RtbHsjyjDpcsp-vS71WYTrB2wGi_YjDAtW7P3Nh0ohiavGSSdaDEUvZULAFxaUKRm1zbthfig2I-JFE3o5TXF1wHQFqZ-4tIDf8CcOQxaW9cTu1hFyXwySHnu8ScwB3hYNznOhYvzdxfRsXQ/w640-h360/yu_windowscopilot.jpg" width="640" /></a></div><p><br /></p><p>個人的には久しぶりにMicrosoftがエキサイティングがイベントを行ったと感じています。今までGoogleやAWSなどのクラウド勢に押されてばかりの印象でしたので。感覚的には1990年代後半のインターネットが一般化する前段階でのサーバー製品を次々と発表するMicrosoftを思い出しました。</p>
<p>OSにAIアシスタントが統合されるとどんな事が起きるのか? 命令をパチパチと入力することは結構面倒くさいかなって思われるかもしれませんが、私は最近チャットGPTを使う時PCではVoiceIn(ボイスイン)というChromeプラグインを使っています。このプラグインによりChrome上で音声入力が可能になります。</p>
<p>実はチャットGPTのプロンプトは音声入力と非常に親和性が高いです。プロンプトというと色々と書式ばった命令をどう記述するかというプロンプトエンジニアリングが最近重要だと言われておりますが、実は音声入力した文章をそのまま投入しても結構チャットGPTは答えてくれます。多少誤字脱字、いわゆる漢字変換の誤変換があったとしても文脈さえ正しく伝わればちゃんとGPTは認識をし、そして処理をしてくれます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhacg5x9aH35CFWuhIEeT06v0m8__dK1yrH6q1jyKn12xkBcRYdbax2mGUja2XMbqo8nCX_TfXgwvGMQrUHiChm7u65OeP0QU0vX-vEhQ3Ryc3604TeCm-R5TYrTJFXqvK0Mz64E-ssXrDXVX-d5IJ1z38dIF7tEil9zwszUSlqrpZzo4o7nevMyQJHTw/s996/VoiceIn1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="682" data-original-width="996" height="438" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhacg5x9aH35CFWuhIEeT06v0m8__dK1yrH6q1jyKn12xkBcRYdbax2mGUja2XMbqo8nCX_TfXgwvGMQrUHiChm7u65OeP0QU0vX-vEhQ3Ryc3604TeCm-R5TYrTJFXqvK0Mz64E-ssXrDXVX-d5IJ1z38dIF7tEil9zwszUSlqrpZzo4o7nevMyQJHTw/w640-h438/VoiceIn1.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGhxsvwuqagOuBwe7iGVe-oG2vnR5fQDFnkY_OMl7Yw2kU7-PARHDVx0jwLjchpU1H8wLH51gPffQQUe_CdiPgATtJArQvMkvWKYmG30eyQz3JJXdtPx-kw2faq5-uEDxNWdFmo931Vzyg2SSuxZsGIzI4MvwBzSaDBy1_JaErdXoddIMqCaym3Zh1UQ/s635/VoiceIn2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="442" data-original-width="635" height="446" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGhxsvwuqagOuBwe7iGVe-oG2vnR5fQDFnkY_OMl7Yw2kU7-PARHDVx0jwLjchpU1H8wLH51gPffQQUe_CdiPgATtJArQvMkvWKYmG30eyQz3JJXdtPx-kw2faq5-uEDxNWdFmo931Vzyg2SSuxZsGIzI4MvwBzSaDBy1_JaErdXoddIMqCaym3Zh1UQ/w640-h446/VoiceIn2.png" width="640" /></a></div><p>ということで私は最近はパソコンでもスマホでもチャットGPTを使う時は音声入力を多用しています。結果、キーボード入力がすごく億劫になってきました(笑)。Windows CopilotでAIアシスタントは使えるようになり、かつ音声入力が使えればパチパチと面倒なキーボード入力をせずにほぼ喋ることはでOSを使いこなすことができるようになります。</p>
<p>スマホの音声アシスタント、例えばSiriですね。あるいはAlexaのようなスピーカー型のAIアシスタント。これら名前にはAIとついていましたが、実際には事前に定義したカンバセーションに従って処理をしていただけで、本当に自然言語でやり取りができていたわけでありません。その証拠に例えばSiriに対してあれこれ命令しても「言ってることが分かりません」と冷たく断れることってよくありますよね。</p>
<p>この煩わしさがなくなるというだけで音声入力によるコンピューターの制御というのはすごく楽になると思います。もちろんオフィスで作業する時にベラベラしゃべってパソコンを操作するというのはあまり受け入れられないことかとは思いますが、それでも操作方法の選択肢が増えるということはパソコンをはじめとしたデバイスの進化としてはインパクトが大きいことだと思っています。昔々のコンピューターではプロンプトでコマンドを打ち込んで操作するCUIからWindowシステムとマウスで操作するGUIに進化した時のようなインパクトではないでしょうか。</p>
<p>このブログ、最近はチャットGPTに文章を書かせたりもしていますが、後半部分の私本人が書いてる記事に関しても実はキーボードでパチパチ打つのではなくて音声入力でベラベラと喋った内容をVoiceInでテキスト化し、後から修正かける。そんな入力の仕方をしています。</p>
<p>話が少し脱線してしまいましたが、Windows Copilotは6月からWindows11のプレビュー版として使える予定だそうです。私としてもぜひ早く使ってみたいと思っています。</p>
<p>それではまた。</p><p>
</p><div><br /></div>
<div><br /></div>
<p></p><p></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-32257304639771154752023-05-23T18:00:00.043+09:002023-05-23T19:01:08.949+09:00GeneXusとAIの連携:未来への一歩 <div class="separator" style="background-color: grey; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0wZbExF3l6PG-ENwwm8S_skZa1uKKD9pOlSUQaY5lHGE6PDSQj9Vj4kklR4peSdU-bkIcfQCY8PFKAsPM58mMBk3T__BsYFRIQkaZ8b2_g2EBUyzMasFElxtJhf4-hHU31mn_deyAL_5rdCxyUPhM1W1p90W1FxKcsuVGZKX1DdkCy2ohmKTX_eaeDw/s547/full_genexus-next_over-dark.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="50" data-original-width="547" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0wZbExF3l6PG-ENwwm8S_skZa1uKKD9pOlSUQaY5lHGE6PDSQj9Vj4kklR4peSdU-bkIcfQCY8PFKAsPM58mMBk3T__BsYFRIQkaZ8b2_g2EBUyzMasFElxtJhf4-hHU31mn_deyAL_5rdCxyUPhM1W1p90W1FxKcsuVGZKX1DdkCy2ohmKTX_eaeDw/w640-h58/full_genexus-next_over-dark.png" style="background-color: grey; border: 0px;" width="640" /></a></div>
<p><span style="background-color: white;"> <span face="Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="color: #374151; font-size: 16px; white-space: pre-wrap;">こんにちは、皆さん。前回の記事「ChatGPTとのフォローアップ」の続編として、今回はGeneXusとAIの連携について詳しくお話ししたいと思います。GeneXusが現在検討しているAIとの連携技術や商品について、詳細に解説していきます。</span></span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">まずは、GeneXusのAIアシスタントについてです。GeneXusは現在、AIアシスタント(通称:TuringBots)を用いて、エンタープライズソフトウェアソリューションを短期間で作成・維持する技術を開発しています。これは、決定的な記号AIとLLM(Large Language Model)技術の組み合わせによって実現されています。AIアシスタントは、ユーザーが必要とするデータやエンティティに基づいてバックオフィスのドラフトを素早く生成することができます。また、バックエンドやAPIの最初のプロトタイプを作成し、プロトタイピングクラウドにデプロイすることも可能です。さらに、複数のデザインシステムを適用してシステムを生成することができ、K2Bパターン、WorkWithPlus、SAP Fioriなどを選択できます。また、GeneXus Nextを使用すると、プロンプトから自動的にネイティブのiOSアプリケーションを生成することができます。ダッシュボードの作成も自動化され、要求されたシステムに関連する可能性のあるクエリを推測し、それらのクエリを含む初期ダッシュボードを生成します。これらの情報は、<a href="https://www.genexus.com/en/products/ai-assistants" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; text-underline-offset: 2px;" target="_new">GeneXusのAIアシスタント</a>のページで詳しく説明されています。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">次に、GE Brainについてです。GE Brainは、大規模言語モデルを成功裏に達成し、AIビジネスアプリケーションの作成と進化を簡素化するスマートゲートとして機能するミドルウェアです。GE Brainを使用すると、コストを削減し、市場投入までの時間を短縮し、ビジネスの知能を向上させることができます。これは、集中化されたデータとコストの可視性を提供し、将来のAIインターフェースを維持し、データのセキュリティとスケーラビリティを確保し、ビジネスのニーズを解決するための組み込みAIパターンを提供することによって実現されます。また、GE Brainは、AIモデルが急速に進化する中で、ビジネスが追いつくのが難しいという課題に対処します。GE Brainは独立したインターフェースを提供し、エージェントが基礎となるAIモデルから切り離されたビジネス視点で進化することを可能にします。さらに、GE Brainの組み込み機能により、インターフェースは接続インターフェースを壊すことなく簡単にテストと更新が可能で、コストを削減し、ビジネスが競争に先んじることを確保します。これらの情報は、<a href="https://ge.nexus/" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; text-underline-offset: 2px;" target="_new">GE Brainのウェブサイト</a>で詳しく説明されています。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">以下に、GeneXusとAIの連携についての図を示します。</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijwBKweMHzsAtFyFAjZe2_emWeBHq62I_Ci16Cfa6LJS6CVCr2xQwOIDL7a1OW0NVCbiJmzjqyZkGCwusXYedIT8-CEIG32VlXdM36gMqwJlq10tzS92_jPSwk1aDr5tQmbsqh7RsVR2rZ_0dOwGe8qDHjFxy7XYbqeN_AkH2KKIK6ZC0masioTlbKMA/s2028/mermaid-diagram-2023-05-23-183635.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1128" data-original-width="2028" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijwBKweMHzsAtFyFAjZe2_emWeBHq62I_Ci16Cfa6LJS6CVCr2xQwOIDL7a1OW0NVCbiJmzjqyZkGCwusXYedIT8-CEIG32VlXdM36gMqwJlq10tzS92_jPSwk1aDr5tQmbsqh7RsVR2rZ_0dOwGe8qDHjFxy7XYbqeN_AkH2KKIK6ZC0masioTlbKMA/w640-h356/mermaid-diagram-2023-05-23-183635.png" width="640" /></a></div><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">この図は、GeneXusがAIアシスタントとGE Brainを用いてどのようにエンタープライズソフトウェアソリューションを作成・維持し、さまざまな機能を提供しているかを示しています。詳細については、上記のリンクを参照してください。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space: pre-wrap;"><span style="background-color: white;">以上が、GeneXusとAIの連携についての詳細な紹介となります。次回の記事でも、最新の技術やトレンドについて詳しく解説していきますので、お楽しみに!</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space: pre-wrap;"><span style="background-color: white;"><br /></span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space: pre-wrap;"><span style="background-color: white;"><br /></span></p>
<hr />
<p>
今回はGeneXusとAI(GenerativeAI)に関する記事をChatGPTに書いて貰いました。</p><p>以下がChatGTPに指示したプロンプトです。使用しているプラグインは「Linkreader」「WebPilot」「ShowMe」です。今回はプロンプトの中で指定している2つのリンクから情報収集をしてもらい、その内容を記事として書いて貰いました。
</p>
<blockquote>指示タイトル:<br />
GeneXusとAIの関係性に関するブログ記事の作成<br />
指示詳細:<br />
以前作成したブログ記事の続編的なブログ記事の作成をして下さい。<br />
以前の記事は以下になります。<br />
https://g-mind.blogspot.com/2023/05/follow-up-chatgpt.html<br />
<br />
執筆内容としては、<br />
・記事タイトル。これから作成する記事の内容を踏まえて考えてください。キャッチーなものをお願いします。<br />
・あいさつ文と前回の続編であることの記述。私の記事の文体をまねてください。<br />
・以下がGeneXusが現在検討しているGeneXusとAIを連携した技術や商品の情報です。<br />
・https://www.genexus.com/en/products/ai-assistants<br />
・https://ge.nexus/<br />
内容を読み込んで要約してそれぞれの紹介記事を書いてください。内容は要約せずに詳細に書いてください。また引用元のリファレンスも提示してください。<br />
<br />
全体として優しくわかりやすい文体で記述をお願いします。<br />
ブログ記事は日本語でお願いします</blockquote>
<br /><p>GeneXus AIアシスタント(GeneXus Next)とGE Brain(Ge.nexus)共に<b>現時点では製品ではなく</b>、技術的な方向性を見せるテクニカルプレビューですので、その点は誤解のないようお願いします。</p><br />
<p>ただ、今時点でこれだけの対応をしているのは正直驚きです。特にAIアシスタントに関しては、具体的に動くデモもあります。私も先行申し込みをして実際に使ってみましたが、自然言語で作成したいアプリの要件を記述すると、その内容からAIがアプリとして必要なトランザクションを導き出し、そのままビルド→アプリが動作するようになります。(だいたい5分~10分くらい) これがそのまま業務で使えるレベルではありませんが、GeneXus社としてはGenerative AIは重要な技術であり、今後のソフトウェア開発の転換点になると捕らえていると見ていいでしょう。</p><p>次回はAIアシスタントについてもう少し詳しく触れてみたいと思います。</p><p>では。</p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-39039901455946772342023-05-19T14:07:00.015+09:002023-05-23T18:39:26.569+09:00ChatGPTの進化: アップデートと未来の展望<p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">こんにちは、皆さん。前回の記事「ChatGPTの影響」に引き続き、今回もChatGPTについてお話しします。前回の記事では、ChatGPTがどのように私たちの生活に影響を与えているかについて深く掘り下げました。今回は、その続編として、最近のChatGPTのアップデートについて、そしてそれが私たちの生活やビジネスにどのような影響を与えているかについてお話しします。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">まず、ChatGPTの最新のアップデート情報から始めましょう。2023年4月11日以降、OpenAIはChatGPTのいくつかの重要なアップデートをリリースしました。</span></p><ol style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; counter-reset: item 0; display: flex; flex-direction: column; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 1.25em 0px; padding: 0px 0px 0px 1rem; white-space: pre-wrap;"><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span style="background-color: white;">ニューロンの説明可能性:OpenAIは、言語モデルのニューロンが何を表しているのかを理解するための新しい研究を発表しました。これにより、ChatGPTがどのようにして特定の言語パターンを理解し、それに基づいて応答を生成するのかをより深く理解することが可能になりました。詳細は<a href="https://openai.com/research/language-models-can-explain-neurons-in-language-models" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; text-underline-offset: 2px;" target="_new">こちら</a>をご覧ください。</span></p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span style="background-color: white;">GPTの労働市場への影響:OpenAIはまた、大規模な言語モデルが労働市場に与える可能性のある影響についての初期的な見解を提供する研究も発表しました。詳細は<a href="https://openai.com/research/gpts-are-gpts-an-early-look-at-the-labor-market-impact-potential-of-large-language-models" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; text-underline-offset: 2px;" target="_new">こちら</a>をご覧ください。</span></p></li><li style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px; padding-left: 0.375em;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;"><span style="background-color: white;">GPT-4の発表:最も大きなニュースは、OpenAIがGPT-4を発表したことです。GPT-4は、前世代のモデルよりも大幅にパワーアップしており、より自然で人間らしい対話を提供することができます。詳細は<a href="https://openai.com/research/gpt-4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; text-underline-offset: 2px;" target="_new">こちら</a>をご覧ください。</span></p></li></ol><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;"><span style="background-color: white;">次に、ChatGPTの利用に関する特徴的な記事をいくつか紹介します。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px 0px; white-space: pre-wrap;"><span style="background-color: white;">残念ながら、特定の記事を見つけることができませんでした。しかし、一般的には、ChatGPTはカスタマーサービ、ビジネスコミュニケーション、コンテンツ作成など、さまざまな分野で広く活用されています。以下の図は、これらのアップデートと利用例を視覚的に示しています。</span></p><div class="min-h-[20px] flex flex-col items-start gap-4 whitespace-pre-wrap break-words" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: flex-start; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #343541; display: flex; flex-direction: column; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; gap: 1rem; min-height: 20px; overflow-wrap: break-word; white-space: pre-wrap;"><div class="markdown prose w-full break-words dark:prose-invert light" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-prose-body: #374151; --tw-prose-bold: #111827; --tw-prose-bullets: #d1d5db; --tw-prose-captions: #6b7280; --tw-prose-code: #111827; --tw-prose-counters: #6b7280; --tw-prose-headings: #111827; --tw-prose-hr: #e5e7eb; --tw-prose-invert-body: #d1d5db; --tw-prose-invert-bold: #fff; --tw-prose-invert-bullets: #4b5563; --tw-prose-invert-captions: #9ca3af; --tw-prose-invert-code: #fff; --tw-prose-invert-counters: #9ca3af; --tw-prose-invert-headings: #fff; --tw-prose-invert-hr: #374151; --tw-prose-invert-lead: #9ca3af; --tw-prose-invert-links: #fff; --tw-prose-invert-pre-bg: rgba(0,0,0,.5); --tw-prose-invert-pre-code: #d1d5db; --tw-prose-invert-quote-borders: #374151; --tw-prose-invert-quotes: #f3f4f6; --tw-prose-invert-td-borders: #374151; --tw-prose-invert-th-borders: #4b5563; --tw-prose-lead: #4b5563; --tw-prose-links: #111827; --tw-prose-pre-bg: #1f2937; --tw-prose-pre-code: #e5e7eb; --tw-prose-quote-borders: #e5e7eb; --tw-prose-quotes: #111827; --tw-prose-td-borders: #e5e7eb; --tw-prose-th-borders: #d1d5db; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-body); font-size: 1rem; line-height: 1.75; max-width: none; overflow-wrap: break-word; width: 653px;"><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; margin: 1.25em 0px;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizlynogGsxNfl3Ckku_Wke2F9phUdP13PvuX1X8_pzBZ6jaJt8qlXxsrj_5Zj5TSHXqC3Q-4lqw5ZfGU_9vQEBOHs2_qWwg5fUEAYe4rbxy84Eircr4W6xw6is8PKmjbQSl9Vrb2pnEiqmXyH1cCgLcGRhei0s3us-iruAINmSg9TXA0QEY4uT_OtAXA/s1694/chatgpt-use-case.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="261" data-original-width="1694" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizlynogGsxNfl3Ckku_Wke2F9phUdP13PvuX1X8_pzBZ6jaJt8qlXxsrj_5Zj5TSHXqC3Q-4lqw5ZfGU_9vQEBOHs2_qWwg5fUEAYe4rbxy84Eircr4W6xw6is8PKmjbQSl9Vrb2pnEiqmXyH1cCgLcGRhei0s3us-iruAINmSg9TXA0QEY4uT_OtAXA/w640-h98/chatgpt-use-case.png" width="640" /></a></div><p></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; margin: 1.25em 0px;"><span style="background-color: white;">最後に、ChatGPTの未来について考えてみましょう。OpenAIがGPT-4を発表したことで、ChatGPTの能力はさらに向上することが期待されています。また、ニューロンの説明可能性に関する研究は、ChatGPTがどのように言語を理解し、それに基づいて応答を生成するのかをより深く理解するための道筋を示しています。これらの進歩により、ChatGPTはカスタマーサービス、ビジネスコミュニケーション、コンテンツ作成など、さまざまな分野でより有用なツールとなることが期待されています。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; margin: 1.25em 0px;"><span style="background-color: white;">最後に、この記事はChatGPTを使って執筆されました。これは、ChatGPTがどのように私たちの生活に影響を与えているか、そしてその可能性を具体的に示す一例です。これからもChatGPTの進化に注目していきましょう。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; margin: 1.25em 0px 0px;"><span style="background-color: white;">それでは、次回の記事でお会いしましょう。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;"></span></p><hr /><span style="background-color: white;">はい。という事で今回もChatGPTでブログ記事を書いてみました。</span><p></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;">「本当にChatGPTでブログ記事なんか書けるの?」と疑う人もいるかと思いますので、その証拠を添付します。最近たいぶ知られるようになってきましたが、ChatGTPで有効な出力を得るための指示をプロンプトといいます。「プロンプトエンジニアリング」と呼ばれるような指示出し技術もあります。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;">以下が上記の記事を書くために作ったプロンプトです。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"></p><blockquote>指示タイトル:
ChatGPTに関するブログ記事の作成
指示詳細:
以前作成したブログ記事の続編的なブログ記事の作成をして下さい。
以前の記事は以下になります。
https://g-mind.blogspot.com/2023/04/Impact-of-ChatGTP.html
執筆内容としては、
・記事タイトル。前回の記事を踏まえて考えてください。キャッチーなものをお願いします。
・あいさつ文と前回の続編であることの記述。私の記事の文体をまねてください。
・以前の記事つまり2023年4月11日以降で、ChatGPTに関するアップデート情報を収集して書いてください。要約して書いてください。
・同様に2023年4月11日以降でChatGPTの利用に関する特徴的な記事を情報収集して最大3つ記載してください。少なくても問題ありません。、内容は要約してください。またリファレンスも提示してください。
・今後ChatGPTに起こりそうな事を情報収集して書いてください。
・最後にこの記事はChargptを使って執筆している事も記載してください。
全体として優しくわかりやすい文体で記述をお願いします。
ブログ記事は日本語でお願いします内容わかりますか対応お願いします</blockquote><p></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;">ChatGPT自体は2021年9月までの情報を元に学習されていて、それ以降の情報は学習モデルの中にはありません。従って、Googleなどのように検索的に使うと違った答えを出してくる事も多いです。これは間違った情報というより、学習内容にない情報はGPTが文章を創造してくるのです。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;">しかし、その状況が今週大きく変わりました。アルファテスタ達には既に公開されていましたが、ようやくChatGPT Plusを契約しているユーザーにも「ブラウジング」と「プラグイン」機能が公開されました。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;">これにより、プロンプトの文面から推測もしくは直接指定されたURLを元にインターネット上から情報収集し、GPT内で処理することが可能になったのです。私の記事も「WebPilot」と「LinkReader」というプラグインを使って、インターネット上からChatGPTの最新情報や利用状況などの情報収集をし、その結果を記事として纏めてくれました。図は「Show me」というプラグインでフローチャートを始めとしてダイアグラムを出力してくれます。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;">ChatGPTが出てくる事で「何もしなくても仕事をしてくれるのか?」「人の仕事が奪われるのか?」といった意見もありますが今時点ではそんな事はなく、逆に「わかりやすく的確な指示を出せる人」でないとうまく使いこなせいです。ただ、検索と違って「正確なワード」を指定出来なくても「文脈として正しく伝える」事が出来ればGTPは理解してくれ意図した仕事をしてくれます。つまり、大切なのはAIとのコミュニケーションなんですね。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;">私も最近ではキーボーとからパチパチと打ち込むより、iPhoneの音声入力を使って喋り言葉で指示する事が多いです。多少間違っていても、言い直したり、念押しする事でGPTはこちらの意図を理解してくれます。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;">という事でこの1ヶ月ほどで状況が時々刻々と進化してきているChatGPTに関する続報でした。では。</span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;"><br /></span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3V3MztiXdjJ2nYbGykkN9NDVe8DEb3Z3fwZFni0aK_ErVPlzEmckvYj7pLA8dhB8McwCDVEOFbcXes1YBqVVKooLtMGJv_-Gb3JjR67a7y-UGpV8G-rXL3q1SWBh5xhsDkzyAgF0uV9-MGCdBDSkyNc70iAiY6Eom3u6EKZmb3Oox_feUff_mBpglow/s1646/chatgpt-prompt2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1646" data-original-width="909" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3V3MztiXdjJ2nYbGykkN9NDVe8DEb3Z3fwZFni0aK_ErVPlzEmckvYj7pLA8dhB8McwCDVEOFbcXes1YBqVVKooLtMGJv_-Gb3JjR67a7y-UGpV8G-rXL3q1SWBh5xhsDkzyAgF0uV9-MGCdBDSkyNc70iAiY6Eom3u6EKZmb3Oox_feUff_mBpglow/w354-h640/chatgpt-prompt2.png" width="354" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><span style="background-color: white;"><br /></span><p></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;"><br /></span></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 1.25em 0px 0px;"><span style="background-color: white;"></span></p><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p></p></div></div>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-53614302104555820122023-05-11T13:13:00.002+09:002023-05-11T13:13:43.499+09:00GX30 : GeneXusインターナショナルミーティングが開催されます<p> ご無沙汰してます。横井です。</p><p>GeneXus社のニュースレターによると、新型コロナウイルスの影響でリアル開催が延期されていたGeneXusインターナショナルミーティングが開催されると発表がありました。</p><p>今年は11月28日~30日の3日間、ウルグアイのラディソンホテルで開催となります。</p><p>例年は9~10月だったので、2カ月遅い開催ですね。4年ぶりという事もあり、準備に時間が必要なのでしょうか。いずれにせよ、久しぶりにFace to faceでイベントが開催されるのはうれしい限りです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.genexus.com/en/news/read-news/gx30-the-genexus-meeting-returns-to-in-person-format" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="853" data-original-width="1280" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzsxPbJQd6ozsFDsSAMwZXJ_UP9sPb6l1Ne-KGamFSZNqC-wBixT8-3UcKjK70szLx4ITNGZBkLkm5F-O1fkt2fDdURx4Ic3K-y4N-gJie0TEYk2fmHRWqnY08XTTfVl9ZtpGtn_A4_M9E3JgE_r9nzvSAjuv0L_LxikSZt8lb2oWXxfBkU3qmxaFjng/w640-h426/gx-30.png" width="640" /></a></div><div><br /></div><div>今から参加の日程調整をしましょう。日本からも数多くの参加をお待ちしてます。</div>では。<br /><p><br /></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-68103083678007530362023-04-11T09:13:00.002+09:002023-05-23T18:39:53.053+09:00ChatGPTのインパクト<p> こんにちは、ソフトウェア開発者の皆さん!今回のブログ記事では、近年注目を集めているAI技術「ChatGPT」について、その凄さや将来の予測、そしてソフトウェア開発プロセスへの影響を考察していきます。</p><p><br /></p><p>【第1章: イントロ】</p><p>ChatGPTは、OpenAIが開発した大規模な言語モデルで、その第4世代となるGPT-4がリリースされて以降、さまざまな分野で活用されるようになりました。その性能の高さから、ビジネスや学術界での活用事例が増えており、今やIT業界の注目技術のひとつとなっています。</p><p><br /></p><p>【第2章: ChatGPTの凄さ】</p><p>それでは、ChatGPTがこれまでのAIとどのように違っているのでしょうか。まず、GPT-4は非常に大規模なデータをもとに学習されており、自然言語処理の能力が飛躍的に向上しています。これにより、人間と対話するかのような応答が可能となり、より自然なコミュニケーションが実現できるようになりました。また、多言語対応も進んでおり、グローバルな状況での活用が期待されています。</p><p><br /></p><p>【第3章: ChatGPTを経験したことでの将来予測】</p><p>高度なAI技術が発展し続ける中で、人々はどのような未来を迎えるのでしょうか。ChatGPTを経験したことで、私たちはAIを使いこなせる人と使いこなせない人の二極分化が進むことが予見されます。そして、その使いこなしのポイントとして、「プロンプトエンジニア」が重要な役割を担うことになるでしょう。</p><p>プロンプトエンジニアとは、AIシステム(特にChatGPTのような自然言語処理モデル)に対して、効果的なプロンプト(入力)を与えることができる専門家のことです。彼らは、AIとのコミュニケーションを円滑に進めるために、適切な質問や情報の提示方法を理解しており、これによってAIシステムから最適な回答やアウトプットを引き出すことができます。</p><p><br /></p><p>【第4章: ソフトウェア開発プロセスへの影響】</p><p>ChatGPTの進化が、ソフトウェア開発プロセスにどのような影響をもたらすかを考えてみましょう。ます、コード生成やバグ検出などの開まず、コード生成やバグ検出などの開発タスクにおいて、ChatGPTが大きな助けとなることが予想されます。これにより、開発者はより短時間で高品質なコードを生成することが可能になり、生産性が向上するでしょう。</p><p>また、ChatGPTはドキュメントの作成や更新も効率的に行えるため、開発者がより多くの時間を新しい機能の開発や改善に注力できるようになります。</p><p>さらに、開発チーム間のコミュニケーションも円滑になることが期待されます。ChatGPTを活用すれば、技術的な質問や議論を効率的に行えるため、開発プロセス全体がスムーズに進むことでしょう。</p><p>しかし、一方で、AI技術の進化によって新たなリスクも生じることが考えられます。例えば、知識の陳腐化やセキュリティ問題、そして開発者の技術力の低下が懸念されます。これらのリスクに対処するためには、開発者自身がAI技術を理解し、適切な使い方を学ぶことが重要です。</p><p>最後に、ChatGPTがソフトウェア開発プロセスに与える影響は大きく、今後さらなる進化が期待されます。開発者は、この技術を効果的に活用し、自分たちのスキルを磨き続けることで、未来のソフトウェア開発のリーダーとなることができるでしょう。</p><p><br /></p><p>まとめ</p><p>ChatGPTは、近年のAI技術の進化によって非常に高い性能を発揮し、さまざまな分野で活用されるようになっています。今後は、二極分化が進むことが予見される中で、プロンプトエンジニアの重要性が増すでしょう。そして、ソフトウェア開発プロセスにも多大な影響を与え、生産性向上やコミュニケーションの円滑化が期待されますが、同時にリスクも考慮し、適切な使い方を学ぶことが重要です。開発者は、AI技術と共に進化し続けることで、未来のソフトウェア開発のリーダーとなることができるでしょう。</p><p><br /></p><hr /><p>ここまで読んできて「なんかおかしいな? いつもと違うな?」と感じたあなたは鋭い。実は↑の記事はChatGPT(GPT-4)に書いてもらいました。</p><p>記事のタイトル、章の構成などを伝え、出力された内容を見てフィードバックを2~3回出してリライトしたものです。ものの5分で出来上がりました。</p><p>もちろん、内容の是非や書き手としてのテイストなど、色々と課題はありますが、今時点でここまでの事が出来る、しかも、チャットという自然言語でのやり取りで出力されるのはやはり驚きです。</p><p>GTP-4が出てからこの1ヶ月間で使いこなしのテクニックがあちこちで見られ、今後一般公開されるであろうプラグインの動作を見るにつけ、今後もますます楽しみです。私も色々と課金して勉強しています。</p><p>では。</p>
横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-6155532521855947642023-02-15T14:39:00.002+09:002023-02-15T14:40:43.024+09:00GitHub Copilot for Businnessがリリースされました<p> ご無沙汰してます。横井です。</p><p>2022年もすっかりブログを更新せずに年を越してしまいました。新型コロナの驚異という長いトンネルもようやく出口が見えてきた2023年ですが、皆さんは元気でお過ごしでしょうか。</p><p>久々のブログ投稿ですが、話題はGeneXusではありません。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://github.blog/2023-02-14-github-copilot-for-business-is-now-available/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="318" data-original-width="600" height="318" src="https://github.blog/wp-content/uploads/2023/02/GitHub-Copilot-for-Business.png?resize=600%2C318" width="600" /></a></div><br /><p><a href="https://github.com/features/copilot" target="_blank">GitHub Copilot</a>はGitHubがOpenAIと提携し2021年からテクニカルプレビューを始め、2022年に一般公開されていましたが、この度for Busineesとして全ての開発者・組織に向けて公開されました。</p><p>このGitHub Copilotという機能はプログラマがコーディングをする時にAIがプログラムの文脈を読み取りこれから書こうとするコードを予測して書いてくれるものです。「Copilot=副操縦士」という名が示す通りコーディングをアシストしてくれます。</p><p>当該ページのタイトルに「AI Pair Programming」とありますが、XP(エクストリーム・プログラミング)で提唱された「ペアプログラミング」を人ではなくAIが代行してくれる。というものです。</p><p>これにより、GitHubはコーディングを55%高速化する事ができると行っています。</p><p>少し前では「AIがいくら進化しているとはいえ、人に変わってコーディングするなんて無理無理」と考えがちでしたが、昨年から今年に掛けてのわずか数ヶ月でChat-GPTやAIアートなど次々とクリエイティブ分野での実績を出しています。そしてMicrosoftからBing+AI(Prometheus)がリリースされ、さらにGoogleからBardがリリースされるなど、検索エンジンもAIを使って変わろうとしています。</p><p>こうした状況からも2023年はAIを実用的に使い始める転換の年になりそうです。</p><p><br /></p><p>話はプログラミングの世界にもどって、業務システムの開発においては、この5~6年ほどは「ローコードツール」が業界を賑わせています。</p><p>個人的には「超高速開発ツール」と同じバズワード(マーケティングワード)だと冷静に捉えていますが、それでもGeneXusもローコードのくくりの中で紹介されることで世に広まるきっかけになればとは思っています。</p><p>しかし、ここにきてAI Pair Programmingツールが実用的になってくると、いったい生産性が高いのは「ローコードツール」なのか? それとも「AIペアプログラミング」なのか? と色々思いあぐねるものがあります。</p><p>いずれにせよ、このまま行くと一から十までゴリゴリとコーディングするプログラマーは絶滅危惧種になってしまうかもしれません。</p><p>かつて、自動車は全てマニュアル車でしたが、今の日本では99.9%以上はオートマチック車です。レースの世界でも人がクラッチを蹴って手でシフトチェンジをするより、高度に電子制御された自動シフトチェンジの方が圧倒的にパフォーマンスが出るようになってしまったので、マニュアル車はもはや趣味で乗る人ぐらいしか持たない状態です。</p><p>ソフトウェア開発の世界でも同じような状況がそう遠くない将来やってくるかもしれません。</p><p><br /></p><p><br /></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-91596999946532512992022-11-08T09:20:00.001+09:002022-11-08T09:20:11.655+09:00GeneXus Day 2022が開催されます。<p> 来たる2022年11月24日にGeneXus Day 2022がオンラインセミナーとして開催されます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.genexus.jp/archives/4404" target="_blank"><img border="0" data-original-height="560" data-original-width="960" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlxruQORlr-qWCHlMvhb8HH1bhns6nz5-KdPIsUeipgo9LMeRdNuByFcnYDDvxlahANrr91mC9f7u00GV2QINEbm0TtoS6-bD9HlKPEAYfVO-Y42aLj_VprxkNILfil7_cJOSsgJZcTArm9bdUdFUEZew-W5gRAZZGQF-lsWuKJmlLvT7snUbOHi4ypQ/w640-h374/Genexus-day-2022-MainBanner.png" width="640" /></a></div><p>今年は「ローコードで目指すDXの未来」と題してGeneXus最新情報やユーザー様の事例発表が行われます。</p><p>製品情報として注目は、先日ウルグアイ本国で行われましたイベントで発表がありました新バージョンGeneXus18ですね。本国のサイトでも動画は見られますが、日本語訳で説明が聞けるのは助かりますね。</p><p>また、ユーザー事例では私が<span> 10年に渡って支援を続けています山崎製パン様のGeneXusを使った内製化の取り組みの発表があります。GeneXusのイベントでは2016年に続き2回目となる山崎製パン様ですが、巷でDXと騒がれる遙か昔から自ら業務改革を進める基盤としてGeneXusを採用・活用されてきた秘訣がお話頂けると思います。</span></p><p>申し込みは<a href="https://www.genexus.jp/archives/4404" target="_blank">こちら</a>から。</p><p>皆さんの申し込みをお待ちしております。</p><p><span><br /></span></p><p><span><br /></span></p><p><span><br /></span></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-60232449986599487772022-09-29T12:00:00.001+09:002022-10-05T16:16:01.441+09:00【導入事例】日経コンピュータにりそなホールディングス様のGeneXus導入記事が掲載されました<p> 日経コンピュータ2022年9月29日号のケーススタディに「ローコードで営業店システム刷新アプリ自動生成、開発期間半減」と題して、りそなホールディングス様のGeneXus導入記事が見開き2ページに渡って掲載されました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAnaWL6swmZHekium8DfuhVJLF9htGMv0HMZMgJvrKx_woxp5xzUKDgwe2zVNn3IQunIxhAgbwMZF_p0tCr4RqxtSwBqbchTU3-dU4Yj2hQdUvLUyo36tcWdOKeVWqtwrI0O6ijUE05LsV_lonNLNPSxwDAesPyTmhsmfAHRbunxxacdCHJCTQx5t2GQ/s381/nc_cover.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="381" data-original-width="286" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAnaWL6swmZHekium8DfuhVJLF9htGMv0HMZMgJvrKx_woxp5xzUKDgwe2zVNn3IQunIxhAgbwMZF_p0tCr4RqxtSwBqbchTU3-dU4Yj2hQdUvLUyo36tcWdOKeVWqtwrI0O6ijUE05LsV_lonNLNPSxwDAesPyTmhsmfAHRbunxxacdCHJCTQx5t2GQ/s320/nc_cover.jpg" width="240" /></a></div><p><br /></p><p>日経BP社がりそなホールディングス様に取材された記事ですが、なんと弊社イノベーティブ・ソリューションズの名前も掲載されていました。(驚)</p><p>有料記事ですのでここには内容の転載はできませんが、りそなホールディングス様がGeneXusを採用するにあたってのPoc支援から実際に開発に入ってからの標準化支援まで多岐にわたってご支援させて頂いた事が書かれていました。</p><p>銀行へのインタービューでいちベンダー(それも弊社のような零細企業)の名前を挙げて頂けるとは驚きもあり、非常にありがたい事でした。弊社の事は別にしても大手金融機関がGeneXusを採用した事例紹介が日経コンピュータに掲載されるのはGeneXusを広める観点でもうれしい限りです。</p><p>是非、ご一読を。同じ記事が日経クロステックでも掲載されています。Webでご覧頂きたい方は<a href="https://xtech.nikkei.com/atcl/nxt/mag/nc/18/020600004/091600113/" target="_blank">こちら</a>をどうぞ。(有料会員向け記事です)</p><p><br /></p><p><br /></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-50301803821894742942022-04-11T09:00:00.068+09:002022-04-11T09:06:13.954+09:00【導入事例】週刊BCN+に山崎製パン様のGeneXus導入事例が掲載されました<p>こちらは昨年(2021年)になりますがGeneXus導入事例の紹介です。</p><p>週刊BCN+に山崎製パン様の導入事例が掲載されました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.weeklybcn.com/journal/issue/detail/20210917_185301.html" targat="_blank" target="_blank"><img border="0" data-original-height="2035" data-original-width="1439" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiouyt5XpR0-A8ioc_D4rvZGgiuxT59s1wh0FiQFKzX4XQFPPGd1iMcsjx33JFBPYN_DE_NRfA09iy91w5h3l_TOkdx1VTQ1RXFnCsJIUBc9IuMa7_XcAftud_WrThocf5Tc-u7oKnjoaksedf8-kyXftglyrJb5lWueqn3x-cdpSkU7NeNegDgH2Hp9Q/w453-h640/210917_%E9%80%B1%E5%88%8ABCN.png" width="453" /></a></div><br /><p>山崎製パン様はGeneXusを採用されて10年になりますが、実は採用に至る評価から始まり、採用後の教育、開発支援、内製化支援などを私が手掛けさせて頂いております。</p><p>2016年にはGeneXus Dayで講演をして頂きました。</p><p>講演の中でも説明頂いておりましたが、山崎製パン様においては元々受注システムが基幹システムとして存在しており、GeneXusで開発した製品統合マスタ(ASCA)は基幹システムの周辺システムという位置づけでした。しかし、システム稼働後も継続的に(特に食品衛生法など法律の対応が必須のシステムという事もあり)開発を続けられており、成長を続けた今ではこのシステムが無いと山崎製パンの新製品を発売する事が出来ないぐらい重要な位置づけのシステムになってきました。</p><p>今後も5年、10年、20年と長いサイクルでGeneXusを活用してシステムを維持していかれると思います。</p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0日本、〒101-8585 東京都千代田区岩本町3丁目10−135.6957446 139.77639337.3855107638211521 104.6201433 64.00597843617885 174.9326433tag:blogger.com,1999:blog-1585524733578154149.post-34119860406313678422022-04-01T10:39:00.002+09:002022-04-01T11:30:49.008+09:002022年 新年度が始まりました<p> 本日から新年度がスタートしました。すっかりご無沙汰しております。横井です。</p><p>本業の忙しさもあり、この2年間ですっかりブログを書くことが減ってしまいました。(2年間で5投稿) この間、新型コロナウイルスの蔓延や災害、ロシアによるウクライナ侵攻など、国内外で不安定な情勢が続いております。一日も早く元の状況に戻ることを願っています。</p><p>さて、少しばかり昨年度の振り返りをしたいと思います。</p><p>昨年、私の周辺で一番大きなトピックだったのは、GeneXus Day2021で発表した「りそなグループによる次世代営業店システムでのGeneXusの適用事例」でした。この講演ではりそなグループでGeneXusを採用する判断をして頂いたNTTデータソフィア株式会社の白鳥副社長にも登壇頂き、GeneXus採用の経緯をお話頂きました。</p><p>そして私からは同プロジェクトでGeneXusを採用頂くための活動と、実際の開発でのGeneXusの適用の仕方をお話させて頂きました。</p>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="337" src="https://www.youtube.com/embed/jeGw6D81iYM" title="YouTube video player" width="600"></iframe>
<div><br /></div><div><a href="https://www.genexus.jp/wp-content/uploads/2021/11/20211112_GXDay2021_PDF_InnovativeSolutionsInc.pdf" target="_blank">投影資料「りそなグループ次世代営業店システムでの GeneXus 適用事例」</a></div><div><br /></div><div>GeneXusは近年ではローコードと呼ばれるツールに分類され話題の一部になっていますが、ただツールを採用すればシステム開発が成功するかというと決してそんなことはなく、対象となるシステムや業務の見極め、開発体制や方法論の策定、教育や支援方法の検討など、プロジェクト全般に渡って適用方法を考えなければいけません。</div><div>逆に言えば、それらが網羅できるのであれば金融機関における基幹システムの再構築もGeneXusで可能になる。という事です。そしてこれは他のローコードツールでは不可能な事だと考えます。</div><div><br /></div><div>近年のローコードツール流行りの中色々なプレゼンを見ますが、どれも「簡単なシステム」を「システム開発に疎い人」でも「簡単に」作れる。といった内容がほとんどです。これはこれで否定するつもりは全くありませんが、一昔前のEUC(エンドユーザーコンピューティング)の流行により管理もメンテも出来ない多種多様なシステムが企業内に氾濫した歴史の繰り返しになるのでは? という危惧を覚えます。</div><div><br /></div><div>GeneXusはライセンス費用の高いですし、正しく使いこなすにはツールの根底にある考え方を理解し、今までの自分たちの考え方を変えていく必要があります。(ただのコーディング工数削減ツールとて採用すると大抵失敗プロジェクトになります) この辺りがハードルを高くしている要因だと思いますが、我々としては正しく理解し、正しく使って頂く、GeneXus導入・内製化ソリューションを今後展開していく予定です。</div><div><br /></div><div>こうご期待ください。</div><div><br /></div><div><br /></div><div><br /></div>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0tag:blogger.com,1999:blog-1585524733578154149.post-80240697006134083062021-07-21T14:43:00.001+09:002021-07-21T14:43:38.118+09:00【NEWS】日経電子版オンラインセミナー(7/28~7/30)にGeneXusの事例発表があります2021年7月28日(水)〜31日(土)に開催される、日経電子版オンラインセミナー <div>「企業のDXを高速化するノーコード、ローコード開発とは」に ジェネクサス・ジャパン(株)が協賛しています。</div><div>以下、ジェネクサス・ジャパンからの<a href="https://www.genexus.jp/archives/2617" target="_blank">プレスリリース</a>です。
</div><div><br /></div>
<blockquote>日経電子版オンラインセミナー「日経電子版オンラインセミナー 企業のDXを高速化するノーコード、ローコード開発とは」に協賛いたします。
<br />協賛講演としましてNTTデータソフィア株式会社 取締役副社長 白鳥 哲也氏にご登壇いただき、『GeneXusを活用したりそなグループの次世代営業店システム構築について』をご講演いただきます。
<br />本講演ではりそなグループの次世代営業店システムをGeneXusを活用して構築、プロジェクトの概要とローコード開発ツール活用の狙い・効果・リスク対策等をお話しいただきます。<br />
オンラインセミナーは事前申し込み制です。専用ページよりお申し込みの上、ぜひご参加ください。<br /><br />
■日経電子版オンラインセミナー<br />
「企業のDXを高速化するノーコード、ローコード開発とは」<br />
日時: 2021年7月28日(水)10:00〜7月31日(土)10:00<br />
お申込み頂きましたら、開催期間中はいつでもご講演が視聴可能です。<br />
場所: オンデマンド配信<br />
主催: 日本経済新聞社 デジタル事業 メディアビジネスユニット<br />
料金: 参加無料<br />
【お申込み・プログラム(特設ページ)】 <a href="https://events.nikkei.co.jp/39425/">https://events.nikkei.co.jp/39425/ </a><br />
★お申し込みの際には日経ID(無料で取得可能)が必要です。<br />
</blockquote>
又、当講演にて発表の事例は弊社、株式会社イノベーティブ・ソリューションズが関わった案件です。
以下、弊社の<a href="https://www.innovative-solutions.co.jp/resona-dx-isol-gx/" target="_blank">プレスリリース</a>です。
<blockquote>弊社、株式会社イノベーティブ・ソリューションズ(本社:神奈川県横浜市、代表取締役:細江 浩、以下「Innovative Solutions」)が関わった案件について、日経新聞のオンラインセミナーで事例発表がございます。<br /><br />
当システムにおける弊社の役割は、GeneXusの特徴を活かす開発手法のコンサルティングと将来の内製化に向けた開発支援です。<br />
結果として開発段階の生産性向上だけでなく、ソフトの変更容易性の確保、OS,ハードウェアなどのEOS(保守終了)など、<br />
将来起こりうる課題に対し、柔軟な対応能力を得るための標準化を進め、ライフサイクルコスト削減を担保するアプローチが評価されているのだと思います。<br />
これは「Future Ploof」(将来も使い続けられる、レガシー化しない)という概念で、DXの推進には必須の概念になります。<br />
<br />
〇 システム更改を予定している企業の皆様<br />
〇 DXの一環で新規システム開発を進めていこうとしている企業の皆様<br />
〇 システムの内製化に取り組もうとお考えの企業の皆様<br />
<br />
是非、セミナーにご参加ください<br /></blockquote>
お申込期限:2021年7月26日(月)17:00までとなっております。
お早めのお申し込みをお願い致します。横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com1tag:blogger.com,1999:blog-1585524733578154149.post-78461775265984417542021-03-25T15:28:00.002+09:002021-03-25T15:35:17.787+09:00【NEWS】りそなHD、GeneXusによるローコード開発で営業店システムを構築、想定16カ月を7カ月で開発<p> 既に各ニュースサイトでも掲載されていますが、株式会社NTTデータ、NTTデータソフィア株式会社、ジェネクサス・ジャパン株式会社の三社合同のプレスリリースがありました。</p><div style="text-align: center;"><br /></div><p></p><p></p><blockquote>りそなホールディングスは、ローコード開発で構築した新たな営業店システムを、2021年4月から順次稼働させる。2020年10月から一部機能で試行していたシステムである。ローコード開発ツールの「GeneXus」を採用した。現在は、りそなホールディングス傘下の各行の開発にもGeneXusの採用を決定し、開発に着手している。NTTデータ、NTTデータソフィア、ジェネクサス・ジャパンの3社が2021年3月19日に発表した。<p><a href="https://it.impress.co.jp/articles/-/21229" target="_blank">IT Leaderの記事</a>から引用 </p></blockquote><div><br /></div><div>ポイントはプレスリリースの一番下に書いてある「【今後について】りそなホールディングスは現在、傘下の各行の開発においてもGeneXusの採用を決定し、現在開発に着手している。」という所。</div><div><br /></div><div>プロジェクトレベルではなく、銀行レベルでGeneXusの採用を決定しています。(他のニュース記事だと省かれてる) </div><div><br /></div><div>実は、ユーザー企業がGeneXusを採用する場合で成否を分ける点です。<br /></div><div><br /></div><div><br /></div><div>「ローコード開発ツール」という表現はどうしても「コーディング量を減らして開発工数を抑える」という印象を与えがちですが、GeneXusの本質は開発フェーズだけでなく、本番運用が始まった後の運用フェーズや実行環境のリプレースなど、一度開発したシステムを5年・10年と使用していく為のアプリケーション・ライフサイクル・管理(ALM)プラットホームです。</div><div><br /></div><div>ここが他のローコード開発ツールと決定的に違う点です。</div><div><br /></div><div>そして、ALMプラットフォームとしては、プロジェクトコストとしてツールを導入するとプロジェクトが終了すれば体制は解散、ツールの継続利用コストも負担できず、開発を続けづらい状況に陥ってしまいます。</div><div>こういった事態を防ぐには、プロジェクトコストではなく部門コストとして継続的に費用を計上出来る予算取りが重要になります。</div><div><br /></div><div>つまり、プロジェクトにツールを投入するのではなく、ツールも含めた継続的な開発体制に対して案件を投入していく。そんなイメージです。</div><div><br /></div><div>今回の事例を機に、大手企業でもGeneXusの採用が進めばと思います。</div><br /><p></p><div><a href="https://www.nttdata.com/jp/ja/news/release/2021/031902/" target="_blank">NTTデータのプレスリリース</a></div><div><a href="https://www.nttdsofia.co.jp/news/index.html" target="_blank">NTTデータソフィアのプレスリリース</a></div><div><a href="https://www.genexus.jp/archives/2096" target="_blank">ジェネクサス・ジャパンのプレスリリース</a></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-rJfPzoI-Raw/USxBzWEQYNI/AAAAAAAAA2Q/WAtsPAAWDJg4vFf4YM5UBd1GGij9dMALQCPcBGAYYCw/s205/genexus.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="47" data-original-width="205" src="https://1.bp.blogspot.com/-rJfPzoI-Raw/USxBzWEQYNI/AAAAAAAAA2Q/WAtsPAAWDJg4vFf4YM5UBd1GGij9dMALQCPcBGAYYCw/s0/genexus.png" /></a></div><br /><div><br /></div>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.comtag:blogger.com,1999:blog-1585524733578154149.post-41421549268786550132020-11-19T23:19:00.005+09:002020-11-19T23:19:38.415+09:00GeneXus Day 2020 Webinar が開催されました(動画アーカイブの紹介)<p>2020年11月12日にGeneXus Day 2020 Webinarが開催されました。</p><p>今までGeneXusのイベントは会場に集まって頂いてリアルな講演会でしたが、今年は新型コロナウイルスの影響でWebinarというオンラインでの開催となりました。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.genexus.jp/archives/1005" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="560" data-original-width="960" height="350" src="https://1.bp.blogspot.com/-AGzhgOQFOmA/X6ji_zMweOI/AAAAAAAAE28/KxdrjIkBWCMdsliPjE9R2hfqu-0snu7sACPcBGAYYCw/w640-h374/GeneXus-Day-2020-9.png" width="600" /></a></div><br /> 今回は以下のプログラムでした。<p>1 [ジェネクサス・ジャパン講演] 技術サポート部 松本 右・ 佐脇 光太郎</p>
<p>2 [事例発表1] カナディアン・ソーラー・ジャパン株式会社 今野 陽介</p>
<p>3 [事例発表2] 株式会社イノベーティブ・ソリューションズ 横井 利和</p>
<p>4 [事例発表3] アプリケーションアシスト株式会社 植田 真人</p>
<p>5 [事例発表4] エヌ・ティ・ティ・コムウェア株式会社 山本 達哉</p><p>(各講演の動画と資料ダウンロードは<a href="https://www.genexus.jp/archives/1005" target="_blank">ジェネクサス・ジャパン社のサイト</a>でどうぞ)</p><p>かく言う私も講演させて頂きました。日本での公演は10年ぶりぐらいでしょうか。ここの所ウルグアイで開催されるGeneXusイベントでの講演ばかりだったので、久しぶりに日本語の講演が嬉しくて気合いを入れて原稿を作成したら30分の枠に全く収まらず、前半パートは割愛させて頂くという始末。。大変失礼をしました。</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://www.innovative-solutions.co.jp/isol-blog/2020/11/19/genexus-day-2020-webinar/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="630" data-original-width="1124" height="340" src="https://1.bp.blogspot.com/-De3U6NCAUe4/X7Z67DVk8YI/AAAAAAAAE3Q/WXbDFyOqDrEkQy16DySV8-UFm9hdGYKQACLcBGAsYHQ/w640-h358/genexus-day-2020-webinar-yokoi2.png" width="600" /></a></div><div><br /></div><div>今回はDXやニューノーマルといったコロナ禍も含めた環境の変化に企業がいかに対応するかという時代背景も含めて、アプリケーションライフサイクルマネジメント(ALM)という視点でGeneXusを語りました。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://www.innovative-solutions.co.jp/isol-blog/2020/11/19/genexus-day-2020-webinar/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="600" data-original-width="1126" height="340" src="https://1.bp.blogspot.com/-rNAPMTAs4LA/X7Z67EW4G7I/AAAAAAAAE3U/sHiwFcRPLBwPgaQh4PXWMB4ZNtMHc00IwCLcBGAsYHQ/w640-h362/genexus-day-2020-webinar-yokoi3.png" width="600" /></a></div><div><br /></div><div>兎角GeneXusは超高速開発ツールとかローコード開発ツールといった目の前のコストダウン・効率化に焦点が当たりますが、そういった状況に対する<b>アンチテーゼ</b>として<b>アプリケーションライフサイクルマネジメント</b>を下支えするツールという位置づけと、<b>テストの資産化</b>という新しい言葉・考え方をお話しさせて頂きました。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://www.innovative-solutions.co.jp/isol-blog/2020/11/19/genexus-day-2020-webinar/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="634" data-original-width="1126" height="340" src="https://1.bp.blogspot.com/-NfC-E_96iHA/X7Z677uPwnI/AAAAAAAAE3Y/SV5uppbOMwgIKvEUlB5URdBbVnFFWghGQCLcBGAsYHQ/w640-h360/genexus-day-2020-webinar-yokoi4.png" width="600" /></a></div><div><br /></div><div>とはいえ、我々もテスト自動化の取り組みはまだ道半ばです。色々と試行錯誤しながらゴールを探す旅の途中です。今後も機会がありましたら同様のテーマでその後の進捗をお話しできればと思っています。</div><div><br /></div>尚、Webinar動画とは別に弊社イノベーティブ・ソリューションズのスタッフが講演会場で撮影した動画も公開する事にしました。より鮮明が映像で講演がご覧頂けます。<a href="https://www.innovative-solutions.co.jp/isol-blog/2020/11/19/genexus-day-2020-webinar/" target="_blank">イノベーティブ・ソリューションズのサイト</a>もどうぞご覧下さい。<br /><p><br /></p><p>では。</p><p><br /></p><p><br /></p><p><br /></p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com日本、〒101-0021 東京都千代田区外神田2丁目16−2 神田明神文化交流館2F35.701851 139.76728247.3916171638211523 104.6110324 64.012084836178843 174.9235324tag:blogger.com,1999:blog-1585524733578154149.post-56125128310755387032020-11-09T15:41:00.000+09:002020-11-09T15:41:18.918+09:00GeneXus Day 2020 Webinar が 2020年11月12日(木)に開催されます<p> すっかりご無沙汰しております。横井です。</p><p>直前の案内になりますが、2020年11月12日(木)にGeneXus Day 2020 Webinarが開催されます。今年は新型コロナウイルスの影響でリアルのイベントではなく、オンラインでのWebinar開催となりました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.genexus.jp/archives/1005" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="560" data-original-width="960" height="234" src="https://1.bp.blogspot.com/-AGzhgOQFOmA/X6ji_zMweOI/AAAAAAAAE24/JJJJyGEIwH4_0Ca-5OlwI9cUGZpuXYSpACLcBGAsYHQ/w400-h234/GeneXus-Day-2020-9.png" width="400" /></a></div><p><br /></p><p>今回は私も「ローコード開発でもレガシー化する?! ALM を担保する GeneXus でのテスト戦略」というタイトルで講演をします。ここの所セミナーでの講演はウルグアイばかりで日本での講演は久しぶりです。張り切りすぎてPPTを作りすぎてしまったので削るのに焦っています。</p><p>ここ最近での取り組みの成果をお話ししますので、ぜひご期待ください。</p><p><br /></p><p>申し込みは<a href="https://zoom.us/webinar/register/WN_l8mX_gIHT5S-YeCZe1elWA" target="_blank">こちら</a>から</p>横井 利和http://www.blogger.com/profile/08510389952731910656noreply@blogger.com0日本、〒101-0021 東京都千代田区外神田2丁目16−2 神田明神文化交流館2F35.701851 139.767282435.700108448666221 139.76513663278809 35.703593551333775 139.76942816721191