プロンプティングガイド

Cline プロンプトエンジニアリングガイドへようこそ!このガイドは、効果的なプロンプトとカスタムインストラクションを作成するための知識を提供し、Clineでの生産性を最大化します。

カスタムインストラクションはClineのプログラミングだと考えてください。これらはClineの基本的な振る舞いを定義し、常に「オン」であり、すべての対話に影響を与えます。 インストラクションは、広範で抽象的なものから、具体的で明示的なものまで様々です。Clineにユニークな個性を持たせたり、特定のファイル形式で出力を生成させたり、特定のアーキテクチャ原則に従わせたりすることができます。カスタムインストラクションは、あなたが定義する方法でClineの出力を標準化でき、これは、特に他の人と協力する場合に役立ちます。チームコンテキストでの提案については、エンタープライズセクションのカスタムインストラクションを参照してください。注意:カスタムインストラクションフィールドを変更すると、Clineのプロンプトキャッシュが更新され、蓄積されたコンテキストが破棄されます。これにより、そのコンテキストが置き換えられる間、一時的にコストが増加します。可能な限り、会話の合間にカスタムインストラクションを更新してください。

カスタムインストラクションを追加するには:

  1. VSCodeを開きます

  2. Cline拡張機能の設定ダイヤル⚙️をクリックします

  3. 「カスタムインストラクション」フィールドを見つけます

  4. インストラクションを貼り付けます

カスタムインストラクションは以下の点で強力です:

  • コーディングスタイルとベストプラクティスの強制: Clineが常にチームのコーディング規約、命名規則、ベストプラクティスに従うようにします。

  • コード品質の向上: Clineがより読みやすく、保守しやすく、効率的なコードを書くように促します。

  • エラーハンドリングのガイド: Clineにエラーの処理方法、エラーメッセージの書き方、情報のログ記録方法を指示します。

custom-instructionsフォルダには、使用または適応できるカスタムインストラクションの例が含まれています。

注意:.clinerulesファイルを変更すると、Clineのプロンプトキャッシュが更新され、蓄積されたコンテキストが破棄されます。これにより、そのコンテキストが置き換えられる間、一時的にコストが増加します。可能な限り、会話の合間に.clinerulesファイルを更新してください。

カスタムインストラクションはユーザー固有でグローバル(すべてのプロジェクトに適用)ですが、.clinerulesファイルはプロジェクトのルートディレクトリに存在するプロジェクト固有のインストラクションを提供します。これらのインストラクションは自動的にカスタムインストラクションに追加され、Clineのシステムプロンプトで参照されるため、プロジェクトコンテキスト内のすべての対話に影響を与えます。これは、以下の点で優れたツールです:

.clinerulesファイルは以下に優れています:

  • チームメンバー間でのプロジェクト標準の維持

  • 開発プラクティスの強制

  • ドキュメント要件の管理

  • 分析フレームワークの設定

  • プロジェクト固有の振る舞いの定義

  1. バージョン管理: .clinerulesファイルはプロジェクトのソースコードの一部として管理されます。

  2. チームの一貫性: すべてのチームメンバー間で一貫した動作を保証します。

  3. プロジェクト固有: 各プロジェクトのニーズに合わせたルールと標準を設定できます。

  4. 組織知: プロジェクトの標準とプラクティスをコードベースで維持します。

.clinerulesファイルをプロジェクトのルートディレクトリに配置します:

一方、Clineのシステムプロンプトはユーザー編集可能ではありません(ここで見つけることができます)。プロンプトエンジニアリングのベストプラクティスに関するより広範な情報については、このリソースを確認してください。

  • 明確かつ簡潔に: 簡単な言葉を使用し、曖昧さを避けてください。

  • 望ましい結果に焦点を当てる: 特定の手順ではなく、望む結果を説明してください。

  • テストと反復: ワークフローに最適なものを見つけるために実験してください。

単一の.clinerulesファイルは単純なプロジェクトに適していますが、Clineはより洗練されたルール構成のために.clinerulesフォルダをサポートするようになりました。このモジュラーアプローチにはいくつかの利点があります:

単一のファイルの代わりに、プロジェクトルートに.clinerules/ディレクトリを作成します:

Clineは.clinerules/ディレクトリ内のすべてのMarkdownファイルを自動的に処理し、それらを一つのルールセットに結合します。数値プレフィックス(オプション)は、ファイルを論理的な順序で整理するのに役立ちます。

複数のコンテキストまたはチームを持つプロジェクトの場合、ルールバンクディレクトリを維持します:

  1. コンテキストに応じたアクティベーション: バンクからアクティブフォルダに関連するルールのみをコピーしてください。

  2. メンテナンスの容易さ: 他に影響を与えることなく個々のルールファイルを更新できます。

  3. チームの柔軟性: 異なるチームメンバーが現在のタスクに固有のルールを有効化できます。

  4. ノイズの削減: アクティブなルールセットを集中させ、関連性を保つことができます。

クライアントプロジェクトを切り替える:

異なる技術スタックに適応する:

  • 個々のルールファイルを特定の懸念事項に集中させてください。

  • ルールの目的を明確に示す説明的なファイル名を使用してください。

  • clinerules-bank/を追跡しながら、アクティブな.clinerules/フォルダを .gitignore に追加することを検討してください。

  • 一般的なルールの組み合わせを迅速に有効化するためのチームスクリプトを作成してください。

