构建 AI 驱动的代码编辑器:结构化 LLM 集成之旅
Source: Dev.to
我一直在构思一个想法:创建一个在线编辑器,它不仅仅是一个聊天窗口,而是一个真正的 配对程序员,深度集成在开发环境中。目标是提供一个能够理解项目上下文、执行复杂任务,并且最重要的是可靠的开发工具。
- 试用地址: llm-codeforge – 目前仅支持 Gemini
- 代码仓库: CodeForge-AI
上下文为王:虚拟文件系统 (VFS)
为了让 AI “看到”整个项目,应用在内存中管理一个完整的虚拟文件系统,并持久化到 IndexedDB。这样助手就拥有文件夹结构和文件的完整且实时的视图——这是任何有意义操作的基本前提。
与 AI 的“合约”:JSON Schema 验证
与大语言模型的交互往往不可预测。为此,我定义了严格的 JSON Schema,要求 AI 必须遵守每一次响应的格式。所有输出都通过 AJV 进行验证。如果验证失败,系统会自动向 AI 发送反馈,要求其纠正响应。这把交互从“希望”变成了“合约”,提升了可靠性。
此外,响应采用多段模式进行划分,分别隔离消息的不同部分,避免了复杂的 JSON 解析问题。
结构化 Prompt 框架(2WHAV “轻量版”)
为了让创建复杂 Prompt 更高效,我构建了 2WHAV 框架的“轻量”版本。这个内部工具会把用户的简单请求展开为详细的技术规范,供 AI 按照执行。目标是让助手从一开始就拥有清晰的行动计划,而不是模糊的想法。
复杂任务的行动循环
助手不仅仅是回复,它还能执行一系列 工具(例如 list_files、read_file)和 操作(例如 create_file、update_file)。这在一个循环中进行,使得 AI 能够把复杂问题拆解为更小的步骤,例如顺序修改多个文件以实现新功能。
以用户体验为中心
技术固然令人着迷,但必须实用。实时预览控制台中出现的每一个错误都是可点击的;一次点击即可把错误直接复制到 AI 的输入框,准备进行分析。这个小细节降低了摩擦,使调试更顺畅,而自动纠错仍在持续开发中。
结论
构建这个应用是一次将软件工程与 AI 结合的有趣旅程。目标不是打造一个“魔法盒”,而是提供一个足够稳健、可预测的工具,能够提供有价值的帮助和可用的代码。
道路仍然漫长,挑战层出不穷,但作为概念验证,我认为已经取得了不错的成果。
你有什么看法?在将 AI 融入我们的开发工作流时,最大的挑战是什么?


