Sep 14, 2026

用一个 Skill 让 Agent 写出地道的 Synalinks 代码

一个 906 星的仓库只装一个技能:让语言模型写 Synalinks 代码时避免混入 Keras、LangChain 和 DSPy 的语法。

#tutorial#ai-agents#python#data-science

Synalinks 是一个受 Keras 启发的神经符号 AI 框架。直接让语言模型写 Synalinks 代码,按这个仓库 README 的说法,它往往会混入 Keras、LangChain 和 DSPy 的语法——生成看起来合理、实际跑不通的代码。这个仓库用一个技能解决了这个问题:把 Agent 约束在地道的 Synalinks 用法上。

为什么这个 Skill 重要

这个仓库(SynaLinks/synalinks-skills,最新排行榜快照中 906 星)刻意只提供一个技能 synalinks,覆盖整个框架。Agent 会根据 SKILL.md 的 description 自动激活它——无需手动选择。SKILL.md 是一份可快速浏览的概览,按框架的每个切片分节,每节都指向一个可运行的示例脚本(附捕获的运行日志)和一份深入参考文档。十一个章节从 Core(DataModel、Field、JSON 运算符)、Programs(四种构建 API:Functional、Sequential、Subclassing、Mixed)、Control flow(Decision、Branch、并行分支)、Agents、Knowledge(基于 DuckDB 的 KnowledgeBase、RAG)、Training、Rewards(含 LMAsJudge)、Optimizers,一直到 Providers 和 Datasets。

这个技能基于开放的 Agent Skills 格式(SKILL.md),所以正如 README 所说,一个技能不加修改就能在所有支持它的 Agent 里工作——Claude Code、Codex、OpenCode、pi 等,没有针对每个 Agent 的变体。

安装

README 推荐用官方 skills CLI。最自然的安装位置是你写 Synalinks 代码的项目——这也是 CLI 的默认作用域:

# 在项目根目录运行
npx skills add SynaLinks/synalinks-skills --skill synalinks

每个 Agent 从自己的目录读取技能(Claude Code 是 /.claude/skills/)。加 --global 改为安装到用户级目录,或用 --list 只查看仓库内容而不安装。把生成的 skills-lock.json 提交进仓库,队友和 CI 就能解析到相同的技能内容。

实战:构建一个不跑偏语法的程序

  1. 在 Synalinks 项目里安装技能(上面的命令),然后验证:npx skills list——或在 Claude Code 里运行 /skills 命令,应该能看到 synalinks 技能。
  2. 用大白话描述要的程序。Agent 自动激活技能,并按需查阅对应章节——构建 API 看 Programs,ChainOfThought、SelfCritique 这类生成器看 Modules,分支逻辑看 Control flow。
  3. 觉得哪里不对时,核对技能自带的证据:scripts/ 里每个示例的文档字符串都写明了 Usage: 和 Run log:,references/ 保存着捕获的运行日志——可以把 Agent 写的代码和一次验证过的运行直接对照。
构建一个 Synalinks 程序:生成一个答案,用 SelfCritique 自我批判,
再根据结果分支,然后保存它。

更新与锁定

这个技能没有语义化版本号——它跟随仓库的 main 分支,「最新」永远指当前 main。用 npx skills update synalinks 更新;CLI 会重新计算内容哈希,只有内容变了才重装。锁定文件把每个技能固定到来源仓库加一个 SHA-256 内容哈希;npx skills update 会推进记录的哈希,而 npx skills experimental_install 则恢复到锁定的版本。

技巧

  • 按项目安装(CLI 默认)——指导恰好落在你写 Synalinks 代码的地方。
  • 用 -a codex、-a opencode 或 -a pi 指定目标 Agent;这个 CLI 支持 70 多种 Agent。
  • Claude.ai 或 Claude Desktop 用户需要手工构建 .skill 归档:克隆仓库,进入 synalinks-skills/skills,运行 zip -r ../synalinks.skill synalinks,然后在技能菜单里上传。
  • 技能采用 Apache 2.0 许可证,与 Synalinks 框架一致。

何时不用这个 Skill

如果你不写 Synalinks 代码,这个技能帮不上忙——它就是为这个框架定制的。另外 Claude.ai/Desktop 走的是手工上传归档而不是 CLI 安装:那边更新意味着手工重新打包、重新上传。


查看 排行榜 了解更多 skill。