ChatGPTを開発に組み込む10の実証済みの方法

ChatGPTを開発に組み込む10の実証済みの方法

絶えず変化するテクノロジー環境において、ChatGPT とその AI チャットボットは先頭に立って、世界的な注目を集めています。このような製品は、これまでは実現できなかった独自の価値提案を提供することで、業界の状況を大きく変えています。ソフトウェア開発者にとって、これらのボットは無限の可能性を提供します。この記事では、開発者が AI チャットボットを活用してワークフローを最適化し、ビジネスにさらなる価値をもたらす 10 の戦略的な方法について説明します。

1 最適化コードと提案

ChatGPT などのチャットボットは、コードの最適化に非常に効果的であることが証明されています。これが開発者のワークフローをどのように強化できるかを説明するために、CSV ファイルを解析し、各一意の単語の出現回数をカウントし、結果を表示する次のコード スニペットを検討してください。

 import csv def count_words_in_csv(filename): word_count = {} with open(filename, mode='r') as file: csv_reader = csv.reader(file) for row in csv_reader: for cell in row: words = cell.split(" ") for word in words: word = word.lower().strip() if word: if word not in word_count: word_count[word] = 1 else: word_count[word] += 1 for word, count in word_count.items(): print(f"{word}: {count}") # 使用示例count_words_in_csv("sample.csv")

詳しく調べてみると、提供されたコード スニペットに最適化の問題があることがわかります。明らかな非効率性の 1 つは、区切り文字としてスペースを使用することです。この方法では句読点が無視されるため、単語数が不正確になる可能性があります。たとえば、「hello」と「hello」は誤って異なるエンティティとして扱われます。コードには最適化できる領域が他にもありますが、ここでは ChatGPT のソリューションに注目してみましょう。 「プロのソフトウェア エンジニアとして、付随するコードを最適化して効率を最大化してください」というプロンプトが表示されたら、ChatGPT は次のコードを生成しました。

 import pandas as pd import re from collections import defaultdict def count_words_in_csv(filename): try: # 使用pandas进行高效和便捷的CSV读取df = pd.read_csv(filename, header=None) except FileNotFoundError: print("Error: File not found.") return word_count = defaultdict(int) for _, row in df.iterrows(): for cell in row: if pd.isna(cell): # 跳过NaN单元格continue # 使用正则表达式分割和清理单词words = re.findall(r'\b\w+\b', cell.lower()) for word in words: word_count[word] += 1 return word_count # 使用示例word_counts = count_words_in_csv("sample.csv") if word_counts: for word, count in word_counts.items(): print(f"{word}: {count}")

最適化されたコードは、最適化の点では以前のコードよりはるかに優れています。主な改善点としては、pandas を使用した CSV 処理の改善、正規表現を使用したより正確な単語分割、コード機能を簡素化するための defaultdict() 関数の統合などがあります。

コードの最適化に加えて、チャットボット アシスタントは、より広範で非技術的な観点からコードを改善するための洞察も提供できます。 「この新しく最適化されたコードをさらに改善するにはどうすればよいでしょうか?」と尋ねられたとき、ChatGPT はいくつかの提案をしました。

  • メモリ制限を超える大規模なデータセットの計算を処理するには、pandas に似たライブラリである Dask への移行を検討してください。
  • 現在、単語抽出パターン r'\b\w+\b' が埋め込まれています。このパラメータを変数にすることで、関数をさまざまな単語の定義や特定のアプリケーションにさらに動的に適応させることができます。
  • 関数の機能を拡張して、Excel や TSV などの他のファイル形式に対応し、対応するパラメータを提供します。これらの機能により、コードのパフォーマンス、スケーラビリティ、適応性がさらに向上します。

2. ドキュメント作成機能の向上

開発者はコードを磨き上げて完成させた後、重要ではあるが難しいことが多いドキュメント作成のプロセスに取り組む必要があります。幸いなことに、チャットボットはソフトウェア開発プロセス全体を通じてドキュメントの支援と生成に優れています。 「添付のコード スニペットの業界標準ドキュメントを生成する」というプロンプトにより、ChatGPT は上記の最適化されたコードを生成しました。

写真

写真

写真

提供される出力は、初期コードの構造、機能、制限、および変更可能性を明確に説明した包括的な業界標準ドキュメントです。さらに、採用されたフォーマットはreStructuredTextや他の一般的に使用されるMarkdown言語と互換性があり、簡単に変換できます。

