VibeCoding
什么年代了还在用传统编程方法?
GPT 刚出的时候,我们都是开个浏览器,开个 IDE ,在两者间Ctrl C/V
新一代的 AI IDE
基本设想
基于前两节的学习。我们完全可以有这样一个架构设想:
- 我提前写好 write , read , listFiles 等 Tool 作为本地的MCP服务
- 我创建一个 Agent,让他接入大模型以及本地的MCP服务以及网络上其他🐂的MCP服务
- 我再构建一个UI,嵌入在 IDE 里,直接作为我和Agent的交互入口。
然后使用模式就变成了:
- 我问大模型
- Agent 去找MCP tools --> 大模型去识别相关的工具生成调用消息 --> Agent 去执行调用消息-->并返回结果给大模型 --> 大模型再加工润色 --> 再通过 Agent 输出给用户
- 我直接使用输出结果
Diff
但是这样也有潜在问题:
- 每次生成整个文件的话,LLM token 消耗过多,而且对于长代码,ai 可能偷偷地做了一些不必要修改之类的。 解决方案:
- 让大模型统一以 Diff 的形式输出
Diff 技术已经比较成熟 。Agent 在 LLM 生成 Diff 的基础上再做一些简单检查,这样就有了个大差不差的编程工具。
Rules
工程模板提示词,可以是 IDE 级 / 项目级,比如 CursorRule,相当于 SystemPrompt
IDE 环境信息
从 vscode 插件到 cursor 这样的独立 IDE 就是这样的考虑,为了把 IDE 原生的一些语法错误提示之类的功能也嵌入 LLM 的上下文中,增强大模型的纠错能力。
不只是编程
LLM 可以用来生成代码,但是程序的UI设计、数据库操作、部署等过程 LLM 暂时还干不了。
这时候,要是给 IDE 中的 Agent 接入相关的MCP,似乎就可以拓展 ai 的能力。
现在亚马逊 AWS,阿里巴巴等云平台都创建了MCP服务,提供了数据库管理、网页部署、域名配置等 tools