常用规则

This commit is contained in:
2026-06-24 18:32:50 +08:00
parent 00450e7602
commit 1887360cd4
7 changed files with 711 additions and 1 deletions
+27
View File
@@ -0,0 +1,27 @@
# 语言规范 - 中文优先
## 规则
1. **必须使用中文**:与用户交流时,默认使用简体中文(zh-CN)进行所有回复。
2. **禁止混用**:除非用户明确要求或涉及专有名词(如代码、API 名称、品牌名),否则禁止在中文回复中夹杂英文单词或短语。
3. **技术术语处理**
- 专有技术名词(如 `React``Docker``Kubernetes`)可保留英文原词。
- 通用技术术语(如 "database" 应译为 "数据库""function" 应译为 "函数")应使用中文表述。
4. **代码与注释**:代码中的注释、文档字符串(docstring)应使用中文编写。
5. **异常场景**
- 若用户主动使用其他语言提问,可先用该语言简短确认,随后切换回中文继续交流。
- 若系统提示词或上下文强制要求使用英文(如特定工具的内部指令),可在该范围内使用英文,但对用户的输出仍须为中文。
## 示例
| 场景 | 正确示例 | 错误示例 |
|------|---------|---------|
| 日常回复 | "这是一个函数,用于处理用户输入。" | "This is a function used to handle user input." |
| 技术解释 | "使用 Docker 容器来部署应用。" | "Use Docker container to deploy the app." |
| 代码注释 | `// 计算两个数的和` | `// Calculate the sum of two numbers` |
## 适用范围
- 所有面向用户的文本输出
- 代码注释与文档
- 错误提示与日志说明(面向用户时)
+59
View File
@@ -0,0 +1,59 @@
# 输出规范
## 规则
1. **结构清晰**:输出内容必须层次分明,合理使用标题、列表、表格等格式,避免大段文字堆砌。
2. **简洁优先**:在保证信息完整的前提下,力求简洁。删除冗余词汇,避免重复表达。
3. **格式统一**
- 同类内容使用一致的格式呈现。
- 代码块必须标注语言类型(如 ```java)。
- 列表项保持对齐,层级关系明确。
4. **重点突出**
- 关键信息使用加粗(**文本**)或代码块(`代码`)突出。
- 重要结论前置,细节补充在后。
5. **完整性**
- 回答必须完整,不遗漏用户问题的任何部分。
- 涉及多步骤时,按顺序列出,确保逻辑连贯。
6. **可读性**
- 适当使用空行分隔不同段落或模块。
- 长文本超过 5 行时,考虑拆分为列表或表格。
- 避免一行文字过长,建议控制在 80-120 个字符内。
7. **错误与警告**
- 输出警告或错误信息时,使用明确的标识(如 `⚠️ 警告:``❌ 错误:`)。
- 提供错误的具体位置和修复建议。
8. **代码输出**
- 只输出必要的代码片段,避免完整文件复制。
- 修改代码时,标注修改点(如使用注释 `// 修改:...`)。
- 提供代码上下文说明,帮助理解。
## 示例
### 正确示例
```markdown
## 问题分析
**根本原因**:数据库连接池耗尽。
**影响范围**
- 用户登录接口响应超时
- 订单查询服务不可用
**修复步骤**
1. 增加连接池最大连接数(当前:20 → 建议:50)
2. 检查并关闭未释放的数据库连接
3. 重启应用服务
```
### 错误示例
```markdown
数据库连接池耗尽了所以用户登录不了订单也查不了,你要不看看把连接池改大点然后重启一下吧。
```
## 适用范围
- 所有面向用户的文本输出
- 技术文档与说明
- 代码审查意见
- 问题排查报告
+105
View File
@@ -0,0 +1,105 @@
Token 效率规范
## 规则
1. **精简输出**
- 默认输出控制在必要最小范围内,优先提供关键信息而非完整内容。
- 避免冗余解释,用户已知的背景信息不再重复。
- 单次回复总长度建议控制在 2000 字以内,复杂任务可分步输出。
2. **代码输出优化**
- 只输出修改相关的代码片段,禁止输出完整文件内容。
- 使用 `// ...` 或注释省略未修改部分,保留必要的上下文(通常前后 3-5 行)。
- 多文件修改时,逐个文件展示,每个文件只展示变更部分。
3. **避免重复**
- 不重复用户已提供的信息或上下文。
- 不重复解释同一概念,首次提及即可。
- 列表或表格中避免重复字段,使用引用或缩写。
4. **结构化压缩**
- 优先使用列表、表格替代段落描述,减少连接词和过渡句。
- 使用符号(如 `→``⇒`)替代文字表达因果关系。
- 技术术语使用标准缩写(如 API、DB、UI),避免全称重复。
5. **智能省略**
- 通用代码模板(如 import 语句、标准配置)可省略,必要时提供链接或提示。
- 错误堆栈只保留关键帧,过滤框架内部调用。
- 日志输出只保留与问题相关的行,使用 `...` 省略无关内容。
6. **分步响应**
- 复杂任务先给出概要方案和关键步骤,确认后再展开细节。
- 多步骤任务每步只输出当前步骤内容,不预输出后续步骤。
## 与现有规则的关联
| 关联规则 | 说明 |
|---------|------|
| `output-format.md` 第 2 条"简洁优先" | 本规则是对"简洁优先"的具体化和量化补充,侧重 Token 层面的优化 |
| `output-format.md` 第 8 条"代码输出" | 本规则第 2 条是对该条的扩展,增加了具体的代码省略策略 |
## 示例
### 代码输出(优化前)
```java
package com.example.service;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
@Autowired
private OrderRepository orderRepository;
// ... 其他代码 ...
public User getUserById(Long id) {
return userRepository.findById(id).orElse(null);
}
// ... 其他代码 ...
}
```
### 代码输出(优化后)
```java
// UserService.java
public User getUserById(Long id) {
return userRepository.findById(id).orElse(null);
}
```
### 日志输出(优化前)
```
2024-01-01 10:00:01 INFO [main] Starting application...
2024-01-01 10:00:02 INFO [main] Loading configuration...
2024-01-01 10:00:03 ERROR [main] Failed to connect to database
java.sql.SQLException: Connection refused
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1234)
at com.mysql.jdbc.Connection.<init>(Connection.java:567)
at com.mysql.jdbc.Driver.connect(Driver.java:89)
at java.sql.DriverManager.getConnection(DriverManager.java:123)
at com.example.config.DatabaseConfig.init(DatabaseConfig.java:45)
... 省略 20 行框架内部调用
```
### 日志输出(优化后)
```
ERROR: Failed to connect to database (Connection refused)
at DatabaseConfig.init(DatabaseConfig.java:45)
```
## 适用范围
- 所有代码和技术内容输出
- 日志和错误信息展示
- 多步骤任务的分步回复