科学计算插件化:技能预算与护栏设计

给编码助手塞进 40 个科学 API、限流器、安全护栏和 3D 可视化器,会发生什么?上下文膨胀、参数幻觉、助手崩溃。Google DeepMind 开源的 science-skills 仓库(40 个技能,从蛋白质结构到古籍修复)给出了一套成熟的解法,其中五种工程模式任何领域的插件设计都能借用。

核心原则:区分常驻与按需

插件架构的第一刀切在"什么时候占用上下文"上。常驻规则始终占少量 token,只负责约束行为边界(编码标准、安全检查点),单个规则文件 24KB 上限,总量控制在 2 万 token 以内;技能只在被调用时加载,用完释放。这个预算意识让 40 个科学技能并存却不拖慢日常回合——上下文是稀缺资源,插件设计的本质是决定"哪些信息何时以何种代价进入上下文"。

五种可复用的工程模式

一、常驻行为路由。 规则不执行计算,只设检查点:比如"运行结构搜索前先审计 3D 坐标文件,对低置信无序区发警告"。判断留给后续脚本,规则只保证检查不被跳过。

二、零污染的 Python 微环境。 科学技能不跑全局 pip,用 uv 配 PEP 723 内联元数据把依赖封进独立脚本。限流、数学启发式全部确定性化——某技能遇超大蛋白自动回退最长异构体,另一个禁止模型猜测结构域边界。能写成确定性代码的绝不让模型即兴发挥。

三、密钥的静默注入。 让用户把 API 密钥贴进聊天等于把密钥写进模型上下文和对话记录。正确做法:技能静默检查环境变量(只读退出码);缺失时输出一条本地终端命令让用户隐藏输入;脚本内部加载,密钥不出现在命令行参数和标准输出里。

四、后台边车服务。 MCP 工具服务器与受管后台进程配对:零依赖的 Stdio MCP 服务器搭配浏览器端 3D 分子可视化工作室,点击残基球体实时触发工具调用。重交互、重计算的部分移出上下文,模型只收发结构化结果。

五、领域专用护栏。 临床遗传学技能明确禁止把变异影响分数外推为临床诊断,只允许输出分子机制解释;古籍技能禁止模型用网络搜索覆盖神经复原模型的概率输出。护栏的本质是给模型的能力画硬边界,而不是靠提示词恳求。

可追溯性:钩子与日志

生命周期钩子接收结构化 JSON 载荷:记录命令前剥离敏感环境变量和认证头,记录脚本版本与 Git 状态,对输入输出文件算 SHA-256,JSONL 追加写入。这条日志让任何一次科学结果都能还原到"当时跑的是哪个版本的脚本、输入是什么"——可复现性不是科研礼仪,是这套插件能被信任的前提。

给非科研领域的移植建议

把这五条模式搬到任何垂直领域,顺序是:先用一条常驻规则固定安全检查点(成本最低收益最大);再把重计算封装成带内联元数据的确定性脚本,用退出码传递状态;密钥只走本地隐藏输入;最后用钩子补齐追溯。判断一个 AI 工作流是否成熟,就看这四条落了几条——全是提示词约束的插件,迟早会在某次模型发挥时出事。

0

评论0

请先
显示验证码
没有账号?注册  忘记密码?