一个基于 LangChain.js 实现的 24 点游戏求解器,使用 ToT(Train of Thought)来寻找解法。
24 点游戏是一个数学游戏,玩家需要使用四个数字,通过基本算术运算(加、减、乘、除)得到 24。每个数字必须且只能使用一次。
工作流程如下:
- 输入 4 个数字
- AI 提出可能的下一步操作(加减乘除)
- 对每个操作后的结果进行评估:
- 如果确定可以达到 24(bingo),返回解法
- 如果确定无法达到 24(impossible),放弃该分支
- 如果可能达到 24(likely),继续探索
- 使用缓存系统避免重复评估相同的数字组合
本项目使用 AI 模型来:
- 提出可能的运算步骤
- 评估中间结果是否可能达到 24
- 使用广度优先搜索找到解法
├── src/ # 源代码目录 │ ├── prompts.js # AI 提示词模版 │ ├── cache.js # 评估结果缓存系统 │ ├── game24.js # 24 点游戏求解器核心逻辑 │ └── test.js # 测试用例 ├── evaluation_cache.json # 缓存文件 ├── .env.local # 环境变量配置 ├── package.json # 项目配置 └── README.md # 项目说明