我停止了重建望远镜,转而制造了一个镜头......
看起来您只提供了来源链接,而没有提供需要翻译的正文内容。请把要翻译的文本粘贴在 Source: 行之后,我就可以为您完成简体中文翻译。
背景
在我之前翻译《Surya Siddhanta》(一本古代印度天文学著作)的工作中,我花了数月时间手动计算行星位置,以验证梵文诗句与现代星历表的一致性。这个过程既繁琐又重复,需要为单一文化背景定制模拟。
当我转向毕业设计,专注于玛雅和中国天文学时,我几乎又陷入了同样的陷阱。我开始为玛雅历法编写新的模拟程序,随后又计划为汉代编写另一个。我意识到,每当想观察不同的“星星”,我都在重新构建“望远镜”。
Source: …
Sky Culture MCP
这种认识促成了 Sky Culture MCP 的创建——一个抽象轨道力学的计算微服务,使 AI 代理能够专注于文化解读。
核心理念很简单:改变镜头,而不是望远镜。
- 望远镜:物理引擎——用于计算 2000 年前某颗行星位置的复杂数学。
- 镜头:特定的文化语境(名称、日期及其意义)。
Model Context Protocol (MCP)
该服务使用 Model Context Protocol (MCP) 将高精度天文数据与大型语言模型(如 Claude)进行桥接。
| Component | Description |
|---|---|
| Ephemeris | NASA JPL DE421(从公元前 1900 年到公元 2050 年的高精度星历) |
| Physics Engine | Skyfield(向量天体测量) |
| Time Standard | Barycentric Dynamical Time (TDB)(重心动力学时间) |
与其让 LLM “凭空想象” 某个特定的玛雅长计数日期对应的火星位置,代理会查询 MCP 服务器。服务器负责向量运算并返回精确的 J2000 坐标。
Primary Function Signature
def convert_culture_to_coordinates(culture_id: str, object_name: str, date_str: str) -> dict:
"""
Takes a cultural input and returns a scientific output.
"""
示例
- 输入:
culture_id="mayan",object_name="chak_ek",date_str="M:9,16,4,10,8" - 输出:儒略日数、赤经和赤纬
镜头库 (JSON)
文化“镜头”在 JSON 库中定义,该库将本土名称映射到现代标识符。
{
"chinese_han": {
"name": "Chinese (Han)",
"objects": {
"yinghuo": {
"name": "Yinghuo (Fire Star)",
"modern_id": "mars"
}
}
},
"mayan": {
"name": "Mayan",
"objects": {
"chak_ek": {
"name": "Chak Ek (Great Star)",
"modern_id": "venus"
}
}
}
}
Docker 集成
将引擎以 Docker 容器的形式运行,可轻松融入日常工作流。以下代码片段展示了如何在 Claude 桌面配置中添加该服务:
{
"mcpServers": {
"sky-culture-lite": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"yourname/sky-culture-lite"
]
}
}
}
现在,当在 Claude 中讨论历史文本时,AI 可以调用此工具获取真实的天文数据,而无需打开单独的模拟程序。
结论
本项目展示了 AI 在历史和科学领域使用方式的转变:
- 不要依赖大型语言模型进行精确数学运算(它们容易出错)。
- 将物理计算交给确定性的引擎(如 Skyfield)。
- 使用 MCP 作为桥梁,让 AI 能“戴上玛雅的镜头”或“汉代的镜头”,从而看到这些文化当时所看到的天空,同时专注于解释、诗意和意义。
这种方法实现了准确且具文化语境的天文查询,赋能考古天文学及相关领域的研究者。