SGF 是什么
SGF 全称 Smart Game Format,是围棋(以及其他一些棋类)棋谱的通用交换格式。它的地位相当于文档里的 .txt——几乎所有对弈平台、打谱软件、分析工具都支持读写。
两个关键特点:
- 纯文本。用记事本就能打开看,体积极小,一盘棋通常只有一两 KB。
- 能存的不只是着手。棋手信息、贴目、规则、比赛结果、每一手的注释、变化分支、棋盘标记,都能存进去。
文件里长什么样
一个最简单的 SGF 文件是这样:
(;GM[1]FF[4]SZ[19]KM[7.5]RU[Chinese]
PB[黑方]PW[白方]DT[2026-08-16]RE[B+R]
;B[pd];W[dp];B[pp];W[dd];B[fq])
规则很简单:
- 整局用一对圆括号包起来;
- 每个分号
;开始一个节点(通常就是一手棋); - 每个属性写成
大写字母[值]的形式。
第一个节点比较特殊,它不是一手棋,而是整局的信息头——棋盘大小、贴目、规则、对局者等。之后每个节点就是一手:B[pd] 是黑下在 pd,W[dp] 是白下在 dp。
常见属性一览
| 属性 | 含义 | 示例 |
|---|---|---|
GM | 游戏类型,围棋固定为 1 | GM[1] |
FF | SGF 格式版本,现在通用 4 | FF[4] |
SZ | 棋盘大小 | SZ[19]、SZ[13] |
KM | 贴目 | KM[7.5] |
RU | 规则 | RU[Chinese]、RU[Japanese] |
HA | 让子数 | HA[4] |
PB / PW | 黑方 / 白方棋手名 | PB[张三] |
BR / WR | 黑方 / 白方段位 | BR[5d] |
DT | 对局日期 | DT[2026-08-16] |
RE | 结果 | RE[B+R] 黑中盘胜;RE[W+3.5] 白胜 3.5 目 |
B / W | 黑 / 白落子 | B[pd];空值 B[] 表示虚手 |
AB / AW | 预先放置黑 / 白子(让子、摆死活题用) | AB[pd][dp] |
C | 注释 | C[这手缓了] |
结果字段的写法值得记一下:B+ / W+ 表示黑胜 / 白胜,后面接 R 是中盘胜(Resign)、T 是超时、数字则是净胜目数。
坐标怎么读(有个坑)
SGF 用两个小写字母表示坐标,a 到 s 依次对应第 1 到第 19 路。第一个字母是列(从左往右),第二个是行(从上往下)。
所以 pd = 第 16 列、第 4 行,也就是右上角的星位。
容易搞混的地方:SGF 的内部坐标跟软件界面上显示的坐标不是一回事。
界面上通常显示的是「A–T 加数字」这套人类习惯的坐标,而且会跳过字母 I(避免和数字 1 混淆),行号还是从下往上数。SGF 内部则老老实实用 a–s、行从上往下。
平时用软件不会碰到这个差异,但如果你要手写或用脚本处理 SGF,这是最容易出错的一处。
分支和注释
SGF 能存变化分支,这是它比「一串着手」强大的地方。分支用嵌套括号表示:
(;GM[1]FF[4]SZ[19]
;B[pd];W[dp]
(;B[pp]C[实战]
;W[dd])
(;B[dd]C[变化图:也可以先占这里]
;W[pp]))
第二手之后出现了两个并列的括号组,就是两条分支。绝大多数软件会把第一条当作主线(实战进行),其余作为参考变化。
注释属性 C 可以挂在任意节点上。AI 分析软件导出的棋谱,通常就是把胜率、目数、推荐下法写进 C 属性里,所以你会看到注释里有一堆数字——这就是分析结果被存下来的方式。
用什么打开
| 方式 | 适合 |
|---|---|
| 记事本 / 文本编辑器 | 只想看看里面存了什么,或改个棋手名字 |
| Sabaki | 打谱、加注释、整理变化分支,SGF 编辑功能最全 |
| KaTrain / Lizzie | 挂上 KataGo 做深度分析 |
| 知弈围棋 | 导入后直接复盘:胜率曲线、恶手标注、推荐变化演示,不用配引擎 |
| 各对弈平台 App | 多数支持导入自己账号下的棋谱 |
顺带一提,各大对弈平台(野狐、弈城等)一般都提供棋谱导出,通常在对局结束页面或个人棋谱记录里。各家界面位置不同、版本更新也会变动,以实际界面为准——找不到的话,在设置或对局详情里翻一翻「保存棋谱」「导出」这类入口。
几个实用提醒
一、编码问题。SGF 有 CA 属性声明字符编码。如果棋手名或注释里有中文,打开后变成乱码,多半是编码不匹配——用文本编辑器切换成 UTF-8 或 GBK 试试。
二、不要解压或改扩展名。SGF 就是纯文本,不需要任何解压。有些平台导出时会打包成 zip,解开里面才是 .sgf。
三、贴目和规则会影响分析结果。如果 SGF 里 KM 或 RU 缺失或不对,分析软件可能按默认值算,胜率和目数会有偏差。导入后发现数据不合常理,先检查这两个字段。
四、SGF 存的是着手不是图片。它可以被任意软件重新渲染成棋盘,所以分享棋谱时发 SGF 文件远比截图有用——对方能自己打谱、自己分析。
把 SGF 拖进来就能复盘
知弈支持 SGF 棋谱导入导出,载入后可直接逐手分析:胜率曲线、恶手与失误标注、AI 推荐变化在棋盘上演示。引擎内置,无需配置。Windows / macOS 免费下载。
下载知弈围棋 →