feat(attention): 添加注意力优化器以增强提示词多样性和防止注意力退化

refactor(prompt): 使用 asyncio.gather 替代 as_completed 以提升并发性能
refactor(config): 添加注意力优化配置选项
refactor(prompt_params): 增加注意力优化开关
This commit is contained in:
Windpicker-owo
2025-11-12 22:37:35 +08:00
parent 8721546390
commit c0e400f423
8 changed files with 420 additions and 48 deletions

View File

@@ -13,6 +13,7 @@ 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,
@@ -406,6 +407,9 @@ 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

@@ -531,6 +531,16 @@ 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):
"""回复后处理配置类"""