{}const=>[]async()letfn</>var
AI実践開発

AIが「プロジェクトを壊さない」ようにコードのプロンプトを書くにはどうすればよいですか?

あなたはChatGPTに認証機能を書くように頼みます。美しいコードを手に入れます。プロジェクトに挿入すると、すべてが壊れます。聞き覚えがありますか?問題はAIではありません。問題は、あなたがAIにどのように話しかけるかです。

К

Kodik

著者

1分で読める

AIアシスタントは強力なツールですが、適切なプロンプトがなければ、盲目的に動作します。これは、建築家に「美しく作る」というタスクを与えるようなものです。彼はそれを行いますが、それはあなたが期待していたものとは異なるでしょう。AIが新たな問題を引き起こすのではなく、実際に役立つようにクエリを作成する方法を見てみましょう。

常にプロジェクトの背景を示してください。

最も一般的な間違いは、コンテキストなしで AI に単純なリクエストを投げかけることです。「並べ替え関数を書いてください」と入力すると、プロジェクトがTypeScriptとReactで書かれているにもかかわらず、Pythonコードが得られます。

❌悪いプロンプト:

カテゴリ別に商品を絞り込むための関数を書く

✅ 良いプロンプト:

Vue 3(Composition API)+ TypeScriptでオンラインストアを作成しています。状態マネージャーはPiniaです。製品ストアで使用されるカテゴリで製品をフィルタリングする関数を記述してください。商品の配列は、id、name、categoryId、priceのフィールドを持つProduct[]タイプです。

違いは非常に大きいです。2 番目の場合、AI はスタックとアーキテクチャをすぐに理解し、プロジェクトに実際に組み込まれるコードを出力できます。

🔥 10万人以上の学生が参加中

理論を読むのに疲れた?
コーディングの時間だ!

Kodik — 実践でプログラミングを学ぶアプリ。AIメンター、インタラクティブなレッスン、実際のプロジェクト。

🤖 AI 24時間
🎓 修了証
💰 無料
🚀 始める
今日参加

既存のアーキテクチャを説明してください。

AIはあなたのプロジェクトを見ていません。すべてのサービスが継承される基本クラスがあること、またはAPI要求に特定のパターンを使用していることを知りません。

リクエストの前に、以下を簡単に説明してください。

  • 使用されているフレームワークとライブラリ

  • フォルダの構造はどのようなものですか

  • 命名規則は?

  • プロジェクトで既に使用されているパターン

30秒かかりますが、修正に時間がかかりません。

既存のコードの例を示してください。

具体的な例ほど効果的なものはありません。すでに似たようなコンポーネントや機能がある場合は、それをAIに見せ、「似たようなものを別のタスク用に書いてください」と伝えます。

✅ プロンプトの例:

これが私のユーザーサービスの仕組みです。

export const useUserService = () => {const api = useApi(); const getUsers = () => api.get<User[]>('/users'); return { getUsers }; };

注文(Orders)を処理するための同様のサービスを作成してください。エンドポイント: GET /orders, GET /orders/:id, POST /orders.

AIはあなたのスタイル、パターン、構造を捉えます。結果はプロジェクトに自然にフィットします。

制限を明示的に指定する

各プロジェクトには独自のルールがあります。TypeScript で any を使用できない場合があります。または、特定のライブラリが禁止されているかもしれません。または、パフォーマンス要件があります。

✅ 制限セクションを追加します。

制限事項:
— anyを使用せず、すべてのタイプを明示する必要があります
— サードパーティのライブラリなし、ネイティブメソッドのみ
— 関数は、遅延なしで最大 10,000 要素の配列を処理する必要があります
— try/catch を介した必須のエラー処理

コードだけでなく、説明も求めます。

AI がコードと説明を出力したとき、正しいアプローチが選択されているかどうか、潜在的な問題がないかどうかをすぐに評価できます。

なぜこのアプローチが選ばれたのかを説明してください。どのような代替案がありますか?どのような潜在的な問題が発生する可能性がありますか?