3 プロジェクトのテストケースを生成する

コードが最適化され、詳細に文書化された後、次のステップは、その回復力と機能性を検証するための包括的なテストを実施することです。従来のテスト方法は、手動か自動かを問わず、それぞれメリットがありますが、特定のエッジケースを見逃す可能性があります。 AI チャットボットもこの分野で役割を果たし、あらゆるコードに対して幅広いテスト シナリオを提供します。繰り返し使用されるコード例に基づいて、ChatGPT に次の指示を実行するように依頼しました。進行中のコードに関する議論に基づいて、多様なビジネス テスト ケースを作成します。 AI が応答したシナリオには、基本的な CSV での関数の正確な単語数の検証、大文字と小文字を区別しない処理、句読点に関係なく単語数をカウントすること、大きな CSV、空のファイル、存在しないファイル、さまざまな区切り文字を含むファイルでの効率性などが含まれていました。あらゆるコードに対して考えられるテストケースの数は無限に思えるかもしれませんが、AI チャットボットによりプロセスはより管理しやすくなります。

4. 誤解

理想的には、コード テストは、利害関係者の要件と完全に一致する機能結果を提供する必要があります。しかし、現実にはさまざまなエラーが発生することがよくあります。さらに問題を複雑にしているのは、開発者がこれらのエラーの原因について混乱している場合があることです。ここで AI チャットボットが登場し、これらの謎を解く準備が整います。前回のコード最適化演習と同様に、エラーを含むコード スニペットがチャットボットに提示され、チャットボットは現在存在するエラーを識別し、修正アクションを推奨し、将来の予防アクションの提案を行うことができます。

 import csv def calculate_average_from_csv(file_name): total = 0 count = 0 with open(file_name, 'r') as file: csv_content = csv.reader(file, delimiter=',') for row in csv_content: for item in row: total += int(item) count += 1 average = total / count return average print(calculate_average_from_csv('numbers.csv'))

このコードは一見エラーがないように見えますが、実際には、コードが正しく実行されるのを妨げる、微妙ながらも重大な 3 つのエラーが隠れています。このコードを AI チャットボットに送信すると、次の 3 つの違いが正確に指摘されました。

a) count++ 構文は Python ではサポートされていません。推奨される修正は count += 1 です。

b) 非整数値に対するエラー処理が不足していると、特に大規模なプロジェクト フレームワークでは問題が発生する可能性があります。整数変換の周囲に try-except ブロックを追加すると、非整数ケースを効果的に処理またはバイパスできます。

c) CSV ファイルにコンテンツがないか、有効な整数が不足している場合は、ZeroDivisionError が発生し、意図しないゼロ除算状態になる可能性があります。条件チェックを通じて平均を計算する前に、count がゼロでないことを確認することをお勧めします。

このセクションのデモンストレーションを要約すると、AI チャットボットは、元のコードと比較して改善された、最適化されたエラーのないコード スニペットを提供しました。

 import csv def calculate_average_from_csv(file_name): total = 0 count = 0 with open(file_name, 'r') as file: csv_content = csv.reader(file, delimiter=',') for row in csv_content: for item in row: try: total += int(item) count += 1 except ValueError: pass # 跳过非整数值if count == 0: return "CSV中未找到有效的整数值" average = total / count return average print(calculate_average_from_csv('numbers.csv'))

5. 創造的思考

開発者は、ワークフローの中で困難な障害に遭遇し、解決されないままの永続的な問題に悩まされることがあります。長期間にわたって成果のない検討が続くと、これらの障害によって停滞感が生じる可能性があります。しかし、AI チャットボットの登場により、以前は長い思考時間が必要だったものが、今では数分間で効率的に問題を解決できるようになりました。ビジネス上の問題、技術的な問題、進捗の妨げとなっている問題などを解決する場合でも、開発者は AI チャットボットを活用して課題を迅速に概念化して対処し、クラス最高の構造化されたソリューションを実現できます。開発におけるブレインストーミングの現代は革命的な変化を遂げました。アイデア創出から研究へのシームレスな移行と、チャットボットによる記憶の保存により、開発者のワークフローを最適化する上でのブレインストーミングの重要な役割が強調されます。

6 定型コードを提供する

