Vibe Coding 老翻车?可能是你的 AI 根本读不懂产品文档

0 阅读3分钟

vibe_coding_cover Vibe Coding(氛围感编程)最近在 Reddit 和 HN 上很火,核心卖点是用自然语言驱动开发,不用深究底层逻辑。但不少人试下来发现,AI 生成的代码经常跑偏——接口字段对不上,业务逻辑直接搞反。

问题往往不在模型本身,而在输入。把一份带复杂排版、表格和图片的 PDF PRD 直接丢给 AI,它读到的很可能是一堆乱码。

解决办法也直接:喂给 AI 之前,先把文档解析干净。

为什么 AI 在 PDF 面前容易翻车

大模型的输入是纯文本。PDF 本质上是视觉排版,碰到下面这些元素时尤其容易出问题:

  • 复杂表格:字段一旦错位,生成的数据库 Schema 就全废了
  • 流程图与公式:核心业务逻辑藏在里面,普通提取工具直接丢失
  • 多栏混排:段落顺序跳乱,需求上下文断裂

基础数据乱了,后面的代码自然跟着乱。

解法:为你的 AI 接入 MinerU MCP Server

解决办法也极度自然:给你的开发平台(比如 Antigravity 或支持 MCP 的编辑器)配置 MinerU 的 MCP Server。

MinerU 是上海人工智能实验室开源的文档解析工具,GitHub 56.9K+ Stars,在 OmniDocBench 综合评测中排名第一,其最强硬核能力就是能把复杂的 PDF 无损转成结构化的 Markdown。

第一步:获取免费 Token

首次使用需要前往 MinerU 官网获取专属 API Token(第一次需要注册登录): 直接访问 mineru.net/apiManage/t… 申请即可获取。

官网申请token 第二步:接入智能 IDE 开发平台

对于支持 MCP 标准的开发环境(如 Cursor、Trae、Antigravity 等),只需挂载一个基于命令行的 MCP Server 节点(要求本机已安装 python 包管理工具 uv)。核心配置如下:

  • 服务器类型command (即 stdio 标准流模式)
  • 执行命令 (Command)uvx
  • 运行参数 (args)["mineru-open-mcp"]
  • 环境变量 (Env):设定 MINERU_API_TOKEN 为你刚才申请的 Token。

各平台的具体操作:

  • Antigravity / Claude Code 作为高度定制化的 Agent 端,请打开对应的 MCP 配置文件,把下方 JSON 直接加进 mcpServers 对象中保存即可:

    {
      "mcpServers": {
        "mineru": {
          "command": "uvx",
          "args": ["mineru-open-mcp"],
          "env": {
            "MINERU_API_TOKEN": "替换为你获取的免费 Token"
          }
        }
      }
    }
    
  • Cursor 打开设置 Settings -> 左侧侧边栏切换到 Features,向下滚动找到 MCP 区域。点击 + Add New MCP Server,名称填入 mineru,类型对应选择 command,输入 uvx mineru-open-mcp 作为完整命令(视界面可能要分开填参)。下发必须点开环境变量按钮,写入 MINERU_API_TOKEN 并填入 Token 字符串。

  • Trae 在 Trae 的扩展面板找到 MCP 服务器入口,使用标准的命令行端点(command)配置 uvx mineru-open-mcp ,并注入同款 Token 环境变量即可唤醒强大的 PDF 取件连通能力。

现在的丝滑工作流

配置完 MCP 后,你再也不需要手动跑脚本、做预处理了。开发流程变成了真正的“动嘴”:

  1. 把带有复杂排版的 PDF PRD 扔进对话框。
  2. AI 会自动感知并调用 MinerU MCP 接口,在后台神不知鬼不觉地将其精准提纯为 Markdown。MinerU 的表格提取异常精准(TEDS 91.10%,结构准确率 94.48%),底层逻辑完全被结构化。
  3. 下达开发指令:

    "请严格按照 PRD 中的接口字段与业务流表格,为我搭建这段 Node.js 后端服务。务必处理好所有异常返回。"

实测下来,直接丢 PDF 的话 AI 本身难以处理各种视觉分栏;有了 MCP 接入 MinerU 之后,生成的代码字段基本不会对错,连边缘流程都能按文档精确补全,这才是真正享受 Vibe Coding。