Skip to content

6.6 --system-prompt - 替换整个系统提示

--system-prompt 标志允许您用自定义文本替换整个系统提示。这为您提供了完全控制 Claude 行为的能力。

标志语法

bash


claude --system-prompt "<prompt>" [其他选项]

功能描述

--system-prompt 标志会:

  1. 用您提供的自定义文本替换整个默认系统提示
  2. 完全控制 Claude 的行为和指令
  3. 适用于交互模式和打印模式

使用示例

基本用法

bash


claude --system-prompt "You are a Python expert"

将 Claude 设置为 Python 专家。

代码风格指定

bash


claude --system-prompt "You only write type-annotated Python code"

指定只编写类型注解的 Python 代码。

领域专家

bash


claude --system-prompt "You are a machine learning expert specializing in PyTorch"

将 Claude 设置为 PyTorch 机器学习专家。

结合其他标志

bash


claude --system-prompt "You are a security-focused code reviewer" --model opus

使用指定的系统提示和模型。

使用场景

1. 特定编程语言

bash


claude --system-prompt "You are a Rust expert who follows the Rust API guidelines"

专注于 Rust 编程。

2. 特定框架

bash


claude --system-prompt "You are a React expert who uses functional components and hooks"

专注于 React 开发。

3. 特定领域

bash


claude --system-prompt "You are a DevOps expert specializing in Kubernetes"

专注于 DevOps 和 Kubernetes。

4. 特定风格

bash


claude --system-prompt "You write clean, well-documented code with comprehensive tests"

强调代码质量和文档。

系统提示的影响

完全替换

--system-prompt 会完全替换默认系统提示,这意味着:

  • 删除所有默认 Claude Code 指令
  • 为您提供一个空白的开始
  • 完全由您控制 Claude 的行为

适用模式

--system-prompt 在以下模式中有效:

  • 交互模式claude --system-prompt "..."
  • 打印模式claude -p --system-prompt "..."
  • 继续模式claude -c --system-prompt "..."

注意事项

  1. --system-prompt-file 互斥:不能同时使用两个标志
  2. 完全替换 :会删除所有默认指令,确保您的提示足够完整
  3. 提示长度 :系统提示有长度限制,保持简洁明确
  4. 行为改变 :会显著改变 Claude 的行为,确保这是您想要的
  5. 测试验证 :使用前测试自定义提示,确保行为符合预期

与其他系统提示标志的对比

标志行为模式用例

--system-prompt| 替换 整个默认提示| 交互 + 打印| 完全控制 Claude 的行为和指令 --system-prompt-file| 替换 为文件内容| 仅打印| 从文件加载提示以实现可重现性和版本控制 --append-system-prompt| 附加 到默认提示| 交互 + 打印| 添加特定指令,同时保持默认 Claude Code 行为

最佳实践

  1. 明确具体 :系统提示应该明确具体,指导 Claude 的行为
  2. 保持简洁 :避免过长的提示,保持简洁明确
  3. 测试验证 :使用前测试自定义提示,确保行为符合预期
  4. 文档记录 :记录自定义提示及其用途
  5. 版本控制 :将重要的自定义提示放入版本控制
## 常见问题

### Q: 可以在打印模式中使用吗?

A: 是的,`--system-prompt` 在交互模式和打印模式中都有效。

### Q: 会影响会话历史吗?

A: 不会,系统提示只影响 Claude 的行为,不影响会话历史。

### Q: 可以动态更改吗?

A: 不可以,系统提示在会话开始时设置,会话期间不能更改。

### Q: 与 `--append-system-prompt` 有什么区别?

A: `--system-prompt` 完全替换默认提示,而 `--append-system-prompt` 附加到默认提示。

## 相关标志


  * `--system-prompt-file`:从文件加载系统提示
  * `--append-system-prompt`:附加到默认系统提示
  * `--model`:设置会话模型

## 实际应用示例

### 项目特定提示

    bash


    #!/bin/bash
    # 为项目定义特定的系统提示
    PROJECT_PROMPT="You are a developer working on the XYZ project. Follow our coding standards: use TypeScript, include JSDoc comments, and write unit tests for all functions."

    claude --system-prompt "$PROJECT_PROMPT" "实现这个功能"

### 团队标准提示

    bash


    #!/bin/bash
    # 使用团队标准的系统提示
    TEAM_PROMPT=$(cat .claude/team-prompt.txt)
    claude --system-prompt "$TEAM_PROMPT" "审查这个 PR"

基于 MIT 许可发布 | 永久导航