上一篇文章介绍了 Hold Rein 这个本地优先、可插件化的 AI Agent 运行平台。
如果说 CLI 和工作台解决的是"怎样让 Agent 在本地项目里持续工作",那么五子棋插件展示的就是另一个更有趣的方向:插件不一定只用来读文件、跑命令、提交代码,也可以把 Agent 变成一个真正参与交互的对手。
五子棋插件做的事情很直接:在 Hold Rein 的右侧面板里打开一张五子棋棋盘,让用户和大模型轮流落子。你可以让自己先手,也可以让模型执黑先下。模型不是只在聊天框里口头说"我下这里",而是通过插件工具真实地把棋子落到棋盘上;你也不是回复一段坐标文本,而是直接在可视化棋盘上点击落子。
更有意思的是,如果再配合 Hold Rein 的记忆插件,模型可以把每一局的经验、失误和你的棋风记录下来。今天它可能还会被你三三冲四打得手忙脚乱,明天它就可能开始记住你喜欢从哪里起手、喜欢怎样做活三、什么时候会贪攻不防守。
项目地址:
为什么要做一个五子棋插件
AI Agent 平台最常见的使用场景是研发自动化:读代码、改文件、跑测试、写文档、查资料。
这些能力当然重要,但如果一个平台真的支持插件扩展,它不应该只能长出"工具箱",也应该能长出"小游戏""训练场""实验室"和"交互式工作流"。
五子棋插件就是一个很好的例子。
它不是为了证明大模型一定能成为职业棋手,而是为了展示三件事:
- Agent 可以通过插件进入一个明确规则的交互环境。
- 用户和模型可以围绕同一个状态持续互动,而不是只交换文本。
- 插件可以把可视化界面、工具调用、任务上下文和记忆机制组合起来。
在普通聊天里,你也可以对模型说:"我们来下五子棋,我下 H8。"
但这种体验很容易崩:
- 棋盘状态靠模型在上下文里记,走多了容易记错。
- 坐标转换不直观,玩家需要自己脑补棋盘。
- 模型可能忘记轮到谁,也可能在已有棋子的位置重复落子。
- 一旦对话中断,再继续时很难恢复棋局。
- 复盘和记忆只能靠用户手动整理。
Hold Rein 的五子棋插件把这些事情交给插件系统处理:棋盘状态由插件维护,落子通过工具完成,棋盘在右侧面板实时展示,任务恢复时可以继续读取当前对局。模型只需要专注于"下一手怎么下"。
这就从"和模型玩一个文字游戏",变成了"和一个带棋盘、带状态、带记忆的 Agent 对战"。
一局棋从哪里开始
安装并启动 Hold Rein 后,在启用五子棋插件的任务里,可以直接对 Agent 说:
text
我们来下一局五子棋。
模型会调用五子棋插件提供的工具,在右侧面板打开棋盘。
默认情况下,棋盘是标准的 15 路棋盘,也就是 15 x 15 个交叉点。黑棋先行,白棋后行。插件默认让用户执黑、模型执白,所以开局后界面会进入"等待你落子"的状态。
这时你不需要输入坐标,只要在右侧棋盘上点击一个空位,就完成了第一手。
你落子之后,插件会把当前棋盘状态返回给模型。模型看到棋盘上已有的棋子、当前手数、下一步该谁走,然后选择一个位置调用工具落下自己的棋子。模型下完以后,棋盘再次进入等待用户落子的状态。
整个流程很像这样:
- 用户说"开始一局五子棋"。
- 插件打开右侧棋盘。
- 用户点击棋盘落黑子。
- 模型根据棋盘状态思考并落白子。
- 用户继续落子。
- 双方轮流直到五连、平局或重新开局。
这和传统聊天最大的区别是:棋局不是靠文字想象出来的,而是实实在在渲染在界面上的。
你能看到每一颗棋子的位置,也能看到最新一步在哪里。对局不需要一直用"第几行第几列"来回确认,玩家的注意力可以回到棋本身。
也可以让模型先手
如果你想提高难度,可以让模型执黑先行。
五子棋里黑棋先下,通常先手会有一定主动权。默认玩法是用户执黑,适合第一次体验;如果想观察模型的开局思路,就可以让它先手。
比如你可以说:
text
你执黑先下,我们下一局。
这时模型需要在开局时给出自己的第一手位置。插件会先把模型的黑子落到棋盘上,然后等待你作为白棋回应。
这种玩法很适合观察不同模型的风格。
有些模型喜欢稳稳地下在天元附近,先占中心;有些模型会偏向边角,尝试制造不对称局面;还有些模型会在开局时显得比较保守,需要几手之后才开始形成攻击意图。
你可以多开几局,看看它是不是每次都走同一种开局,还是会根据上局输赢调整策略。
棋盘可以不止 15 路
插件默认使用 15 x 15 的棋盘,这也是最常见的五子棋体验。
不过它也支持调整棋盘尺寸。棋盘大小可以在 5 到 25 之间变化。
小棋盘适合快速对局,比如 9 x 9:
text
我们来一局 9 路五子棋,节奏快一点。
小棋盘的好处是节奏紧凑,攻防转换很快。几手之内就会出现强威胁,模型也更容易因为局面空间小而暴露判断问题。
大棋盘则更适合拉长战线,比如 19 x 19 或 25 x 25:
text
开一局 19 路五子棋,你执白。
大棋盘空间更大,开局更自由。玩家可以把战线拉开,也可以故意在多个区域制造威胁,测试模型能不能同时关注全局和局部。
如果只是想体验插件,建议从 15 路开始。
如果想快速分出胜负,可以试试 9 路。
如果想看模型的布局能力和长期记忆能力,可以试试更大的棋盘。
怎么赢:插件认的是清晰规则
五子棋的核心规则很简单:谁先连成五颗同色棋子,谁就获胜。
插件会检查四个方向:
- 横向五连。
- 纵向五连。
- 左上到右下的斜向五连。
- 右上到左下的斜向五连。
黑棋和白棋轮流落子。棋子只能落在棋盘内的空位上,不能下到已有棋子的位置。如果棋盘全部填满还没有人五连,就是平局。
这套规则对用户来说很自然,对模型来说也很重要。
因为模型每次落子时,不是随便说一句"我想下这里",而是必须调用插件工具,把行列坐标交给插件。插件会检查这个位置是否合法:是不是在棋盘范围内,是不是已经有棋子,是不是该模型落子。
这意味着模型不能用文字糊弄过去。
如果它下错了,工具会报错;如果它下在已有棋子上,插件不会接受;如果游戏已经结束,它也不能继续乱下。
对 Agent 来说,这就是一个小型但完整的规则世界。
用户看到的是棋盘,模型看到的是状态
五子棋插件有一个很有意思的分工:
用户看到的是右侧面板里的棋盘。
模型看到的是结构化的棋盘状态。
当你点击棋盘落子后,插件会把当前棋局整理成模型能理解的数据,例如:
- 当前棋盘大小。
- 已经落下的所有棋子。
- 每颗棋子的行、列和颜色。
- 当前手数。
- 游戏状态是进行中、已获胜还是平局。
- 如果你在上一轮工具调用结束后已经落子,也会把这个待处理的用户落子带给模型。
这些信息会回到 Agent 的上下文里,模型再基于这些状态选择下一手。
这比让模型自己在自然语言里维护棋盘可靠得多。棋盘状态由插件维护,模型只需要阅读状态、判断局势、调用落子工具。
换句话说,插件把"记账"这件事从模型大脑里拿出来,模型可以把更多注意力放在策略上。
一个推荐的对局姿势
第一次玩时,可以不用太正式。
你可以打开一个新任务,然后直接说:
text
我们来下一局五子棋。你负责认真思考每一步,落子前先简单说说你的判断。
这样模型每次落子前会先解释它在看什么:
- 你有没有形成活三。
- 它自己有没有冲四机会。
- 哪一条线需要防守。
- 当前更应该进攻还是堵截。
- 为什么选择这个位置。
解释不一定总是完美,但它会让对局更像"陪练",而不是一个黑箱棋力引擎。
如果你想更强一点,可以继续加要求:
text
你每一步都要先检查:我是否有活四、冲四、活三;你是否有直接成五机会;如果没有,再考虑布局。
这类提示会让模型显式执行五子棋里的基本优先级:
- 自己能赢就先赢。
- 对方下一手能赢就必须挡。
- 优先制造双威胁。
- 防住对方的活三和冲四。
- 在没有明显战术时扩展已有棋形。
对很多通用大模型来说,这样的提示非常有用。它不一定让模型突然变成强棋手,但能减少一些明显的低级失误。
把它当成一个"AI 陪练"
五子棋插件最有趣的玩法,不是只下一局,而是把它当成一个可以反复训练的 AI 陪练。
你可以给模型不同的身份设定:
text
你是一个防守型五子棋陪练,优先阻止我形成双活三。
或者:
text
你今天用进攻型风格和我下,尽量主动制造威胁,不要只防守。
也可以让它复盘:
text
这局结束后,请总结我赢在哪里,你输在哪里,并记录三个下次要注意的点。
如果只是一次普通聊天,复盘结束也就结束了。
但在 Hold Rein 里,如果启用了记忆插件,Agent 可以在任务结束后整理记忆,把重要经验写入当前工作区的 .hold-rein/memories 目录。下一次再对战时,模型可以读取这些记忆,把之前的经验带回来。
这就让五子棋插件多了一层"养成感"。
你不是在和一个每次都清空记忆的模型下棋,而是在训练一个会慢慢认识你的对手。
记忆会让它越来越懂你
记忆插件可以记录很多有价值的信息。
例如,你经常喜欢:
- 第一手下在中心。
- 先做斜线,再横向扩展。
- 用连续活三逼迫对手防守。
- 在左上区域制造假威胁,真正杀招藏在右下。
- 一旦对手只顾进攻,就用冲四反杀。
模型如果能在复盘里总结这些模式,并把它们写进记忆,下一局就可以更有针对性地防守。
比如某一局结束后,它可以记住:
text
用户常在中盘通过斜向活三转横向冲四制造双威胁。下次发现用户连续两手沿斜线扩展时,应提前检查相邻横向延伸点。
这类记忆并不是代码级规则,也不是硬编码棋谱,而是自然语言经验。
对 Agent 来说,这恰好是大模型擅长使用的东西:它可以在下一局开始时读到这些经验,然后把它们转化为当前局面的判断。
随着对局增加,记忆可以逐步积累:
- 用户常用开局。
- 用户常见杀法。
- 模型过去输掉的关键原因。
- 哪些防守原则有效。
- 哪些看似进攻的落子其实太慢。
- 面对特定棋形时应该优先堵哪个点。
这就是"越下越强"的来源。
不是说模型自动拥有了一个专业五子棋引擎,而是它能通过记忆不断减少重复犯错,越来越熟悉你的风格。
一种很适合记忆的玩法:赛季制
如果想把这个插件玩得更有意思,可以给自己设计一个小赛季。
比如规定:
- 每天和模型下三局。
- 每局结束后必须复盘。
- 模型要记录自己输掉的原因。
- 每五局整理一次"防守手册"。
- 每十局调整一次模型的对局策略。
你可以这样对它说:
text
从今天开始,我们进行一个五子棋训练赛季。每局结束后,你要复盘我的主要进攻套路、你漏防的位置,以及下一局要执行的策略。请把关键经验保存为记忆。
几局之后,你可能会发现它开始形成自己的"习惯":
- 开局更注意中心控制。
- 中盘更早识别你的活三。
- 不再轻易忽略边线威胁。
- 对你常用的斜线连攻更敏感。
- 在解释落子时会主动引用之前的失败经验。
这时候五子棋就不只是小游戏了。
它变成了一个很小但完整的 Agent 训练实验:规则明确、反馈及时、胜负清晰、记忆可复用。
它不是棋力引擎,但很适合做 Agent 实验
需要说清楚的是,五子棋插件不是传统意义上的专业五子棋 AI。
它没有内置复杂的搜索算法,也不是 AlphaZero 式的棋力系统。真正做专业棋类 AI,通常会用局面评估、博弈树搜索、剪枝、棋形打分、禁手规则和大量对局训练。
这个插件的重点不是"用算法打败所有人"。
它的重点是让大模型通过工具参与一个规则明确的互动场景。
这反而很适合研究 Agent:
- 模型能不能遵守工具流程。
- 模型能不能读懂结构化棋盘状态。
- 模型能不能在多轮交互里保持目标。
- 模型能不能从复盘中提炼经验。
- 记忆能不能影响下一局的策略。
- 可视化插件能不能让用户更自然地参与任务。
五子棋足够简单,用户马上能理解规则;又足够复杂,模型需要真的思考攻防。
这让它成为一个很适合测试 Agent 能力的"小沙盘"。
和普通网页小游戏有什么不同
如果只是想下五子棋,网上已经有很多网页小游戏。
Hold Rein 的五子棋插件不同的地方在于:对手不是固定算法,而是一个可以对话、可以解释、可以记忆、可以调整策略的大模型 Agent。
你可以一边下棋,一边要求它:
- 解释为什么下这一手。
- 用更激进的风格对战。
- 故意降低难度,给新手练习。
- 每步只给简短理由,不要长篇分析。
- 输了以后总结失败原因。
- 记住你的常见套路。
- 下一局专门练习防守活三。
这类交互是普通棋类小游戏很难做到的。
它更像一个有棋盘的对话式陪练。棋盘保证状态准确,对话保证体验灵活,记忆保证长期成长。
适合怎么玩
这个插件可以有很多玩法。
如果你只是想快速体验,可以开一局默认 15 路,让自己执黑先手。
如果你想训练模型,可以让它每步解释判断,并在结束后复盘。
如果你想测试不同模型,可以在 Hold Rein 里切换模型提供商,让它们在同样开局下对战你,观察不同模型的棋感。
如果你想测试记忆插件,可以连续多局使用同一个工作区,让模型保存并读取对局经验。
如果你想测试 Agent 的工具调用稳定性,可以故意设置复杂局面,看它会不会重复落子、漏看五连、忘记防守。
如果你想做教学,也可以让模型扮演老师:
text
你不要急着赢我。每次我落子后,先指出我这步的优点和问题,然后再下你的棋。
这样它就从"对手"变成了"教练"。
推荐的提示词
下面这些提示词可以直接拿来试。
普通开局:
text
我们来下一局五子棋,我执黑先手。你每一步都认真思考,但解释控制在三句话以内。
模型先手:
text
你执黑先下,开一局 15 路五子棋。请用偏进攻的风格。
快节奏小棋盘:
text
开一局 9 路五子棋,我想快速练习攻防转换。
陪练模式:
text
你是我的五子棋陪练。不要只追求赢,每次我落子后都指出我这步可能暴露的问题。
复盘加记忆:
text
这局结束后,请复盘双方关键手,指出你输赢的原因,并把下次要注意的经验保存到记忆里。
针对性训练:
text
这几局请重点训练防守我的活三和冲四。如果你发现我在做双威胁,要优先防守。
赛季模式:
text
我们从现在开始进行五子棋训练赛季。每局结束后总结我的常见套路、你的失误和下一局策略,并持续更新记忆。
这些提示词的关键不是"命令模型一定变强",而是把它的注意力放到正确的对局习惯上。
大模型很容易被当前一手吸引,忘记先检查直接胜负和对方威胁。明确要求它每步检查活四、冲四、活三,通常能显著改善体验。
插件系统带来的想象空间
五子棋插件也说明了 Hold Rein 插件系统的扩展方向。
一个插件可以同时做几件事:
- 给 Agent 增加可调用工具。
- 给 Web 控制台增加右侧面板。
- 渲染工具调用结果。
- 把任务状态持久化。
- 提供专门的 skill,让模型知道游戏规则和工具流程。
- 和记忆插件配合,形成长期反馈。
这套模式不只适用于五子棋。
同样的思路可以扩展到很多场景:
- 数独陪练。
- 代码 kata 训练。
- 英语口语练习。
- 项目管理看板。
- 交互式数据分析。
- 多轮决策模拟。
- 业务流程演练。
只要一个任务有明确状态、有用户交互、有可视化需求,就可以考虑做成 Hold Rein 插件。
五子棋只是一个很小的入口。
它让人直观看到:Agent 平台不一定只有聊天框,插件可以把模型放进一个具体的场景里。
最后
如果一句话概括 Hold Rein 的五子棋插件:
它把五子棋棋盘接入 Agent 任务,让用户可以在可视化界面里和大模型轮流落子,并通过记忆把对局经验沉淀下来。
这个插件好玩的地方不只是"和 AI 下棋",而是你能看到一个 Agent 如何在规则、工具、界面和记忆的共同约束下行动。
它会犯错,会复盘,会调整,也可能在多局之后开始学会你的套路。
对用户来说,这是一个轻量、有趣的小游戏。
对 Agent 平台来说,这是一个很好的插件化交互样板。
欢迎体验和交流: