この記事では、主にGPTを活用して開発を支援し、実際の開発プロセスを最適化する方法を紹介します。また、JD.comが今年20周年を迎えるにあたり、618ショッピングフェスティバル期間中の実際の業務にGPTを統合し、アプリケーションの価値を高める方法についても解説します。この記事のすべてのコードとスクリプトはGPTを使用して生成されています。
今年のアジャイルチーム構築中に、Suite Executorを使ってワンクリックで自動ユニットテストを実装しました。Suite Executorの他に、JuintにはどんなExecutorがあるのでしょうか?こうして、私のRunner探求の旅が始まりました! GTPを用いたコード開発は、最も一般的なタスクの一つです。自然言語でニーズを明確に記述すれば、GTPは実行可能なコードスニペット、あるいは完全なアプリケーションを作成できます。さらに、記述が明確かつ簡潔であれば、生成されるコードはバグがなく、非常に効率的です。
具体的な例として、以前のバージョンのプロジェクトでは、ランディングページの黄色い通知バーのUIを再設計する必要がありました。具体的な要件は次のように記述されていました。図2. UIデザイン案 これはかなりシンプルな要件であり、Flutterを使用して開発する予定です。Dartの知識がほとんどない、あるいは全くない開発者、あるいはFlutter開発の経験がない開発者でも、GPTを使用してこのシンプルな開発タスクを実行できると仮定しましょう。GPTを説明する際は、要件を明確に述べ、重要な情報を強調するために、分かりやすい言葉遣いを心がけてください。 図3. 要件記述言語の概略図 このようにして、GPT は必要なビュー コードの生成に役立ちます。これは、Dartプログラミング言語を初めて使用した開発者にとって非常にユーザーフレンドリーです。任意のプログラミング言語を指定できるため、理論的には誰でもクロスプラットフォーム開発に精通できるようになります。 GPT を使用してコードを開発する際に考慮すべき重要なポイントを以下にまとめます。 言語の種類、ターゲットの種類、幅、高さ、色、フォント サイズ、間隔、その他の数値など、重要な情報を明確に表現する必要があります。 自分がプロダクトマネージャーやデザイナーになったと想像してみてください。UIview、セグメント、タグといった専門用語にとらわれず、自然な言葉で表現してみましょう。 矛盾した説明は、ほぼ確実にバグを発生させるので避けてください。 自分のニーズを説明する際に緊張してしまい、支離滅裂な文章になってしまう生徒もいます。急ぐ必要はありません。時間をかけて、慎重に言葉を選んでください。 秘密を漏らさないでください!秘密を漏らさないでください!秘密を漏らさないでください!GPTはあくまでも外部ソフトウェアツールであり、何でも質問できる「相談室」ではありません。企業秘密に関する質問はしないでください。 シナリオ2: スクリプトの作成 簡単に説明すると、MCubeはまずテンプレートキャッシュの状態に基づいて、ネットワークから最新のテンプレートを取得するかどうかを判断します。テンプレートが取得されると、テンプレートをロードします。ロードフェーズでは、出力がビューツリー構造に変換されます。変換が完了すると、式エンジンが式を解析し、正しい値を取得します。イベント解析エンジンは、ユーザー定義イベントを解析し、イベントバインディングを完了します。解析、値の割り当て、イベントのバインディングが完了したら、ビューがレンダリングされ、最終的に対象ページが画面に表示されます。 これは頻繁に使用されるアプリケーションシナリオです。反復的なタスクの場合、スクリプトは明らかに最適な選択肢であり、スクリプトこそがコード開発の未来だと考える人もいます。スクリプト開発もGPTで完全に処理できます。例えば、メインサイトのベースライブラリとの統合により、一部のユーティリティクラス名が競合し、プロジェクト全体でクラス名を完全に置き換える必要があるシナリオを考えてみましょう。このようなシナリオはスクリプトの使用に適しています。 図5. スクリプト適用シナリオの概略図 通常、このようなスクリプトの作成には少なくとも1~2時間かかり、経験豊富なプログラマーでも30分ほどかかります。しかし、GPTを使用すれば、適切なスクリプトを数秒で生成できます。スクリプトの使用に最適なアプリケーションシナリオをいくつかご紹介します。 プロジェクトレベルの名前の置換 APPイメージ名の置き換え ユニットテスト
自然言語への変換の役割について簡単に説明します。開発者として、私たちは結果を得るために数値を入力することに慣れていますが、GPTは「チャット」と呼ばれるため、自然言語による記述が必要です。そこで、ちょっとしたトリックを使うことができます。数値を受け取り、自然言語による記述を出力し、それをGPTに中継する簡単なスクリプトです。 width = int(input( "请输入宽度:" )) height = int(input( "请输入高度:" )) color = input( "请输入颜色:" )
view = ' view += (' view += '
description = f "生成一个宽度为{width},高度为{height}的视图,使用{color}颜色填充。"
print(view) print(description) このような変換スクリプトにより、GPT の効率が向上します。 シナリオ3: 実際の業務との統合 プロセスの理解:まず、MCubeはテンプレートキャッシュの状態に基づいて、ネットワークから最新のテンプレートを取得するかどうかを判断します。テンプレートが取得されると、テンプレートをロードします。ロードフェーズでは、出力がビューツリー構造に変換されます。変換後、式エンジンが式を解析し、正しい値を取得します。イベント解析エンジンは、ユーザー定義イベントを解析し、イベントバインディングを完了します。解析、値の割り当て、イベントのバインディングが完了したら、ビューがレンダリングされ、最終的に対象ページが画面に表示されます。 GPT を実際のビジネス オペレーションに統合するためのいくつかのアイデア: 営業担当者 ChatGPTのサービスを検索機能に統合します。ユーザーが検索する際に、その強力な機能を活用して購入アドバイスを提供します。購入するかどうか、何を買うか、あるいは何を買うかさえ決めていないユーザーには、購入を導くためのアドバイスを提供することで、コンバージョン率を向上させます。 ソフト記事作成 このプロジェクトには、ソフト広告記事を表示できるシナリオが含まれています。ChatGPTは、手作業による作成と比較して効率性が高いだけでなく、ビッグデータのトレンドを活用して、ユーザーにとってより関心の高い種類の記事を提供します。ChatGPTは、プロモーション活動の推奨、製品レビュー、新製品ニュースなどの記事作成に大きな可能性を秘めています。 逆アクティビティの推奨 ChatGPTに質問したユーザーがどのような回答をするかを予測することはできませんが、回答から逆算して、ユーザーが何を推奨するかを推測することは可能です。これにより、ユーザーの興味を予測することによるコストとリスクを回避しながら、ChatGPTのメリットを最大限に活用できます。 アフターサービス ChatGPTは本質的に会話型AIであるため、アフターサービスシステムへの統合に最適なツールです。ChatGPTの活用により、ロボットによるカスタマーサービスが的外れな回答をしたり、問題を解決できなかったりすることに対するユーザーからの苦情や、人間によるカスタマーサービスの高額なコストといった問題は、過去のものとなることが予想されます。 これらのアイデアはどれも実用的かつ実現可能であり、大きな価値を有しています。それぞれをハッカソンで単独で使用することも可能です。次のセクションでは、主に618ショッピングフェスティバルにおける販売促進にGPTを活用する方法を紹介します。 まず、ユーザーが商品を検索する際、主に検索バーから検索を行います。GPTを検索に統合し、ユーザーを誘導するためには、基本環境を構築する必要があります。この環境は、ユーザーが入力したキーワードをGPTに渡し、GPTの出力結果をユーザーに表示します。基本環境はGPTを呼び出す「サーバー」として機能するだけでなく、ユーザーの入力とGPTの出力を「処理」し、「JD.com 20周年記念」や「618大プロモーション」などの情報をパッケージ化することで、「プロモーション型ショッピングガイド」という目標を達成します。 パート 1: ユーザー入力をパッケージ化します。たとえば、ユーザーのキーワードを「JD.com で検索」タグで囲みます。 def search_keyword(keyword): url= "https://search.jd.com/Search?keyword={keyword}" response = requests.get(url) soup = BeautifulSoup(response.text, "html.parser" )
introduction = soup.select_one( ".p-parameter" ).get_text(strip=True) return introduction
user_input = input( "请输入关键词:" )
result = search_keyword(user_input)
prompt= "打开京东网站,618大促活动商品里搜索{user_input},并给出其相关介绍" パート 2: パッケージ化されたテキストを入力として使用し、GPT API を呼び出してリクエストを送信します。 api_endpoint = "https://api.openai.com/v1/chat/completions" access_token = "你的access_token"
params = { "messages" : [{ "role" : "user" , "content" : prompt}], "temperature" : 0.7, "model" : "gpt-3.5-turbo" } headers = { "Authorization" : "Bearer {access_token}" , "Content-Type" : "application/json" } response = requests.post(api_endpoint, headers=headers, json=params) パート 3: GPT によって返された結果を解析し、要件に従って表示する: if response.status_code == 200: response_text = json.loads(response.text)["choices"][0]["message"]["content"] # 出力結果 print("JD.com で次の結果が推奨されました: {response_text}") print("商品に関する関連情報: {result}") else: print(f"error: {response.status_code} - {response.text}") 発散的思考:GTPは自然言語クエリに対応しているため、質問に任意の限定情報を追加できます。設定システムと組み合わせることで、「618種類のプロモーション商品」、「618種類の厳選アクティビティ」、「JD.com20周年記念割引」といったアクティビティをプロンプトパラメータフィールドに設定情報として入力し、アクティビティガイドを動的に設定することも可能です。 要約 プロセスの理解:まず、MCubeはテンプレートキャッシュの状態に基づいて、ネットワークから最新のテンプレートを取得するかどうかを判断します。テンプレートが取得されると、そのテンプレートをロードします。ロードフェーズでは、出力がビューツリー構造に変換されます。変換後、式エンジンが式を解析し、正しい値を取得します。イベント解析エンジンは、ユーザー定義イベントを解析し、イベントバインディングを完了します。解析、値の割り当て、イベントのバインディングが完了した後、ビューがレンダリングされ、最終的に目的の結果が表示されます。 ChatGPTの探索と実用的なアプリケーションの紹介はこれで終了です。この記事が皆様の今後の業務、特に618やダブルイレブンのような大規模なセールイベントの際のインスピレーションと利便性を提供し、ChatGPTの機能を最大限に活用して、より多くの可能性を創造するきっかけになれば幸いです。 |