"""PromptSection - 模块化 Prompt 段落""" from dataclasses import dataclass @dataclass class PromptSection: """Prompt 段落定义 将 Prompt 分为 5 个标准段落,支持变量注入和 Token 预算管理。 """ identity: str = "" context: str = "" instructions: str = "" constraints: str = "" output_format: str = "" examples: str = "" def render(self, variables: dict | None = None) -> str: """渲染段落,替换变量""" text = "\n\n".join( part for part in [ self.identity, self.context, self.instructions, self.constraints, self.output_format, self.examples, ] if part ) if variables: for key, value in variables.items(): text = text.replace(f"${{{key}}}", str(value)) return text