6.8 --append-system-prompt - 附加到預設系統提示
概述
--append-system-prompt 標誌允許您將自定義內容附加到 Claude 的預設系統提示之後,而不是完全替換它。這種方式可以保留 Claude 的核心行為和能力,同時新增您特定的指導或約束。
基本语法
bash
claude --append-system-prompt "附加的提示内容"
与 --system-prompt 的区别
| 標誌 | 行為 | 使用場景 |
|---|
--system-prompt| 完全替換預設系統提示| 需要完全自定義 Claude 的行為 --append-system-prompt| 附加到預設系統提示| 需要在保留核心能力的基礎上新增特定指導
使用场景
1. 添加项目特定规则
保留 Claude 的核心能力,同時新增專案特定的約束:
bash
claude --append-system-prompt "在这个项目中,所有 API 端点必须包含认证中间件,数据库操作必须使用事务,敏感数据必须加密存储。"
### 2\. 指定输出格式要求 Claude 以特定格式輸出,而不影響其核心推理能力:
bash
claude --append-system-prompt "所有代码示例必须包含类型注解和文档字符串。输出格式必须使用 Markdown 代码块。"
### 3\. 添加领域特定知识在 Claude 的通用知識基礎上,新增特定領域的指導:
bash
claude --append-system-prompt "你正在为医疗设备软件工作。所有代码必须遵循 IEC 62304 标准,并包含详细的单元测试。"
### 4\. 设置语言偏好指定回答的語言或術語偏好:
bash
claude --append-system-prompt "请使用简体中文回答所有问题。技术术语保留英文原文。"
### 5\. 添加安全约束在保留 Claude 安全能力的基礎上,新增額外的安全要求:
bash
claude --append-system-prompt "对于任何涉及用户数据的操作,必须先进行数据脱敏处理。所有密码必须使用 bcrypt 哈希。"
## 高级用法
### 1\. 多行提示使用引號包裹多行提示:
bash
bash
claude --append-system-prompt "
在这个项目中:
"
### 2\. 与其他标志组合
bash
# 附加系统提示并设置模型
claude --append-system-prompt "使用 TypeScript 严格模式" --model opus
# 附加系统提示并限制工具
claude --append-system-prompt "只使用 Read 和 Grep 工具" --allowedTools "Read" "Grep"
# 附加系统提示并指定输出格式
claude --append-system-prompt "输出 JSON 格式" --output-format json
### 3\. 管道输入配合使用
bash
# 附加系统提示并处理管道输入
cat code.py | claude --append-system-prompt "使用 PEP 8 风格指南" -p "审查这段代码"
# 附加系统提示并使用 SDK 查询
claude --append-system-prompt "关注性能优化" -p "优化这个函数"
### 4\. 环境变量
bash
# 设置环境变量
export APPEND_PROMPT="使用公司内部代码规范"
# 使用环境变量
claude --append-system-prompt "$APPEND_PROMPT"
## 实际应用示例
### 示例 1: Web 开发项目
bash
claude --append-system-prompt "
项目技术栈:React 18, TypeScript, Tailwind CSS
代码规范:
- 使用函数组件和 Hooks
- 所有组件必须有 PropTypes 或 TypeScript 类型
- 样式使用 Tailwind CSS 类名
- 状态管理使用 Redux Toolkit
"
### 示例 2: 数据科学项目
bash
claude --append-system-prompt "
数据科学项目规范:
- 使用 Python 3.9+
- 数据处理使用 Pandas
- 可视化使用 Matplotlib 和 Seaborn
- 机器学习使用 scikit-learn
- 所有代码必须有类型注解
- Jupyter Notebook 必须转换为 Python 脚本
"
### 示例 3: DevOps 项目
bash
claude --append-system-prompt "
DevOps 项目要求:
- 所有基础设施即代码使用 Terraform
- CI/CD 使用 GitHub Actions
- 容器化使用 Docker
- 编排使用 Kubernetes
- 监控使用 Prometheus 和 Grafana
- 日志使用 ELK Stack
"
### 示例 4: 移动应用开发
bash
claude --append-system-prompt "
移动应用开发规范:
- 使用 React Native
- 状态管理使用 MobX
- 导航使用 React Navigation
- 网络请求使用 Axios
- 本地存储使用 AsyncStorage
- 所有组件必须有 TypeScript 类型
"
## 最佳实践
### 1\. 明确且简洁保持附加提示明確且簡潔:
bash
# 好的示例
claude --append-system-prompt "所有函数必须有类型注解和文档字符串"
# 不好的示例
claude --append-system-prompt "请确保你编写的所有代码都包含适当的类型注解,并且每个函数都应该有详细的文档字符串来解释它的功能、参数和返回值"
### 2\. 使用编号列表對於多個要求,使用編號列表:
bash
claude --append-system-prompt "代码规范:\n1. 所有函数必须有类型注解\n2. 所有函数必须有文档字符串\n3. 所有类必须有文档字符串"
### 3\. 提供示例在提示中包含示例:
python
bash
claude --append-system-prompt "
函数格式示例:
def calculate_total(items: List[Item]) -> float:
\"\"\"计算商品总价\"\"\"
return sum(item.price for item in items)
"
### 4\. 分离关注点將不同型別的關注點分開:
bash
# 代码风格
claude --append-system-prompt "使用 PEP 8 风格指南"
# 安全要求
claude --append-system-prompt "所有用户输入必须验证和清理"
# 性能要求
claude --append-system-prompt "优先考虑时间复杂度 O(n) 的算法"
## 常见问题
### Q1: 附加提示的长度有限制吗?
A: 有一定的限制,但通常足够长。如果提示非常长,建议使用 `--system-prompt-file` 从文件加载。
### Q2: 可以多次使用 --append-system-prompt 吗?
A: 不可以。每次只能使用一次。如果需要添加多个内容,请将它们合并为一个提示。
### Q3: 附加提示会影响 Claude 的核心能力吗?
A: 不会。`--append-system-prompt` 只是在默认系统提示后添加内容,不会替换核心能力。
### Q4: 何时使用 --append-system-prompt 而不是 --system-prompt?
A: 当您希望保留 Claude 的核心行为和能力,只需要添加特定指导时使用 `--append-system-prompt`。当您需要完全自定义 Claude 的行为时使用 `--system-prompt`。
### Q5: 附加提示的优先级如何?
A: 附加提示会与默认系统提示一起工作。如果存在冲突,附加提示通常具有更高的优先级。
## 与其他标志的组合示例
### 1\. 完整的开发环境设置
bash
claude \
--append-system-prompt "使用 TypeScript 严格模式,编写单元测试" \
--model opus \
--allowedTools "Read" "Write" "Grep" "RunCommand" \
--verbose
### 2\. 代码审查会话
bash
claude \
--append-system-prompt "代码审查重点:安全性、性能、可维护性" \
--model opus \
--output-format json \
-p "审查 src/auth.py"
### 3\. 文档生成
bash
claude \
--append-system-prompt "生成符合 Google 风格的 API 文档" \
--model opus \
--output-format markdown \
-p "为所有 API 端点生成文档"
### 4\. 测试生成
bash
claude \
--append-system-prompt "使用 pytest 编写单元测试,覆盖率至少 80%" \
--model opus \
--allowedTools "Read" "Write" \
-p "为 src/utils.py 生成测试"
## 提示模板
### 代码风格模板
```bash
claude --append-system-prompt "
程式碼風格要求:
- 使用 2 空格縮排- 每行不超过 80 字符
- 使用驼峰命名法(变量和函数)
- 使用帕斯卡命名法(类)
- 常量使用全大写和下划线
"
安全模板
bash
claude --append-system-prompt "
安全要求:
- 所有用户输入必须验证
- 敏感数据必须加密
- 使用参数化查询防止 SQL 注入
- 实施 CSRF 保护
- 设置适当的安全头
"
性能模板
bash
claude --append-system-prompt "
性能要求:
- 优先考虑 O(n) 或更好的算法
- 避免不必要的数据库查询
- 使用缓存减少重复计算
- 异步处理耗时操作
- 优化数据库索引
"
文档模板
bash
claude --append-system-prompt "
文档要求:
- 所有函数必须有文档字符串
- 复杂逻辑必须有注释
- API 端点必须有 OpenAPI 规范
- README 必须包含安装和使用说明
- 变更日志必须记录所有重要更改
"
总结
--append-system-prompt 标志提供了一种灵活的方式来增强 Claude 的默认行为,而不需要完全替换其系统提示。这种方式特别适合:
- 添加项目特定的规则和约束
- 指定输出格式和风格
- 添加领域特定的知识
- 设置语言和术语偏好
- 添加额外的安全或性能要求
通过合理使用 --append-system-prompt,您可以在保留 Claude 核心能力的同時,定製其行為以適應您的具體需求。