AiMock 依赖模拟器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/mock-ai-app-dependencies-for-deterministic-local-and-ci-tests
技能介绍
解决什么问题
开发集成 LLM API、MCP 工具或向量数据库的智能体时,直接调用真实第三方服务会让测试变得不稳定且成本高昂。一次简单的集成重构可能消耗数百美元的 API 配额,且由于网络延迟与模型随机性,测试结果难以复现。依赖外部服务的回归测试会严重拖慢工程团队的迭代速度。
核心能力与工作原理
AiMock 通过在本地或 CI 环境启动模拟服务,拦截请求并基于预定义的 fixtures 返回预设响应,为外部 AI 依赖提供确定性隔离。
- 协议覆盖:支持模拟
LLM APIs、MCP tools、A2A flows、vector stores与内容审核服务。 - 确定性响应:相同的请求在每次测试中返回完全一致的结果,消除模型输出随机性对断言的影响。
- 零依赖:基于
Node.js内置模块构建,不向项目注入第三方包。 - CI/CD 友好:提供官方 Docker 镜像与 Helm Chart,可直接嵌入流水线。
适用边界与注意点
首先,SDK 初始化通常要求传入 API Key,即使 base URL 指向本地模拟服务,仍需设置 OPENAI_API_KEY 之类的环境变量(即使为 mock 值),否则会直接报错。其次,v1.7.0 后包名已改为 @copilotkit/aimock,但核心类名仍沿用 LLMock,阅读文档时需留意。最后,由于响应完全来自静态 fixture,它只适合验证状态与接口逻辑,无法用于评估模型的真实幻觉率或复杂推理能力。
使用场景
- 开发集成 LLM API 的智能体时,在本地反复验证提示词修改没有破坏既有对话分支,且不消耗真实 API 额度。
- CI 流水线接入向量检索功能后,提交代码时用预置样例验证查询结果一致,不依赖线上向量库。
- 开发调用 MCP 工具的智能体时,在本地模拟外部工具的超时与报错,验证异常分支处理逻辑。
- 上线前验收 A2A 多智能体编排流程,用固定请求样例验证协议交互,避免依赖真实协作方服务。
适合人员
- 智能体应用工程师,需要在提交代码前对 LLM 调用逻辑做可复现的回归验证。
- 平台 DevOps 工程师,需要在 CI 流水线里用零依赖模拟服务替换昂贵的线上 AI API 调用。
- 技术负责人,需要在团队引入新 AI 能力前锁定第三方服务的响应契约,防止外部变更阻塞迭代。
- 测试工程师,需要编写不依赖真实模型输出的自动化用例,保证测试结果完全可复现。