ボイラープレート コードは長い間ソフトウェア開発の重要な部分であり、今後も当面はそうあり続けると予想されます。このコード ベースを取得するには、さまざまなデータベース、内部ファイル、GitHub リポジトリを検索して、開発者の固有のニーズに最適なコードを見つける必要があります。この作業に膨大な時間がかかることはないかもしれませんが、より有効に配分できる貴重な時間が浪費されることになります。 AI が一般的にアクセス可能な今日の時代において、ChatGPT のようなチャットボットは、既存のプロジェクトにシームレスに統合される定型コードの構築に優れています。以下に示すように、ChatGPT は典型的な Python の定型コード構造を構築し、それぞれの目的を明確に説明します。

写真

写真

提供されるコード例はカスタマイズ可能なテンプレートであり、関連するあらゆるプロジェクトにシームレスに統合できます。さらに、AI チャットボットは、定型コードが解決する特定の課題、より広範な開発コンテキストにおけるその重要性、およびプロジェクトでのその意図された適用について詳しく説明します。

7. 複雑なコードとのやり取り

ソフトウェア開発のダイナミックな世界では、特に多様なチームで作業する場合や、経験豊富な同僚の仕事を引き継ぐ場合に、専門家は見慣れないコードの断片に遭遇することがあります。忙しい可能性のある同僚に助けを求めたり、徹底的な調査を行ったりすることもできますが、より実用的な選択肢は AI チャットボットに相談することです。わかりにくいコードをチャットボットに入力すると、そのコードは現在の会話コンテキストの一部となり、コードの複雑さが明らかになります。

 import numpy as np class NeuralNetwork: def __init__(self, input_size, hidden_size, output_size): self.weights1 = np.random.rand(input_size, hidden_size) self.weights2 = np.random.rand(hidden_size, output_size) self.bias1 = np.random.rand(1, hidden_size) self.bias2 = np.random.rand(1, output_size) def sigmoid(self, x): return 1 / (1 + np.exp(-x)) def sigmoid_derivative(self, x): return x * (1 - x) def feedforward(self, x): self.hidden = self.sigmoid(np.dot(x, self.weights1) + self.bias1) self.output = self.sigmoid(np.dot(self.hidden, self.weights2) + self.bias2) return self.output def backpropagate(self, x, y, learning_rate=0.1): output_error = y - self.output hidden_error = output_error.dot(self.weights2.T) d_weights2 = self.hidden.T.dot(output_error * self.sigmoid_derivative(self.output)) d_weights1 = xTdot(hidden_error * self.sigmoid_derivative(self.hidden)) self.weights1 += learning_rate * d_weights1 self.weights2 += learning_rate * d_weights2 # 使用示例: input_size = 3 hidden_size = 4 output_size = 2 nn = NeuralNetwork(input_size, hidden_size, output_size)

上記のコード スニペットは、Python と numpy ライブラリを使用して単純なニューラル ネットワークを構築する構造を示しています。ニューラル ネットワークの本質的な複雑さにもかかわらず、ChatGPT に「添付コードの仕組みを詳しく説明してください」というリクエストを送信すると、明確で包括的な説明が直接返ってきました。

写真

開発者が複雑なコードと会話形式でやり取りできるようにすることで、深い理解が促進され、運用効率が向上します。このやり取りの実際的な利点は明らかです。開発者が同僚が共有するコードを理解するだけでなく、それに共感すると、プロジェクトは成功する傾向があります。

8. ChatGPTの高度なデータ分析を活用する

ChatGPT 高度なデータ分析ツールは、データ サイエンティスト、ビジネス アナリスト、Python 愛好家向けに設計された ChatGPT プレミアム サブスクライバーにとって重要な資産です。開発者に広範な分析機能を提供し、高度なデータ探索を可能にします。

このツールにより、チャットボットの会話環境への CSV ファイルのインポートから、高度な自然言語処理を使用したデータセットの改良まで、データ分析に革命が起こりました。私たちは過去に ChatGPT でデータセットを変換し、そこから多くの貴重な洞察を得ました。このツールは自然言語を活用して、利害関係者の要件に完全に適合したデータ視覚化を作成および変更します。プラットフォーム上では特定の高度な統計手法がまだ進化している最中ですが、K 平均法クラスタリングや時系列分析などのタスクを専門的に処理できます。

これらの機能は、特に OpenAI が最近リリースした ChatGPT エンタープライズ モデルと組み合わせることで、このツールがあらゆるデータ アナリストのツールキットにおいていかに重要であるかを示しています。

9. プラグインで遊ぶ

