34 ポイント 投稿者 darjeeling 2025-03-12 | 1件のコメント | WhatsAppで共有

1. 合理的な期待値を設定する (Set reasonable expectations)

  • 主な内容:
    LLMは本質的に高度な自動補完ツールであることを認識する必要があり、全面的に依存するとエラーや不正確な結果が生じる可能性がある。
  • 活用法:
    自分のコーディング能力を補完する補助ツールとして活用し、過度な期待を捨て、ミスを検証する姿勢が必要である。

2. 学習データの打ち切り時点を考慮する (Account for training cut-off dates)

  • 主な内容:
    モデルが学習したデータの新しさには限界がある可能性があるため、最新ライブラリや技術の変化には注意が必要である。
  • 活用法:
    安定性と汎用性が実証されたライブラリの利用を優先し、最新技術が必要な場合は自分で直接例を提示して補完する。

3. 文脈の重要性 (Context is king)

  • 主な内容:
    会話のすべての履歴(プロンプトと応答)が結果に影響するため、文脈管理が重要である。
  • 活用法:
    複雑な作業では既存コードを会話に含めてモデルが参照できるようにし、必要に応じて新しい会話にリセットする。

4. 複数の選択肢の提示を求める (Ask them for options)

  • 主な内容:
    初期の調査段階では、LLMに複数の実装オプションや例を求め、可能な選択肢を探る。
  • 活用法:
    「どのような選択肢があるか?」といった質問で技術的な可能性を確認し、その後で選んだ案をもとに具体化する。

5. 何をしてほしいかを正確に伝える (Tell them exactly what to do)

  • 主な内容:
    本番コードを書く際には、詳細で明確な指示を出し、求める機能を正確に実装するよう導く。
  • 活用法:
    関数シグネチャ、使用すべきライブラリ、例外処理などの具体事項を指示し、LLMが要件に沿ってコードを書けるようにする。

6. 書かれたコードは必ずテストする (You have to test what it writes!)

  • 主な内容:
    LLMが書いたコードであっても、実際に動作するかどうかを必ず確認する必要があり、自動テストと手動検証が求められる。
  • 活用法:
    生成されたコードに対して pytest などのテストフレームワークを使い、正常に動作するかを検証する。

7. 対話的なやり取りを維持する (Remember it’s a conversation)

  • 主な内容:
    LLMとのやり取りは一回限りではなく、反復的な対話を通じて結果を改善できる。
  • 活用法:
    初期結果が不十分な場合は、追加の指示やフィードバックによってコードをリファクタリングし、改善する。

8. コードを実行できるツールを活用する (Use tools that can run the code for you)

  • 主な内容:
    実行可能なサンドボックス環境や統合開発ツールを活用して、LLMが書いたコードを実際に実行してみることができる。
  • 活用法:
    ChatGPT Code Interpreter、Claude Artifacts など、安全な実行環境を提供するツールを使ってリアルタイムに検証する。

9. 「バイブコーディング」で学ぶ (Vibe-coding is a great way to learn)

  • 主な内容:
    反復的で自由な実験を通じてLLMの活用法を学び、多様なアイデアを素早く実装してみる方法である。
  • 活用法:
    簡単な機能から始めて、反復的な試行と改善を通じてLLMの限界を把握し、自分のコーディング感覚を高める。

10. Claude Codeを活用した詳細な例 (A detailed example using Claude Code)

  • 主な内容:
    実際のプロジェクト例を通じて、Claude Codeがどのように具体的な要件を反映して作業を進めるかを示す。
  • 活用法:
    段階的なプロンプトとフィードバックを通じて、PythonスクリプトやHTMLページの生成など複合的な作業を行う過程を参考にする。

11. 人間の介入の必要性 (Be ready for the human to take over)

  • 主な内容:
    LLMが生成したコードにもエラーや不適切な部分があり得るため、最終確認と修正は必ず人間が行う必要がある。
  • 活用法:
    LLMが見落とす細部や微妙なエラーを自分で点検し、補完して完成度の高い成果物に仕上げる。

12. 開発速度の最大化 (The biggest advantage is speed of development)

  • 主な内容:
    LLMを活用すれば、プロトタイプ作成や反復的な作業の速度を飛躍的に高められる。
  • 活用法:
    初期アイデアの検証や簡単なコード作成にLLMを積極的に活用し、開発時間を短縮する。

13. 既存の専門知識を増幅する (LLMs amplify existing expertise)

  • 主な内容:
    すでに熟練した開発者であれば、LLMを活用することで自分の専門性をさらに強化し、生産性を高められる。
  • 活用法:
    自身の経験と知識をもとにLLMへ明確な指示を出し、より精緻な成果物を引き出す。

14. 追加機能: コードベースに関する質問への回答 (Bonus: answering questions about codebases)

  • 主な内容:
    LLMはコードベースに関する質問に答えたり、コードの特定部分を説明したりする用途にも有用に活用できる。
  • 活用法:
    コードの構造や特定機能について質問し、関連する説明やドキュメントの生成に役立てることができる。

1件のコメント

 
junghan0611 2025-03-27

この方のブログは本当にすごいですね。ありがとうございます。