文档/扩展
让 Agent 新增工具
Harness 自进化 V1:在会话里让 Agent 新增或修改一个工具,批准后从下一条消息起生效。
ActSpace 的工具、上下文和行为方式都是插件。Harness 自进化的第一版先开放其中一块:在会话里让 Agent 写一个新工具,或者改它之前写的工具,你批准后,这个会话从下一条消息起就能调用它。
这是产品理念里「Harness 自进化」方向的 V1。遇到失败自动派生新版本、在沙箱里评估后由你决定,属于下一步,见开发计划。
怎么用
- 切到 Agent 模式。
- 直接说出要什么工具,例如「帮我新增一个工具,把 CSV 转成 Markdown 表格」,或者「修改之前创建的 csv 转换工具,支持制表符分隔」。
- Agent 会读取内置的开发 Skill,查看当前有哪些工具,然后在项目里创建工具源码、编辑、构建。构建失败时它会读报错继续改。
- 构建通过后,Agent 会先请求初始化候选工具,再请求启用。两次都会弹出审批,你可以拒绝。
- 启用成功后,工具结果卡会显示已绑定。从你的下一条消息开始,这个会话就能调用新工具。
不需要切换到特别的模式,也不需要手动安装。
生效时机
当前这条消息对应的整次执行,始终使用开始时的那套工具,中途不会换。新工具从下一条消息开始的执行里出现。正在运行的子智能体也沿用父任务的那一套。
已经提交的版本可以回滚到之前的版本或原始状态,回滚同样需要审批。没提交的候选可以丢弃,版本历史不会被删除。
能做什么,不能做什么
V1 支持的是无外部依赖的单文件 TypeScript 工具:输入和输出都是 JSON,适合文本处理、格式转换和数据变换。工具清单、注册、权限声明这些由系统生成,Agent 只写工具的定义和实现。
- 可以新增工具,也可以修改由这个功能生成的工具。
- 内置工具没有可编辑的源码快照,不能改。
- 不能安装 npm 包,不能修改 Agent Host 或管理服务本身。
- 失败自动触发、评估沙箱、创建 Actor 都不在这一版里。
安全边界
新工具和其他插件一样在应用进程里运行,是你批准后信任的代码,不是隔离沙箱。单文件和 import 限制是这一版的格式约定,不能防住恶意代码。启用前请看一下 Agent 写了什么。
新工具调用时照常走工具与审批的权限规则。工具已经写入的文件、已经发出的网络请求,不会因为回滚而撤销。
文件放在哪里
- 工具源码在当前项目的
.actspace/evolution/<工作区 ID>/下,是tool.json和implementation.ts两个文件,可以直接打开看。 - 构建产物和版本记录保存在 ActSpace 的本机数据目录里。删掉项目里的源码目录,已经启用的版本仍然可以加载。
开发 Skill actspace-plugin-development 随应用内置,会出现在 Skills 列表里,可以禁用,不能卸载。
