refactor(prompt): 移除注意力优化功能

注意力优化功能(通过添加随机空白字符或语义变体)被证明效果不佳且可能引入不稳定性。

为了简化代码库、减少用户配置的复杂性并提高系统的稳定性,决定移除此实验性功能。这使得提示词构建过程更加直接和可预测。

BREAKING CHANGE: 移除了注意力优化功能及其所有相关配置。用户需要从配置文件中移除 `[attention_optimization]` 部分。
This commit is contained in:
minecraft1024a
2025-11-14 16:15:42 +08:00
committed by Windpicker-owo
parent a9346d46d3
commit 80b5c3c6f8
5 changed files with 3 additions and 32 deletions

View File

@@ -375,15 +375,6 @@ class Prompt:
# 这样做可以更早地组合模板,也使得`Prompt`类的职责更单一。
result = main_formatted_prompt
# 步骤 4: 注意力优化(如果启用)
# 通过轻量级随机化避免提示词过度相似导致LLM注意力退化
if self.parameters.enable_attention_optimization:
from src.chat.utils.attention_optimizer import get_attention_optimizer
optimizer = get_attention_optimizer()
result = optimizer.optimize_prompt(result, context_data)
logger.debug("已应用注意力优化")
total_time = time.time() - start_time
logger.debug(
f"Prompt构建完成模式: {self.parameters.prompt_mode}, 耗时: {total_time:.2f}s"

View File

@@ -27,7 +27,6 @@ class PromptParameters:
enable_relation: bool = True
enable_cross_context: bool = True
enable_knowledge: bool = True
enable_attention_optimization: bool = True # 注意力优化开关
# 性能控制
max_context_messages: int = 50

View File

@@ -13,7 +13,6 @@ from src.common.logger import get_logger
from src.config.config_base import ValidatedConfigBase
from src.config.official_configs import (
AffinityFlowConfig,
AttentionOptimizationConfig,
BotConfig,
ChatConfig,
ChineseTypoConfig,
@@ -392,9 +391,7 @@ class Config(ValidatedConfigBase):
tool: ToolConfig = Field(..., description="工具配置")
debug: DebugConfig = Field(..., description="调试配置")
custom_prompt: CustomPromptConfig = Field(..., description="自定义提示配置")
attention_optimization: AttentionOptimizationConfig = Field(
default_factory=lambda: AttentionOptimizationConfig(), description="注意力优化配置"
)
voice: VoiceConfig = Field(..., description="语音配置")
permission: PermissionConfig = Field(..., description="权限配置")
command: CommandConfig = Field(..., description="命令系统配置")

View File

@@ -427,7 +427,7 @@ class MemoryConfig(ValidatedConfigBase):
search_max_expand_depth: int = Field(default=2, description="检索时图扩展深度0-3")
search_expand_semantic_threshold: float = Field(default=0.3, description="图扩展时语义相似度阈值建议0.3-0.5,过低可能引入无关记忆,过高无法扩展)")
enable_query_optimization: bool = Field(default=True, description="启用查询优化")
# 路径扩展配置 (新算法)
enable_path_expansion: bool = Field(default=False, description="启用路径评分扩展算法(实验性功能)")
path_expansion_max_hops: int = Field(default=2, description="路径扩展最大跳数")
@@ -533,16 +533,6 @@ class CustomPromptConfig(ValidatedConfigBase):
planner_custom_prompt_content: str = Field(default="", description="规划器自定义提示词内容")
class AttentionOptimizationConfig(ValidatedConfigBase):
"""注意力优化配置类 - 防止提示词过度相似导致LLM注意力退化"""
enable_noise: bool = Field(default=True, description="启用轻量级噪声注入(空白字符调整)")
enable_semantic_variants: bool = Field(default=False, description="启用语义变体替换(实验性功能)")
noise_strength: Literal["light", "medium", "heavy"] = Field(
default="light", description="噪声强度: light(轻量) | medium(中等) | heavy(强力)"
)
class ResponsePostProcessConfig(ValidatedConfigBase):
"""回复后处理配置类"""

View File

@@ -1,5 +1,5 @@
[inner]
version = "7.7.0"
version = "7.7.1"
#----以下是给开发人员阅读的如果你只是部署了MoFox-Bot不需要阅读----
#如果你想要修改配置文件请递增version的值
@@ -351,12 +351,6 @@ reaction = "请按照以下模板造句:[n]是这样的xx只要xx就可以
image_prompt = "请用中文描述这张图片的内容。如果有文字请把文字描述概括出来请留意其主题直观感受输出为一段平文本最多30字请注意不要分点就输出一段文本"
planner_custom_prompt_content = "" # 决策器自定义提示词内容,如果这里没有内容则不生效
# 注意力优化配置 - 防止提示词过度相似导致LLM注意力退化
[attention_optimization]
enable_noise = false # 启用轻量级噪声注入(空白字符调整)
enable_semantic_variants = false # 启用语义变体替换(实验性功能)
noise_strength = "light" # 噪声强度: "light"(轻量) | "medium"(中等) | "heavy"(强力)推荐使用light
[response_post_process]
enable_response_post_process = true # 是否启用回复后处理,包括错别字生成器,回复分割器