Claude Code 的 CLAUDE.md:如何讓 AI 真正理解你的專案

 隨著 AI Agent 開發模式逐漸普及,許多開發者開始使用 Claude Code 來協助撰寫程式、重構架構、分析專案。

但在實際使用時,你很快會遇到一個問題:

AI 並不了解你的專案架構與開發規則。

例如:

  • 你的專案使用 Clean Architecture
  • API 必須遵循 特定命名規則
  • Repository 與 Service 的使用方式不同
  • 特定資料夾不能修改

如果每次都要重新在 Prompt 裡說明一次,會非常浪費 Token,也容易遺漏資訊。

Claude Code 提供了一個解決方案:

CLAUDE.md


什麼是 CLAUDE.md

CLAUDE.mdClaude Code 專用的專案說明文件,用來告訴 Claude:

  • 專案架構
  • 開發規範
  • 工具使用方式
  • 重要限制

簡單來說:

CLAUDE.md 就是 給 AI 看的 README

但與 README 不同的是,它的目的是:

讓 AI Agent 在整個開發過程中保持一致的理解。


CLAUDE.md 的基本用途

在 Claude Code 中,CLAUDE.md 會在 AI 執行任務時被讀取,用來提供 專案上下文(Project Context)

常見用途包括:

1. 說明專案架構

例如:

project/
├─ api/
├─ service/
├─ repository/
└─ domain/

你可以告訴 Claude:

## Architecture

This project follows Clean Architecture.

- api: controller layer
- service: business logic
- repository: database access
- domain: core models

這樣 Claude 在生成程式碼時,就會遵循架構。


2. 定義開發規範

例如:

## Coding Rules

- Use dependency injection
- Do not access database directly in controller
- All database logic must go through repository

Claude 生成程式碼時就會遵守這些規則。


3. 定義工具使用方式

例如:

## Database

Database: SQL Server

Use Entity Framework Core for ORM.

## Logging

Use NLog for logging.

這對於你的情況特別重要,因為你的系統就是:

.NET + NLog

Claude 就不會亂用別的 logging library。


4. 定義 AI 的限制

例如:

## Restrictions

- Do not modify files under /generated
- Do not change database schema

避免 AI 誤修改重要檔案。


CLAUDE.md 的範例

一個簡單但實用的 CLAUDE.md

# Project Overview

This project is a .NET backend system.

Language: C#
Framework: .NET 6

## Architecture

Clean Architecture.

Layers:

- API
- Service
- Repository
- Domain

## Coding Rules

- Controllers should be thin
- Business logic must be in service layer
- Database access must go through repository

## Logging

Use NLog for all logging.

## Database

Database: SQL Server
ORM: Entity Framework

## Restrictions

Do not modify files in /generated.

這樣 Claude 就能快速理解整個專案。


CLAUDE.md 的優點

使用 CLAUDE.md 有幾個很明顯的優勢。


1. 減少 Prompt 長度

如果沒有 CLAUDE.md,你的 Prompt 可能會變成:

This project is a .NET project using Clean Architecture.
Use NLog for logging.
Database is SQL Server.
Repository pattern is used.
...

但有了 CLAUDE.md 之後:

Implement user login API.

Claude 會自動帶入專案背景。


2. AI 產生的程式碼更一致

沒有 CLAUDE.md 時:

AI 可能會:

  • 一次用 Repository
  • 一次直接 SQL
  • 一次用不同 logging library

CLAUDE.md 後:

AI 會遵守 統一的開發規則


3. 降低 Token 成本

因為不需要在每個 Prompt 重複專案資訊。

這對 長時間使用 AI Agent 非常重要。


4. 適合團隊協作

如果團隊都使用 Claude Code:

CLAUDE.md 可以成為 AI 的開發規範文件


CLAUDE.md 的缺點

雖然 CLAUDE.md 很有用,但也有一些限制。


1. 需要人工維護

如果專案架構改變:

CLAUDE.md 也需要更新。

否則 AI 會依照 過期資訊生成程式碼。


2. 文件品質會影響 AI 表現

如果 CLAUDE.md

  • 太簡單
  • 不夠清楚
  • 缺乏架構說明

AI 的理解仍然可能錯誤。


3. 無法完全取代 Prompt

CLAUDE.md 提供的是:

背景知識

但具體任務仍然需要:

Create a user login API.

CLAUDE.md 的最佳實務

如果你想讓 Claude Code 發揮最大效果,可以遵循幾個原則。


1. 保持簡潔

不要寫成 5000 行文件。

只保留:

  • 架構
  • 規範
  • 限制

2. 使用清楚的章節

建議結構:

Project Overview
Architecture
Coding Rules
Tools
Restrictions

3. 不要寫太多細節

AI 不需要知道:

  • 每個 API 的細節
  • 每個 class 的用途

只需要 規則


CLAUDE.md vs README

很多人會問:

既然有 README,為什麼還需要 CLAUDE.md?

差別如下:

文件目的
README給人類開發者
CLAUDE.md給 AI Agent

README 通常包含:

  • 安裝方式
  • 使用方式
  • 專案介紹

CLAUDE.md 只關心:

AI 如何在專案中工作


總結

CLAUDE.md 是 Claude Code 中非常重要的一個機制,它讓 AI 能夠理解專案的:

  • 架構
  • 規範
  • 工具
  • 限制

透過良好的 CLAUDE.md 設計,你可以讓 AI:

  • 產生更一致的程式碼
  • 減少 Prompt 長度
  • 降低 Token 成本
  • 提升開發效率

AI Agent 開發模式 越來越普及的今天,CLAUDE.md 很可能會成為未來專案的一種標準配置。

留言

熱門文章