Grok開発プロンプト
日々の開発業務を加速するプロンプト集。未知のコードの読み解き、バグの追跡、テストやドキュメントの作成、スクショからのUI実装を支援します。
エラーメッセージの解読、クラッシュはしないものの結果が狂うバグの追跡、diffのレビュー、テストやフィクスチャの作成、SQLクエリや正規表現の構築、シェルスクリプトの作成、APIドキュメントの記述、Gitのトラブルシューティング、既知の言語との比較による新しい言語の学習など、開発者の日常業務を網羅する20個のコーディング用プロンプトを用意しました。
Grokは、前提情報が揃っているほど的確かつ迅速に回答できます。使用している言語、フレームワーク、バージョンを明記し、問題が再現する最小限のコードと完全なエラーテキストを貼り付け、期待していた動作を説明してください。バグ調査にはGrok 4.3 Thinkingがおすすめです。コードを思考プロセスで追跡してから回答するため、オフバイワンエラー、競合状態、複雑な条件分岐の特定に役立ちます。素早い解説やボイラープレートの生成にはGrok 4.20で十分です。また、崩れたレイアウトのスクリーンショットや、ホワイトボードに描いたデータモデルのスケッチを読み取らせる、画像認識対応のプロンプトも2つ含まれています。
AIモデルには知識のカットオフがあり、最新のドキュメントを直接参照できないため、ライブラリの関数が変更されていたり存在しなかったりする場合があります。一見正しそうに見えるコードでもエラーになることがあるため、必ず実行してテストしてください。また、APIキー、パスワード、トークン、顧客データを貼り付けないようご注意ください。入力内容は回答生成のためにサーバーを経由してモデルプロバイダーへ送信されます。長文メッセージは切り詰められることがあるため、リポジトリ全体ではなく該当する関数のみを送信してください。
開発者向けのGrok活用法を見るか、Code Assistantを開く、またはGrok APIの詳細をご覧ください。
プロンプトの調整テクニック
- バージョンを含めたスタックを明記する: 単に「JavaScript」とするより、「Node 22、TypeScript 5、Express」と指定する方が精度が上がります。
- 1つの関数に収まらない処理は、コードの前に実装方針を尋ねる。
- 変更ごとの解説を求める: diffだけでなく、その判断の根拠も確認できます。
- 最難関の課題にはGrok 4.7を残しておく(1日10件の上限があります)。
-
01
エラーメッセージの解読
使用環境は[言語・フレームワークおよびバージョン]です。次のエラーを平易な言葉で説明し、考えられる原因のトップ3を確率の高い順にリストアップして、それぞれ最初に確認すべき箇所を教えてください:[完全なエラーログとスタックトレースを貼り付け]
-
02
異常値を1行ずつトレース
この関数に[入力値]を渡すと[実際の結果]が返されますが、期待される結果は[期待する結果]です。その入力を使って実行を1行ずつトレースし、すべての変数を追跡した上で、状態が想定と異なり始める最初の行で止まって原因を説明してください:[コードを貼り付け]
-
03
レースコンディションの特定
この[言語]のコードは、単体テストでは再現しませんが高負荷時に時々[症状]が発生します:[コードを貼り付け]。レースコンディション、共有状態、処理順序の暗黙の前提を探してください。怪しい箇所ごとに、バグを引き起こす具体的なインターリーブ(交差実行)と修正方法を説明してください。
-
04
プルリクエストのレビュー
[言語]コードベースに対する厳格なシニアエンジニアとして、このdiffをレビューしてください。コメントを「バグ」「リスク」「可読性」「テスト」に分類し、該当行を明記した上で、判定(承認 / 修正付き承認 / 変更要求)と1文の理由で締めくくってください:[diffを貼り付け]
-
05
エッジケースの洗い出しとテスト作成
以下の関数について、テストすべきすべてのエッジケースとその理由をリストアップし、[テストフレームワーク]でテストコードを書いてください。現在のコードでは失敗することが予想されるテストを少なくとも1つ含め、どれが失敗するかを教えてください:[関数を貼り付け]
-
06
テスト用エッジデータの生成
次のデータモデルに対する実践的なテストフィクスチャを[形式(例:JSON、ファクトリ関数など)]で作成してください:[モデルを貼り付け]。通常のレコードを10件と、空文字、極端に長い名前、非ASCII文字、境界値の日付などの扱いにくい異常系レコードを5件含め、どれが該当するかラベル付けしてください。
-
07
自然言語からのSQL生成
このスキーマ([スキーマを貼り付け])をもとに、[取得したいデータ]を返す[データベース名]のクエリを書いてください。クエリを句ごとに解説し、次に[エッジケース(例:注文のない顧客など)]にも対応できるバリエーションを提示してください。
-
08
正規表現のデバッグ
この正規表現は[言語またはツール]で[期待する動作]をするはずですが、[起きている不具合]となります:[正規表現を貼り付け]。パーツごとに分解して解説し、問題を再現する入力例を示した上で、修正版とそれにマッチしてはならない(弾くべき)3つの入力例を提示してください。
-
09
定型処理スクリプトの安全な自動化
[タスク(例:30日以上前のログファイルをzipにアーカイブするなど)]を行う[BashまたはPowerShell]スクリプトを作成してください。安全性を最優先し、実行予定の内容を表示するだけのドライランモード、明確なエラーメッセージ、ファイルの削除や上書きを行うすべての行へのコメントを含めてください。
-
10
APIエンドポイントの仕様書を作成
このエンドポイントのリファレンス仕様書を作成してください: [ハンドラーのコードまたはルートを貼り付け]。メソッド、パス、型や必須フラグを含むパラメータ一覧、リクエスト例、成功・エラー時のレスポンス例、返される可能性のあるすべてのステータスコードを含めてください。
-
11
Gitのトラブルから復旧する
私のGitリポジトリが現在この状態になっています: [git status と git log の直近数行を貼り付け]。やりたかったこと: [目的]。何が起きたのかを分かりやすく解説し、現在の作業をバックアップするコマンドから順に、修正に必要な正確なコマンドを提示してください。履歴を改変するコマンドがある場合は事前に警告してください。
-
12
コードを言語特有の自然な書き方に書き直す
私は[使い慣れた言語]が得意で、現在[新しい言語]を学んでいます。いつものスタイルで書いたこのスニペット[スニペットを貼り付け]を、経験豊富な[新しい言語]の開発者が書くような自然でイディオマティックなコードに書き直してください。また、元の言語には直接該当するものがない使われたイディオムについて解説してください。
-
13
スクリーンショットからレイアウト崩れを修正
ページのスクリーンショットを添付しました。問題点: [表示がおかしい部分]。該当セクションのHTMLとCSSはこちらです: [コードを貼り付け]。原因を特定し、最小限のCSS修正案を提示し、再発防止のために理由を説明してください。
-
14
ホワイトボードの手書き図からDBテーブルを作成
[アプリ名]のデータモデルを描いたホワイトボードの写真を添付しました。これを主キー、外部キー、適切なデータ型を含む[データベース名]のテーブル定義に変換してください。スケッチ内で関係性が曖昧な部分があれば、推測で進めずにまず確認の質問をしてください。
-
15
計算量の算出とより高速なアプローチ
この関数の時間計算量と空間計算量はいくつですか?その理由も教えてください: [コードを貼り付け]。入力サイズが約[サイズ]の場合により高速なアプローチがあれば提示し、可読性と引き換えになる点も説明してください。
-
16
振る舞いを変えずにリファクタリング
動作を変えずに、この関数を読みやすくリファクタリングしてください: [コードを貼り付け]。小さく名前を付けたステップに分け、各変更を1行で説明し、確信が持てない挙動があればマージ前に確認できるようリストアップしてください。
-
17
ゼロからREADMEを作成
[機能の概要]を行う私のプロジェクト[プロジェクト名]のREADMEを作成してください。構成: 概要、コピペできるコマンド付きのクイックスタート、表形式の設定オプション、よくある問題、コントリビュート方法。主要なファイルとコマンドの情報はこちらです: [詳細を貼り付け]
-
18
他人が書いたコードを読み解く
プログラミング知識はあるものの、このコードベースを知らない人に向けて、この[言語]コードの動作を解説してください。まず2文で要約し、ブロックごとに詳しく説明し、バグや急場しのぎのハックに見える部分を指摘してください: [コードを貼り付け]
-
19
設計の穴や弱点を徹底検証
[機能]をこのように実装する計画です: [アプローチの説明]。あえて批判的な視点(悪魔の代弁者)でレビューしてください。本番環境でこの設計が破綻する可能性が最も高い3つのパターン、その際に起きる現象、そしてより低コストな代替案があれば提示してください。午前3時に障害で叩き起こされる前に知りたいので、遠慮なく率直にお願いします。
-
20
別言語へのコード移植
この[移行元言語]のコードを、単純な直訳ではなくイディオマティックな[移行先言語]のコードに変換してください: [コードを貼り付け]。可能な限り移行先言語の標準ライブラリを使い、同じ挙動を保ちつつ、整数除算や文字列エンコーディングなど両言語で挙動が異なる部分をリストアップしてください。