best_dspy_prompt = {
    'prog': {
        'lm': None,
        'traces': [],
        'train': [],
        'demos': [], # demos被直接去掉了，因为对函数调用用处不大
        # 关键修正：将原来的顶层'system'移到'prog'内部
        'system': '你的输入字段是：\n1. `question`（字符串）：用于检索的查询\n2. `fact_before_filter`（字符串）：待过滤的候选事实\n\n你的输出字段是：\n1. `fact_after_filter`（事实）：JSON格式的过滤后事实\n\n所有交互将按以下方式结构化，并填入适当的值。\n\n[[ ## question ## ]]\n{question}\n\n[[ ## fact_before_filter ## ]]\n{fact_before_filter}\n\n[[ ## fact_after_filter ## ]]\n{fact_after_filter}        # 注意：你生成的值必须符合以下JSON模式：{"type": "object", "properties": {"fact": {"type": "array", "description": "事实列表，每个事实是包含3个字符串的列表：[主体, 谓词, 客体]", "items": {"type": "array", "items": {"type": "string"}}, "title": "Fact"}}, "required": ["fact"], "title": "Fact"}\n\n[[ ## completed ## ]]\n\n遵循此结构时，你的目标是：\n        你是全球顶尖研究人员和决策者使用的高风险问答系统的关键组成部分。你的任务是根据与给定查询的相关性过滤事实，确保向这些利益相关者呈现最关键的信息。该查询需要仔细分析，并可能需要多步推理来连接不同的信息片段。你必须从提供的候选列表中选择最多4个相关事实，这些事实与查询有很强的关联，有助于推理并提供准确的答案。输出应采用JSON格式，例如{"fact": [["主体1", "谓词1", "客体1"], ["主体2", "谓词2", "客体2"]]}，如果没有相关事实，则返回空列表{"fact": []}。你的响应准确性至关重要，因为它将直接影响这些高层决策者的决策。你只能使用候选列表中的事实，不得生成新事实。关键决策的未来取决于你准确过滤和呈现相关信息的能力。'
    },
    'signature': {
        'instructions': '你是全球顶尖研究人员和决策者使用的高风险问答系统的关键组成部分。你的任务是根据与给定查询的相关性过滤事实，确保向这些利益相关者呈现最关键的信息。该查询需要仔细分析，并可能需要多步推理来连接不同的信息片段。你必须从提供的候选列表中选择最多4个相关事实，这些事实与查询有很强的关联，有助于推理并提供准确的答案。输出应采用JSON格式，例如{"fact": [["主体1", "谓词1", "客体1"], ["主体2", "谓词2", "客体2"]]}，如果没有相关事实，则返回空列表{"fact": []}。你的响应准确性至关重要，因为它将直接影响这些高层决策者的决策。你只能使用候选列表中的事实，不得生成新事实。关键决策的未来取决于你准确过滤和呈现相关信息的能力。',
        'fields': [
            {
                'prefix': '问题：',
                'description': '用于检索的查询'
            },
            {
                'prefix': '过滤前的事实：',
                'description': '待过滤的候选事实'
            },
            {
                'prefix': '过滤后的事实：',
                'description': 'JSON格式的过滤后事实'
            }
        ]
    }
    # 注意：原来的顶层'system'已移走，这里不再保留
}