高度なデータ分析ツールと同様に、プラグインは ChatGPT Premium のもう 1 つの優れた機能であり、開発者に独自のコンテキストに関連した利点を提供します。 AI チャットボットを仕事に統合するスキルのある人にとって、プラグインはさらなるカスタマイズのレイヤーを提供し、より繊細で価値主導の結果を引き出すことが期待できます。

ChatGPT ではアクティブなプラグインを同時に使用できるため、比類のないワークフローのカスタマイズ機能が提供されます。新興の医療技術企業に携わるある開発者にとって、Wolfram Alpha プラグインは、プロジェクト統合のための Wolfram コードと複雑な解剖モデルへのシームレスなアクセスを提供し、不可欠なものとなりました。 Academic プラグインは、ChatGPT を、開発者のニーズに合わせて正確に調整された、査読済みの学術研究記事の大規模なライブラリに接続します。一方、AI PDF プラグインにより、ChatGPT は想像できるほぼすべての PDF を作成できるようになり、この記事で前述したドキュメント作成機能が強化されます。

このプラグインは、開発者のワークフローを根本的にさらに最適化およびパーソナライズし、開発の世界における AI チャットボットの固有の価値を高めます。

10 研究

AI チャットボットの基本的な目的の 1 つであり、おそらく最も革新的な目的の 1 つは、研究能力を強化することです。前回の議論で示したように、AI チャットボットは、開発者に、これまでにない容易さと精度で、幅広いトピックを詳細に調査する機能を提供します。開発者が新しい課題に直面している場合でも、進行中の問題を解決している場合でも、理論的な命題について熟考している場合でも、チャットボットは自然言語クエリを使用して必要な知識を見つけて探索する機能を提供し、時間を無駄にすることなく最大限に活用できるようにします。

まとめると、AI チャットボットは開発者のワークフローを強化するさまざまな方法を提供していることがわかりました。これらのデジタル アシスタントが進化するにつれ、開発者はより高度な機能を導入し、職業上の変革の時代を迎えようとしています。読者の皆様には、ここで紹介した機能のいくつかを日常業務に取り入れて、それがもたらす大きな影響をぜひ体験していただきたいと思います。

<<: 

>>:  GenAIの変革力は職場に知識をもたらします

ブログ    
ブログ    

推薦する

楊振:ビッグデータとAI技術の発展の観点から、クロスチェーン技術は必要かつ不可避である

著者: 楊振、上級ソフトウェアエンジニア、アーキテクト、独立講師。ソフトウェア開発経験18年。『Et...

...

...

マイクロソフトとフェイスブックが共同で人工知能ソフトウェアを開発し、グーグルの主導的地位に挑戦

マイクロソフトはすでにオープンソースの人工知能ソフトウェアを持っています。しかしここ数カ月、マイクロ...

ヒントン、ルカン、ベンジオは、ディープラーニングの過去、現在、未来に関する1万語の記事を共同で発表した。

2018年、ACM(米国計算機協会)は、コンピュータディープラーニング分野への貢献を称え、ヨシュア...

2021年4月のロボット工学分野の重要な動向の概要

ポスト疫病時代において、国内ロボット市場は急速に発展しました。一方、ロボット工学の分野は好調な勢いを...

人工知能は認知と表現のギャップを埋めている

人工知能により、認知能力は高いが表現能力が限られている人でも、自分の考えを表現したり、物語を創作した...

AIGCと因果推論により双方向の

本文に入る前に、まずはJiuzhang Yunji DataCanvasを紹介したいと思います。九張...

駐車技術の進化: 人工知能が駐車場の未来をどう形作るか

近年、インドは深刻な駐車スペース不足という差し迫った問題に直面している。自動車の数が日々増加している...

高度な自動運転システムの開発において解決すべき課題についてお話しします

次世代のインテリジェントコネクテッドカーには、高度な自動運転システムが必須です。車両が自動運転をいか...

Java プログラミング スキル - データ構造とアルゴリズム「循環リンク リストとジョセフ問題」

[[386837]]ジョセフ問題1、2、...n と番号が付けられた n 人が輪になって座り、番号...

マイクロソフトがAI開発に関する無料電子書籍をリリース、インテリジェントなチャットボットの構築方法を教える

最近、Microsoft は、Microsoft AI プラットフォームを使用してインテリジェントな...

...

あなたは知っていますか?注文するテイクアウトはすべて、ディープラーニングとの美しい出会いです

[[196940]]多くの学生は、フードデリバリーはオンラインで注文し、オフラインで配達するビジネス...