前言

拿着锤子,看啥都像钉子。 –查理·芒格

“当手里抓着小模型,那能解决什么痛点?”
当我大体熟悉了AI开发后,有了这个想法。回头看看自己写几个工作上用的插件,就感觉国际化插件似乎可以与大模型和MCP服务碰出一点火花。

来让AI为开发赋!!!!能!!!!!

解析这个流程中,模型能做什么

首先我们来看国际化插件。
当前插件的运行流程如下。 old-process
其中人工处理的步骤有很多,其中按约定创建语言json(做标记),且将项目内文本导出到json这步工作量最大,如果借用AI的能力完成,会大大提升接入国际化功能的时间。

目标:使用AI技术,智能导出项目国际化json且自动替换文本代码为国际化调用代码。

拆解任务

  1. 遍历项目,读取文件,找出文本
  2. 检查文本类型,判断是否需要导出
  3. 收集需要导出的文本,调用AI生成文本对应的key,按文件层级导出json
  4. 将代码内需要导出的文本替换为国际化插件调用代码
任务1

我对代码的态度,是希望它稳定且准确。
虽然AI对代码及自然语言的解析能力已经很强,但并不能做到每次都很稳定,假设十次解析中如果有一次不准确,这会让人难受。
所以我没有选择直接将整个文件丢给AI,让AI自动返回提取的内容(这种做法结果的不稳定性太高了)。
我选择解析代码文件,找出所有文本类型

任务2 任务3

所有的文本有了,将一定需要提取的文本与上下文传给AI,返回带key的结果。
将可能需要提取的文本及上下文丢给AI,让AI返回一个需要提取的概率与key,当概率超过界值时,则提取。

任务4

对所有需要提取的文本,直接replace,成国际化调用代码(我用的是react-intl),key是上一步生成的。

如何接入到AI IDE

接入AI IDE这里,离不开前两篇写的,关于MCP协议的使用。

拆解任务

  1. 创建一个基础版MCP服务,一个基于modelcontextprotocol,通过studio与进程通信的MCP服务。
  2. 使用自然语言与AI IDE(我这里使用的cursor)对话,让它根据前面的流程,补充tools与prompt。 然后自然

结语

通过使用AI写项目,以及使用AI在项目里完成指定功能,可以发现AI确实是想一出是一出,这很正常,就像是两个人对话,同样的开局聊天的方向会千变万化。
现在我倾向于用它做一些启发的方面,会编写代码,但是主体代码必须要review一遍。