フォルダシステムは、Clineルールを静的なドキュメントから、チームの変化するコンテキストと要件に適応する動的な知識システムに変換します。

.clineignoreファイルは、コードベースを分析する際にClineが無視すべきファイルとディレクトリを指示するプロジェクトレベルの構成ファイルです。.gitignoreと同様に、パターンマッチングを使用して、Clineのコンテキストと操作から除外すべきファイルを指定します。

  • ノイズの削減: 自動生成されたファイル、ビルド成果物、その他の重要でないコンテンツを除外します

  • パフォーマンスの向上: Clineが処理する必要のあるコードの量を制限します

  • 注意の集中: Clineをコードベースの関連部分に誘導できます。

  • 機密データの保護: Clineが機密構成ファイルにアクセスするのを防ぐことができます。

プロンプトは、Clineとのやり取りの中で特定のタスクに対するニーズを伝える方法です。 Clineは自然言語を理解するため、会話的に記述してください。

効果的なプロンプトには以下が含まれます:

  • 明確なコンテキストの提供: 目標とコードベースの関連部分を説明してください。ファイルやフォルダを参照するには@を使用します。

  • 複雑さの分解: 大きなタスクを小さなステップに分割してください。

  • 具体的な質問: Clineを望ましい結果に導いてください。

  • 検証と洗練: Clineの提案を確認し、フィードバックを提供してください。

  • 新しいタスクの開始: 「Cline、新しいタスクを始めましょう。user-authentication.jsを作成してください。JWTトークンを使用したユーザーログインを実装する必要があります。要件は次のとおりです…」

  • 以前の作業の要約: 「Cline、最後のユーザーダッシュボードタスクで行ったことを要約してください。主な機能と未解決の問題を把握したいです。これをcline_docs/user-dashboard-summary.mdに保存してください。」

  • エラーの分析: 「Cline、このエラーが発生しています:[エラーメッセージ]。[コードセクション]からのようです。このエラーを分析し、修正を提案してください。」

  • 根本原因の特定: 「Cline、[アクション]を実行するとアプリケーションがクラッシュします。問題は[問題のある領域]にある可能性があります。根本原因を見つけて解決策を提案するのを手伝ってください。」

  • コード構造の改善: 「Cline、この関数は長すぎて複雑です。より小さな関数にリファクタリングしてください。」

  • ロジックの単純化: 「Cline、このコードは理解しにくいです。ロジックを単純化し、より読みやすくしてください。」

  • 新機能のブレインストーミング: 「Cline、ユーザーが[機能]できる機能を追加したいです。いくつかのアイデアをブレインストーミングし、実装の課題を検討してください。」

  • コードの生成: 「Cline、ユーザープロファイルを表示するコンポーネントを作成してください。リストはソート可能でフィルタリング可能である必要があります。このコンポーネントのコードを生成してください。」

  • 制約の指定: コードの切り捨てを軽減するために、プロンプトに明示的な制約を含めてください。例:「コードが完全であることを確認してください」または「常に関数の完全な定義を提供してください」。

  • 信頼性チェック: Clineに信頼度を評価するように依頼してください。(例:「1〜10のスケールで、このソリューションにどれくらい自信がありますか?」)。

  • Clineの仮定への挑戦: より深い思考を促し、誤った仮定を防ぐために「ばかげた」質問をしてください。

以下は、ユーザーがClineでの作業に役立つと発見したプロンプトのヒントです:

  • メモリチェック - pacnpal

    複雑なタスク中にClineが軌道に乗っていることを確認する楽しい方法です。お祝いのひねりを加えるには「HO HO HO」を試してください!

  • 信頼度スコアリング - pacnpal

    批判的思考を促し、意思決定を透明にします。

  • コードの切り捨て防止

    代替フレーズ:「完全なコードのみ」または「コードが完全であることを確認してください」

  • カスタムインストラクションリマインダー

    設定ダイヤル⚙️構成への準拠を強化します。

  • 大規模ファイルのリファクタリング - icklebil

    戦略的な分解を通じて複雑なファイルを管理するのに役立ちます。

  • ドキュメントのメンテナンス - icklebil

    ドキュメントがコードの変更と同期していることを保証します。

  • 構造化された開発 - yellow_bat_coffee

    整理され、よく計画された開発を促進します。

  • 徹底的な分析 - yellow_bat_coffee

    時期尚早なコーディングを防ぎ、完全な理解を促します。

  • 仮定のチェック - yellow_bat_coffee

    開発の早い段階で潜在的な問題を特定します。

  • 一時停止して熟考 - nickbaumann98

    行動を起こす前に慎重な検討を促します。

  • 完全な分析 - yellow_bat_coffee

    徹底的な問題探索を保証します。

  • 継続的な信頼性チェック - pacnpal

    自己評価を通じて品質を維持します。

  • プロジェクト構造 - kvs007

    プロジェクトの整合性を維持します。

  • 批判的思考 - chinesesoup

    仮定に挑戦し、より良い解決策を発見します。

  • コードスタイル - yellow_bat_coffee

    コードの構成と明瞭さに影響を与える可能性があります。

  • 期待値の設定 - steventcramer

    (明確な要件と建設的なフィードバックを提供するユーモラスなリマインダー)

画像 1

最終更新