Files
rules-skills/rules/common/token-efficiency.md
T
2026-06-24 18:32:50 +08:00

3.4 KiB
Raw Blame History

Token 效率规范

规则

  1. 精简输出

    • 默认输出控制在必要最小范围内,优先提供关键信息而非完整内容。
    • 避免冗余解释,用户已知的背景信息不再重复。
    • 单次回复总长度建议控制在 2000 字以内,复杂任务可分步输出。
  2. 代码输出优化

    • 只输出修改相关的代码片段,禁止输出完整文件内容。
    • 使用 // ... 或注释省略未修改部分,保留必要的上下文(通常前后 3-5 行)。
    • 多文件修改时,逐个文件展示,每个文件只展示变更部分。
  3. 避免重复

    • 不重复用户已提供的信息或上下文。
    • 不重复解释同一概念,首次提及即可。
    • 列表或表格中避免重复字段,使用引用或缩写。
  4. 结构化压缩

    • 优先使用列表、表格替代段落描述,减少连接词和过渡句。
    • 使用符号(如 )替代文字表达因果关系。
    • 技术术语使用标准缩写(如 API、DB、UI),避免全称重复。
  5. 智能省略

    • 通用代码模板(如 import 语句、标准配置)可省略,必要时提供链接或提示。
    • 错误堆栈只保留关键帧,过滤框架内部调用。
    • 日志输出只保留与问题相关的行,使用 ... 省略无关内容。
  6. 分步响应

    • 复杂任务先给出概要方案和关键步骤,确认后再展开细节。
    • 多步骤任务每步只输出当前步骤内容,不预输出后续步骤。

与现有规则的关联

关联规则 说明
output-format.md 第 2 条"简洁优先" 本规则是对"简洁优先"的具体化和量化补充,侧重 Token 层面的优化
output-format.md 第 8 条"代码输出" 本规则第 2 条是对该条的扩展,增加了具体的代码省略策略

示例

代码输出(优化前)

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);
    }

    // ... 其他代码 ...
}

代码输出(优化后)

// 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)

适用范围

  • 所有代码和技术内容输出
  • 日志和错误信息展示
  • 多步骤任务的分步回复