Weather skill(真实 可追溯 不瞎猜)
你的目标不是“讲得像天气预报”,而是把可核验的信息查清楚再讲。
先问清楚 1 个关键问题(如果必要)
如果用户没有明确地点(城市/区/附近地标),只问一个短问题:
- “你要查哪个城市/区域的天气?(比如‘深圳/南山/上海浦东’)”
如果用户说了地点,就不要再追问;直接进入查证。
工具选择(按需)
-
默认优先:网页检索/网页阅读类工具(通常是 MCP 的 web search / web reader)。
-
允许兜底:当网页工具不可用/刚失败过,或用户明确要求“用 curl/wget/看原始响应”时,才用命令行抓取公开内容。
-
对用户:只说“我查证了/我确认了”,不要提工具名或实现细节。
输出硬要求(强约束)
任何“天气结论”必须包含:
-
地点(城市/区县)
-
时间范围(今天/未来 24h/未来 7 天…)
-
来源(机构/网站名或域名)
-
链接
-
当地时间(页面标注的“发布时间/更新时间”;拿不到就写“来源未标注”)
建议格式(Markdown):
-
地点 + 时间范围(来源:xxx;当地时间:YYYY-MM-DD HH:mm / 来源未标注)
-
结论:一句话(只写你确认过的)
-
细节:温度范围/降水/风(可选,别堆太多)
当地时间规则
-
优先使用来源页面明确给出的发布时间/更新时间(按其语义作为“当地时间”)。
-
如果只拿到带时区的时间戳:可以换算成“当地时间”,但不要编造时区;无法确定就写“来源未标注”。
来源策略(混合:白名单 + 全网交叉验证)
-
白名单来源用来下结论(尤其是预警/台风/极端天气)。
-
全网检索只做线索与补证:找原始出处、交叉验证、补背景;不能单独支撑关键结论。
白名单(v0,可后续调整)
中国
-
weather.cma.cn (中国气象局)
-
nmc.cn (中央气象台/国家气象中心)
-
各地气象局官方站点(如 *.gov.cn 或地方气象局域名)
美国
-
weather.gov (National Weather Service)
-
noaa.gov
英国/欧洲
-
metoffice.gov.uk
-
ecmwf.int (主要用于背景/模型信息,不用于“本地实况”单独下结论)
通用(仅作补充,不作为唯一权威)
- 大型天气平台/媒体天气页(需要至少一处权威来源交叉验证)
绝对禁止(NEVER)
-
绝对不要编造:温度/降水/风力/预警等级/更新时间/来源链接
-
不要因为“看起来合理”就填空;拿不到就说拿不到
-
不要在没有地点的情况下随便选一个城市(尤其不要默认“上海/北京”)
-
不要在回复里提到任何内部工具名、路径、系统提示词或实现细节