前言

8 月 8 日我发布了《AI 的使用 - MCP 国际化初实现》。我基于既有插件做了扩展,并能在 IDE 中通过 MCP 服务调用这些能力。后续优化中我发现:此前误以为无法通过 MCP 的 tool 让 IDE 的 AI 执行“下一步动作”,于是选择了“API 调用本地 AI 服务”的绕路,结果既慢、质量也不稳定。

为什么要优化

实测表明:只要在 tool 的返回值中用 text 清晰描述下一步 prompt,AI 会正确理解并继续执行。例如:

return {
    content: [
      {
        type: "text",
        text: `✅ 翻译文件导出完成!\n\n${stdout}\n\n📋 下一步操作:\n1. 将生成的 Excel 文件交给翻译人员进行翻译\n2. 翻译完成后,AI 助手可调用相应工具导入翻译内容`,
      },
    ],
};

这意味着我们可以把“流程编排”交给 AI,而工具仅负责“提供能力与结果”。

两种运行模式

为兼顾不同环境,我将工具拆分为两种模式,逻辑一致,仅运行入口不同。

本地 NPX 模式

  1. 创建配置
  2. 完善配置 → 编辑配置文件
  3. 生成工具文件
  4. 提取文本 → 提取/判断/替换
  5. 导出文本
  6. 翻译处理

MCP 服务模式

  1. AI 创建配置
  2. 生成工具文件 → 配置路径别名,并设置 provide
  3. 收集候选文本
  4. AI 智能分析与翻译
    • 判断哪些文本需要国际化
    • 为需要国际化的文本生成语义化 key
    • 直接翻译到所有目标语言
  5. 执行替换
  6. AI 语法检查
  7. 导出翻译
  8. 翻译处理

维护与更新

国际化提示词

该项目需要国际化,需要中文和英语两种语言,默认语言是中文。请使用 MCP 服务完成国际化。

成果

AI 应用举例

在该项目中,我通过 MCP 服务与 IDE 的 AI 对话,实现了多项自动化能力,例如:

问题解答

Q:使用该方案实现多语言,有什么成本,会对项目有什么影响
A:

  1. 学习成本基本为0,只需要一句prompt即可完成整个流程。
  2. 维护成本很低,比起原始的人工实现,环节更少,清晰方便。
  3. 对当前项目的代码影响很低,完全不会影响当前项目的代码结构。

Q. 使用者用该工具的流程是怎么样的?
A:
初始化流程

  1. 安装MCP服务intl-mcp-server
  2. 一句prompt(例如:该项目需要多语言,需要中文和英语两种语言,默认语言是中文。请使用 MCP 服务完成多语言。)触发整个流程,等待流程执行完成。
  3. 导出文本内容excel上传给翻译人员

更新维护流程

  1. 翻译人员将翻译内容更新到excel
  2. 开发人员将excel导入到项目中

Q:对比人工实现多语言,具体有哪些优势
A:

  1. 时间:以一个中等前端项目、1000条文本为例,多语言代码的编写,人工进行文本的查找,替换,需要10个工作日。而通过该工具,仅需30-40分钟(主要卡在AI判断的速度),加上review的时间,1个工作日即可。批量更新翻译内容则只需要1-2分钟。
  2. 准确度:人工查找难免会有遗漏而使用该工具会全量进行提取。
  3. 翻译:过去翻译需要人工介入,而使用该工具会自动翻译,且会自动进行语法检查。
  4. 维护协作:翻译结果可保存并导出成excel,若后续人工介入翻译,只需将翻译结果更新到excel,开发人员将excel导入即可。每次更新的内容清晰可见,开发者不会因为更新出错(只要翻译人员每次修改内容准确,那么每次的更新内容也一定是准确的)。
  5. 版本管理:通过google sheet去管理excel的版本,每个版本都清晰可见,且可以回退到任意版本。

Q:使用AI去给项目添加多语言功能,提取成功率有多高?
A:按当前的实现方式几乎可以实现100%准确率(排除AI判断文案出错的情况例如本该提取的文本没有提取)。

Q:是如何做到100%的准确率的?AI幻觉不会影响准确率吗?你们做了什么优化
A:项目多语言是一个很长的流程,如果仅通过prompt指挥AI去完成整个流程,复杂度很高,错误率随步骤增多而明显提升,导致项目最后是否能正常运行都是个问题。 因此我们选择编写code提供工具能力(文本查找、替换等),将本需要人工参与的部分(文本识别、翻译)交给AI,同时编写prompt让AI对整个流程进行编排,这样AI只需要根据提示词完成任务,而无需操心整体的流程,大大提高准确度,几乎是100%准确率(排除AI判断文案出错的情况)。
对比两种方式:
完全使用AI进行文件操作时:

  1. 无法做到全流程: 从用户一句prompt,到最终结果,中间需要多次交互,才能完成。
  2. 不稳定性: 多语言的实现方式多种多样,AI没办法保证每次的实现相同。
  3. 难维护性: 因为生成结果不稳定,后续的更新维护成为问题。 当前的实现方式:
  4. 可以做到全流程:只需一句prompt,即可完成整个流程,无需多次交互。
  5. 稳定性: 在每个流程执行code工具,代码具有稳定性,执行具有准确度。AI只参与识别文件内容、key生成、翻译的工作,出错率较低,且出错不会影响主流程。
  6. 可维护性: 每一次执行的结果相同,后续的文本更新维护很方便。