自主操作电脑的AI助手可用统一工具链测试
Harbor是一个评估框架,专门用来测试那些能自主操作电脑的AI代理。测这类代理不像测普通语言模型——得考虑运行环境,还得用脚本判断它有没有完成任务,比如检查文件有没有生成、系统状态有没有变化。
每个测试任务被拆成三件套:一个Docker Compose文件定义环境,一段Markdown写指令,一个脚本做评分。你准备好这三样,剩下的框架自己搞定。
和LangChain怎么搭
LangChain从三个点切入Harbor:用Deep Agents构建要被测试的代理,用LangSmith沙箱提供隔绝的执行环境,用LangSmith的可观测性记下每次运行的轨迹和分数。
如果你用的是LangGraph应用——包括Deep Agents——Harbor直接就能跑。通过--agent langgraph参数调用内置的langgraph代理,然后把langgraph.json文件当注册表,自动读依赖,把图形名称映射到构造函数。默认情况下,create\_deep\_agent把文件存在内存里的虚拟文件系统,不碰沙箱。真要操作文件或终端,得加个LocalShellBackend。
每次测试,Harbor先把代理代码复制到沙箱里,装好依赖,再执行整个图形。模型用--model指定,工厂函数可以写得跟模型无关,方便切换。
并行测试,按需扩展
云端沙箱是这套方案的关键。用LangSmith或其他提供商,评估能水平扩展到同时跑几百个测试,反馈周期大大缩短。目前支持的沙箱有LangSmith、Daytona、Docker、Modal和E2B,通过-e参数切换。
试验是最小单位:一个代理在一个任务上跑一次。因为代理有随机性,每个任务通常重复多次取平均分,n_attempts控制次数。每次试验,Harbor配一个全新沙箱,把代码、任务和启动文件复制进去,运行代理,执行验证脚本,记录结果。
跑完看结果
加上--plugin langsmith,Harbor就把每次作业记到LangSmith上。它同步数据集、创建实验,每个试验生成一条运行记录,验证器的分数当反馈。如果代理本身就支持LangSmith追踪,每一步执行轨迹都贴在实验上,方便查失败原因。不追踪也行,数据集、实验、结果和分数一样不少。
整套评估栈是模块化的:Harbor管编排试验,Deep Agents构建代理,LangSmith沙箱提供隔离环境,LangSmith做记录系统。开发者只管提供代理、数据集和云沙箱。
Harbor支持本地Docker沙箱运行,不依赖云端。想开测,先准备好这三样就够了。