これは、認証、支払い処理、データベースへのクエリの最適化など、複雑なロジックにおいて特に重要です。

大きなタスクをステップに分割します。

「WebSocket、認証、履歴保存を使用して本格的なチャットを書いてください」というリクエストは、大惨事につながります。AIは、理解しにくく、最初から機能しない可能性が高い、膨大な量のコードを出力します。

代わりに、次のように分割します。

  1. まず、WebSocket接続とメッセージング

  2. 次に、認証を追加します

  3. 次に、履歴をデータベースに保存します

  4. 最後に、UIコンポーネント

各ステップで、次のステップに進む前に結果を確認してください。これにより、プロセスを制御し、早期にエラーをキャッチします。

変更する必要がないことを指定します。

これは、AI に既存のコードを改善するよう依頼する際に非常に重要です。明確な境界線がなければ、触る必要のないものを「改善」する可能性があります。

✅ 例:

登録フォームにメールアドレスの検証を追加します。 変更しないでください 既存のフォーム送信ロジック、コンポーネントのスタイル、およびテンプレートの構造。メソッドセクションのみを変更して、メソッドを追加します。 validateEmail。

「逆プロンプト」をチェックしてください。

優れたテクニック:コードを受け取ったら、AIにそれをチェックしてもらいます。

あなたが書いたこのコードを見てください。潜在的なバグ、セキュリティの問題、メモリリークを見つけてください。改善を提案してください。

AI は、生成ではなくレビューのタスクを与えられたときに、自分のコードにエラーを見つけることがよくあります。これを利用してください。

プロンプトテンプレートを使用します。

# # コンテキスト
Проект: [название]
Стек: [фреймворки, язык, версии]
Файл: [путь к файлу, который нужно изменить]

# # タスク
[Описание того, что нужно сделать]

# # 既存のコード
[Релевантный фрагмент]

# # 制限
[Что нельзя делать / менять]

# # 期待される結果
[Как должен выглядеть итог]

テンプレートの入力には数分かかりますが、結果ははるかに正確になります。

無意識にコピーするのではなく、理解してください。

最後の最も重要なルール。AIは開発者の代わりではなく、アシスタントです。プロジェクトに挿入するコードの各フラグメントを理解する必要があります。

AIが何かを書いたものの、それがどのように機能するかわからない場合は、挿入しないでください。説明を求め、理解し、そして統合してください。

だからこそ、チャットボットからの回答を単にコピーするのではなく、体系的にプログラミングを学ぶことが非常に重要です。基本的な知識がなければ、良いコードと悪いコードを区別することはできません。つまり、プロジェクトを危険にさらすことになります。

コードを自信を持って理解したいですか?

AI ツールを最大限に活用するには、強力な基盤が必要です。それを強化する方法は2つあります。

📱 コディックアプリ

Python、JavaScript、HTML、CSSなどの技術をゼロから学びましょう。各レッスンは理論と実践で構成されています。コードを書いて知識を身につけましょう。すべてロシア語で、わかりやすい言葉で、無駄はありません。

✈️ テレグラムチャンネル

プログラミングに役立つ投稿、タスクの分析、ヒント、ミニレッスン。外出先でも、休憩中でも、就寝前でも、携帯電話で直接資料を復習できます。コミュニティにはすでに2,200人以上の開発者がいます!

合計

AIは魔法の杖ではなくツールであり、結果の質はクエリの質に直接依存します。明確で文脈に沿ったプロンプトを書くことを学べば、AIは開発における最高のパートナーになります。無差別にすべてをAIに任せ続けると、コードを書くよりもバグを修正することに多くの時間を費やすことになります。

これらのルールを守り、実践に適用すると、プロジェクトが感謝します。

🎯先延ばしをやめよう

記事は気に入った?
実践の時間だ!

Kodikでは読むだけでなく、すぐにコードを書く。理論 + 実践 = 本当のスキル。

即座に実践
🧠AIがコードを説明
🏆修了証

登録不要 • カード不要