核心概念

核心概念

理解 Munk AI 的核心产品概念,以及几条主要工作流是如何配合使用的。

要用好 Munk AI,你不需要学习复杂的测试框架,也不需要了解底层技术架构。你只需要理解几个核心的产品概念:你要测试什么如何组织正式执行,以及你会得到什么结果

1. 目标应用 (AppTarget)

AppTarget 告诉 Munk AI 测试的对象是什么。它屏蔽了底层平台的差异,让 AI 能以统一的方式与不同平台的应用进行交互。

  • 对于 Web 项目: 它通常是一组 URL(例如 base_url, origin)。
  • 对于 Android 项目: 它通常是一个应用包名(例如 com.example.app)。

你只需要定义一次 Target,Munk AI 就会自动负责拉起应用、捕获它的 UI 树并与页面元素交互。

2. 测试用例 (TestCase) 与测试计划 (RequirementPlan)

Munk AI 当前的正式执行工作流围绕结构化测试资产展开。

测试用例 (TestCase)

TestCase 是结构化、可复现的测试定义。当你有明确的验证意图和成功标准时(例如回归测试、录制回放或 CI 流水线),你应该使用它。

  • 核心组成:
    • intent: 描述本次测试的验证意图。
    • expected: 必须满足的预期条件列表(用于最终断言)。
    • runner_goal: Munk AI 需要执行的具体动作。
  • 主要场景: 配合 munk run casemunk verify change 命令使用。

测试计划 (RequirementPlan)

RequirementPlan 用来组织多条 TestCase,形成可 review、可执行、可追踪的一份正式测试资产。

  • 主要场景: 配合 munk planmunk run planmunk verify change 工作流使用。
  • 为什么重要: 它是团队协作、执行与沉淀测试资产的核心单位。

3. 运行产物 (Artifacts & Runs)

Munk AI 不仅仅会在终端里打印“通过”或“失败”。因为它是一个基于视觉和语义操作的 Agent,所以它的每一次执行(Run)都会在你的本地工作区(通常是 .munk/runs/ 目录下)生成结构化的运行产物 (Artifacts)

你不需要去翻看枯燥的控制台日志,而是可以直接查看:

  • report.json: 包含最终的验证结论(passed通过、failed失败 或 inconclusive证据不足)。
  • 运行截图: 动作执行前后的真实屏幕截图,作为视觉证据。
  • diagnostics.json: 执行过程的详细诊断信息和报错记录。

4. 模型与配置 (Config)

Munk AI 的“大脑”是大语言模型(LLMs),我们强烈推荐使用 Gemma 4 等本地模型,以保持极低的成本和数据隐私。

配置 (Config)(通常是一个 yaml 文件)用来告诉 Munk AI 该使用哪个模型提供商(例如 LMStudio, 直连 API 等)以及如何连接。你几乎会在每一条 Munk 命令中通过 --config 参数传入它,确保 AI 的“大脑”与它的“手脚”(设备运行时)正确连接。


接下来怎么读

理解了这些基础积木后,你可以开始探索具体的工作流:

  • 执行工作流 - 学习如何使用 run caserun planverify change
  • 验证代码变更 - 看看如何在开发和 CI 中使用 AppTargetTestCase
  • 录制与回放 - 学习如何通过点击界面直接录制用例,而不是手写 JSON。