プログラミングにおけるAIの活用が進む中、多くの開発者はAIによるプログラミングの利便性を体験した後、自分たちのニーズをよりよく理解してくれる「専属のAIエンジニア」の存在を期待している。この要望の中核にあるのは、開発者の個人的な指示や具体的なプロジェクト仕様にAIが正確に従う能力だ。このニーズに応えるために トレー IDEはAIルール(Trae Rules)設定を導入しており、ユーザーはパーソナライズされたタスクの実行を自動化するために、AIの動作をカスタマイズすることができる。
I. ルールとは
Trae Rulesは、開発チームまたは個々の開発者が、コードが生成、解釈、または変更されるときに、特定のコードスタイルやベストプラクティスに従うようにAIをカスタマイズし、強制することができる強力な機能です。
プログラミング支援のためにAIを使用する開発者が、コードの言語スタイル、プロジェクトが従わなければならないフレームワークの制約、コメントの詳細レベルやフォーマット、または遵守する必要があるセキュリティコンプライアンス規制など、AIに同じ指示を繰り返す必要がある一般的なシナリオを想像してみてください。 Trae Rulesは、AIにこれらの行動規範を事前に設定することで、AIが応答するたびに、これらの事前に設定されたルールを自動的に「読み取り」、それに従うようにします。こうすることで、開発者は何度も注意喚起する必要がなくなり、AIは期待に応えるコンテンツを着実に出力できるようになる。さらに重要なのは、異なる開発タスクに対応したり、プロジェクトを切り替えたりする際に、対応するTrae Rulesを利用することで、AIが現在の作業の技術要件に正確に適応できるようになり、開発効率が大幅に向上することだ。これらのルールファイルは、通常、読みやすく編集しやすいテキスト形式やMarkdown形式(例えば user_rules.md
歌で応える project_rules.md
)は、開発者によるバージョン管理とチーム共有を容易にするために存在する。
II.使用説明書
Trae IDEをバージョン0.5.1以上にアップデートすると、ユーザーは2種類のルールを設定できるようになります:
01 個人規定
パーソナル・ルールとは、開発者の個人的な習慣や好みに基づいてAI用にカスタマイズされたルールで、AIのアウトプットをユーザー個人のニーズに沿ったものにすることを目的としています。パーソナルルールが設定されると、ユーザーのすべてのプロジェクトに適用されます。例えば
- 言語AIが簡潔に答えるか、厳格に答えるか、ユーモラスに答えるかを指定する。
- オペレーティング・システム環境設定AIは、WindowsやmacOSといった特定のオペレーティング・システムに対するソリューションやコード・サンプルを提供するよう求められる。
- 内容の深さAIが詳細な説明やコード例を提供する必要があるのか、それとも核心的な結論だけを提供する必要があるのかを設定する。
- 相互作用方式例えば、ユーザーは誘導的な修辞的質問よりも直接的な回答を好むかもしれません。
02 プロジェクト規則
プロジェクト・ルールとは、AIが手元の特定のプロジェクトに従うことを要求されるルールの集まりである。これらのルールは、設定されたプロジェクトでのみ有効になります。例
- コーディングスタイルコードのインデント(空白を使うかタブを使うか、またその数など)、命名規則(キャメル・クロス命名法など)を指定する。
camelCase
またはアンダースコア命名法snake_case
など)。 - 言語とフレームワークの制約プロジェクトで使用するプログラミング言語(例:PythonやJavaScript)または必須フレームワーク(例:PythonやJavaScript)を指定します。 反応 (またはジャンゴ)。
- APIの使用制限AIは、生成されたコードにおいて、特定の時代遅れまたは推奨されていないAPIを使用することを明示的に禁止している。
通常、個人規定とプロジェクト規定との間で内容に矛盾がある場合は、プロジェクト規定が優先され、個人規定の対応する規定を上書きして、プロジェクトの仕様が守られるようにする。
以下のセクションでは、これら2つのAIルールをそれぞれ設定する方法を説明する:
個人的なルールを作る
- Trae IDEのAIダイアログウィンドウの右上にある「設定」アイコンをクリックし、「ルール」オプションを選択します。
操作後、インターフェースは「ルール」設定ウィンドウを表示する。 - パーソナルルール」エリアで
+ 创建 user_rules.md
ボタンだ。
システムは自動的にuser_rules.md
ファイルをエディターで開く。
- オープン
user_rules.md
ファイルに、AIに従わせたいルールを自然言語で入力する。例えば、"すべてのコードコメントに中国語を使用し、各関数のコア関数とパラメータの意味を説明してください "と指定できます。 - ファイルを保存する。これらのルールは、すべてのプロジェクトのAIビヘイビアに適用されます。
プロジェクトルールの作成
- まず、Trae IDEでプロジェクトを開きます。
- AIダイアログウィンドウの右上にある「設定」アイコンをクリックし、「ルール」を選択する。
操作後、インターフェースは「ルール」設定ウィンドウを表示する。 - プロジェクト・ルール・エリアで
+ 创建 project_rules.md
ボタンだ。
システムは自動的に現在のプロジェクトのルートディレクトリを.trae/rules
フォルダ(まだ存在しない場合)を作成しproject_rules.md
ドキュメンテーション
- オープン
project_rules.md
このプロジェクトでAIが従うべきルールをファイルに入力する。 - ファイルを保存する。これらのルールは、現在のプロジェクトのAI動作にのみ適用されます。
行政規則
ルール」設定ウィンドウでは、ユーザーは既存の個人ルールやプロジェクト・ルールを簡単に修正でき、不要になったルール・ファイルを直接削除することもできる。
- ルールの変更:ルールファイルの内容を編集して保存すると、AIは更新されたルールに従う。
- ルールファイルの削除:削除
user_rules.md
もしかしたらproject_rules.md
ファイルで定義されていたルールはすべて無効になる。
III.デモンストレーション
次に、Trae Rulesを使って開発効率を向上させる具体的な実例を紹介します。
開発チームがWebプロジェクトに取り組んでいて、CSSスタイルを最適化するためにChakra UIフレームワークを使用することを決定したとします。その後の作業でAIがこの決定に従うようにするには、プロジェクトルール(project_rules.md
)ファイルに以下のディレクティブを追加する:
请使用 Chakra UI 框架对本项目中的所有前端页面进行 CSS 相关的优化和重构。确保生成的组件符合 Chakra UI 的设计规范和最佳实践。
このプロジェクトルールが設定されると、AI(Trae IDEではBuilderまたは類似の名称で呼ばれることがあります)は、開発者がCSS関連の開発タスクを要求したときに、自動的にこのルールを参照するようになります。
例えば、「コードの説明は徹底的で、重要なステップを説明しなければならない」といった別の個人ルールが設定されている場合、AIは上記のチャクラUI修正タスクを実行する際にフレームワークを使用するだけでなく、操作説明の際にもより詳細な情報を提供する。
IV.応用シナリオ
Trae Rulesは、開発チームや個々の開発者がコードの一貫性を維持し、コードの保守性を向上させ、さまざまな状況での低レベルエラーの発生を低減するために、幅広いシナリオで使用することができます。以下は、主なシナリオのリストです:
シナリオ1:チームワークとコードレビュー
- 効果コードスタイルを統一し、レビューの論争を減らし、コラボレーションの効率を向上させます。
- 指示新しいチームメンバーは、チームの確立されたコードスタイルに適応するために、しばしば時間を必要とします。変数の命名規則、モジュールのインポート順序、チームが提唱するコードアーキテクチャパターンなどを指定するプロジェクトルールを設定することで、AI はプログラミングを支援する際にこれらのルールに従います。さらに、Trae Rulesは、コードの書式設定、非準拠のコード・スニペットの自動修正、コメント仕様の強制(すべてのパブリック関数にJSDocスタイルのコメントを要求するなど)においてチームメンバーを支援することができるため、コードレビュー段階でスタイルの問題を伝えるコストを削減することができます。
シナリオ2:プロジェクトのメンテナンスとコードの品質
- 効果潜在的なコードエラーを検出し、古いコードを段階的に改善し、プロジェクト全体の保守性を向上させる。
- 指示歴史が長く、コードスタイルが混沌としているレガシープロジェクトの場合、Traeルールを徐々に導入・改良し、AIからの対話コマンドと組み合わせることで、古いコードを段階的に修正することができる。Traeルールは、ルールに基づいて新しい仕様に準拠していないコードを特定し、リファクタリングの提案を行うことができる。同時に、開発中に新たな低レベルのエラーが発生しないように、非同期処理を義務付けるなどのルールを設定することもできる。
await
マストtry-catch
構造ラッピング、未使用検出import
ステートメントや変数を使用することを禁止する。==
の使用を強制する。===
比較を行う。これらのルールは、潜在的な実行時の問題を減らし、コードの堅牢性と長期的な保守性を向上させるのに役立つ。
シナリオ3:特定の技術スタックの最適化
- 効果特定の技術スタック(React、Vue、Node.jsなど)のベストプラクティスの適用を強化する。
- 指示フロントエンドのプロジェクトでは、コンポーネントの書き方に矛盾があると、理解や保守が難しくなります。Traeルールを設定することで、コンポーネントの書き方に一貫性を持たせることができます。
class
コンポーネントの誤用)の全コンポーネントを使用することを要求している。props
は型チェックされなければなりません。useEffect
フックの依存関係は完全に宣言されなければならない。一貫性のない API インタフェース・スタイルを持つバックエンドの Node.js プロジェクトでは、RESTful API 用のパス・フォーマット仕様への準拠を強制したり、エラー処理プロセスを標準化することを要求したり、そしてconsole.log
統一ログリポジトリの使用を義務化する。
シナリオ4:セキュリティとコンプライアンス
- 効果一般的なセキュリティ侵害を防止し、業界固有のコンプライアンス要件を満たすのに役立ちます。
- 指示コードセキュリティはプロジェクト成功の礎です。SQLインジェクション、クロスサイトスクリプティング攻撃(XSS)などの一般的なセキュリティリスクに対して、Trae Rulesはそれらを防ぐためのルールを設定することができます。例えば、SQLクエリ文字列をコードに直接スプライスすることを禁止する(パラメータ化されたクエリやORMの使用を強制する)、ユーザー入力を十分にエスケープせずにHTMLに直接出力することを検出する(XSS攻撃を防止する)、および、SQLクエリ文字列をコードに直接出力することを禁止する(XSS攻撃を防止する)。
eval()
もしかしたらnew Function()
Trae Rules は、コード内のプレーンテキストに含まれる機密情報(パスワードや鍵など)の検出を支援します。金融やヘルスケアなど、データ保護やコンプライアンス監査の要件が厳しい業界では、Trae Rulesは、機密情報(パスワードやキーなど)がコード内のプレーンテキストに含まれているかどうかを検出し、パスワードなどの機密データを暗号化して保存するよう強制し、ロギングに個人を特定できる情報(PII)が含まれないようにすることで、コンプライアンスチェックのニーズを満たすプロジェクトを支援することができます。
シナリオ5:個人的な開発習慣の最適化
- 効果開発者が個人的なコーディングスタイルの一貫性を維持し、新しいプログラミング言語の機能をより効率的に学習し、適用できるようにします。
- 指示個人プロジェクトであっても、一貫したコードスタイルを維持することは、開発効率とコードの読みやすさを向上させるのに役立ちます。開発者は個人的なルールを設定することで、これを実現できる。さらに、新しいプログラミング言語(例:Rust、Go、Python)を学ぶとき、初心者はその言語の通常のパラダイムやベストプラクティスに準拠しないコードを書きがちです。Traeルールを設定することで、例えばRust開発では
Result
タイプは適切に処理される(直通電話は禁止されている)unwrap()
(エラーを無視する)、Go開発における関数リターンのチェックと処理の強制、Go開発におけるerr
変数(エラーを無視することを禁止する)や、Python開発において型アノテーションの使用を強制し、それらがmypy
などの型チェックツールとの互換性があり、開発者が良いコーディング習慣を身につけ、新しい言語の本質をより早く理解するのに効果的だ。
Traeルールを慎重に設定し適用することで、AIは開発者の特定のニーズや作業習慣により正確に適応し、日々の開発ワークフローによりシームレスに統合され、真に効率的な人間とコンピュータのコラボレーションを可能にします。興味のある開発者は、Trae IDEの公式チャンネルから最新バージョンのTrae IDEをダウンロードして、この機能を実際に体験してみてください。