效率翻倍!AI智能体深度解析:自然语言 → DSL → Vue组件

🤖 让低代码平台拥有"最强大脑",VTJ.PRO 的AI智能体如何将你的想法一键变成代码?

在低代码开发中,我们一直追求效率自由 的平衡。VTJ.PRO 作为开源的 AI 低代码平台,不仅提供了可视化拖拽和源码双向编辑的能力,更通过深度集成的 AI智能体子系统,为开发者带来了智能化的全新体验。

今天,我们就来彻底拆解 VTJ.PRO 的 AI 底层架构------LLM 模型管理、提示词工程、ReAct 工作流以及从自然语言到 DSL 的完整转换链路。无论你是想接入自己的 API Key,还是好奇 AI 如何生成精准的 Vue 代码,这篇文章都能给你满满的干货!

🧠 一、AI 子系统全景:三层架构,各司其职

VTJ.PRO 的 AI 基础设施分为两层:

  • LLM 管理层:负责连接不同的模型提供商(OpenAI、DeepSeek、Ollama 等),管理 API Key、Base URL 和模型元数据,并内置缓存优化性能。
  • 代理编排层:处理提示词模板、对话上下文、流式传输以及 DSL 的生成与验证。

下图清晰展示了 AI 子系统如何将自然语言需求"翻译"成最终的代码实体:

graph TD subgraph Natural Language Space User["用户输入 / 图片"] TopicService[TopicService 聊天历史] end subgraph Agent Orchestration Layer AgentService[AgentService] AIService[AIService OpenAI客户端] PromptService[PromptService 提示词模板] end subgraph LLM Infrastructure LLMModelService[LLMModelService] LLMModelEntity[LLMModelEntity 数据库] CacheService[CacheService Redis/内存] end subgraph Code Entity Space DslService[DslService 低代码DSL] Coder["@vtj/coder Vue代码生成"] end User --> AgentService AgentService --> PromptService AgentService --> AIService AgentService --> DslService AIService --> LLMModelService LLMModelService --> LLMModelEntity LLMModelService --> CacheService DslService --> Coder

📌 核心亮点VTJ.PRO 的 AI 设计是提供商无关的,你可以自由切换模型,甚至接入本地部署的 Ollama,完全掌控数据和成本。

⚙️ 二、LLM 模型管理:灵活配置 + 智能缓存

1. 数据模型:每个模型都是一个实体

VTJ.PRO 中,每一个 LLM 实例都由 LLMModelEntity 定义,关键字段包括:

  • name:展示名称,如"GPT-4 Turbo"
  • value:API 调用标识,如 gpt-4-turbo
  • provider:提供商(OpenAI、DeepSeek、Ollama、Moonshot、Zhipu、Groq、Anthropic)
  • purpose:用途分类------Coder(代码/DSL生成) 或 Multimodal(图像识别)
  • apiKeybaseUrl:连接凭证与自定义端点

2. 用途分类:让专业模型做专业事

  • Coder 模型 :专门用于生成 Vue 3 组件、DSL 结构和增量更新代码,保证输出符合 @vtj/coder 的规范。
  • Multimodal 模型:支持图像输入,用于"截图→DSL"的神奇转换。

3. 缓存机制:毫秒级响应

LLMModelService 对所有启用的模型列表进行了缓存(Redis/内存),并提供 getCoderModels()getMultiModel() 等专用检索方法,避免每次 AI 请求都查询数据库,大幅降低延迟。

模型解析流程

sequenceDiagram participant AgentModule as AgentModule / AIService participant Service as LLMModelService participant Cache as CacheModule participant DB as MySQL AgentModule->>Service: getCoderModels() Service->>Cache: get("LLM_MODELS_CACHE") alt 命中缓存 Cache-->>Service: 模型列表 else 未命中 Service->>DB: 查询启用的模型 DB-->>Service: 数据 Service->>Cache: 写入缓存 end Service->>Service: 按 purpose 过滤 Service-->>AgentModule: 返回 Coder 模型列表

4. 管理界面:可视化配置

在后台的 llms.vue 页面,管理员可以:

  • 添加/编辑模型,设置自定义 baseUrl(支持 OpenAI 兼容的代理)
  • 安全存储 API Key
  • 将模型标记为 CoderMultimodal
  • 一键启用/禁用

💡 小贴士 :想用 DeepSeek 或本地 Ollama?只需在后台填入对应的 baseUrlapiKeyVTJ.PRO 会自动识别并调用。

🔁 三、AI 服务工作流:从提示词到流式输出

1. AIService:统一的 LLM 网关

AIService 是所有 AI 请求的入口,它负责:

  • 根据模型实体动态创建 OpenAI 兼容客户端
  • 实现 chatCompletionsStream 方法,支持 SSE 流式传输
  • 通过 AbortController 允许用户取消长时间任务
  • 记录 token 用量,便于监控和成本分析

2. PromptService:系统提示词模板库

提示词是 AI 生成质量的灵魂。VTJ.PRO 将提示词以 Markdown 形式存储在 _docs/prompts/ 目录,目前包含三类:

模板文件 用途 核心要求
coder_v3.md 生成 Vue 3 代码 强制混合 API(Composition + Options),使用 SEARCH/REPLACE diff 格式进行增量更新
image.md 分析 UI 截图 输出布局、配色、组件结构的描述性 DSL
json.md 转换设计稿 JSON 将 Figma/MasterGo 导出数据转为可读的实现说明

PromptService 会读取这些模板,并自动注入上下文(如依赖项、平台类型),然后发送给 LLM。

3. 完整调用链路(自然语言 → 代码)

sequenceDiagram participant U as 用户 (IDE/工作台) participant A as AgentService participant P as PromptService participant AI as AIService participant L as LLM Provider U->>A: "创建一个登录表单" A->>P: getPrompt('coder') P-->>A: 系统提示词 + 上下文 A->>AI: streamChat(消息, 模型) AI->>L: POST /v1/chat/completions L-->>AI: 流式返回 JSON/DSL AI-->>A: 解析后的内容 A-->>U: 更新 DSL / 实时预览 UI

🚀 体验亮点:你在工作台中输入的每一句自然语言,背后都经历了这个完整流程,最终变成可编辑、可导出的 Vue 代码。

🧩 四、ReAct 模式 + 增量更新:AI 如何"精准动刀"

1. ReAct(推理 + 行动)五步循环

VTJ.PROcoder_v3 工作流采用了经典的 ReAct 模式,让 AI 不仅会写代码,还会思考使用工具

  1. T (思考):分析需求,检查约束
  2. P (规划):拆解任务(创建页面、获取技能、修改组件)
  3. A (行动) :输出一个 SEARCH/REPLACE diff 块或 JSON 工具调用
  4. O (观察):接收系统反馈(编译错误、工具结果)
  5. F (完成):总结已完成和待处理的任务

2. SEARCH/REPLACE:精准的增量更新

传统 AI 经常重写整个文件,既浪费 token 又容易出错。VTJ.PRO 要求 AI 使用精确的 diff 格式:

  • SEARCH:要修改的原代码片段(必须唯一匹配)
  • REPLACE:修改后的新代码

增量更新工作流

sequenceDiagram participant AI as AI Agent (coder_v3) participant Chat as ChatService participant Val as ValidationService participant DSL as DslService AI->>Chat: 输出 SEARCH/REPLACE 块 Chat->>Val: 校验 diff 语法 Val->>DSL: 获取当前 DSL / 文件内容 DSL-->>Val: 返回现有代码 Val->>Val: 执行正则匹配与替换 Val-->>Chat: 成功 / 匹配错误 Chat-->>AI: 观察结果 (O:)

这种机制保证了 AI 修改的确定性可回滚性,即使生成错误也不会破坏整个项目。

🔧 五、支撑服务:让 AI 稳定落地

TopicService & ChatService

  • TopicService:持久化聊天"主题",每个主题与具体项目/应用关联,保留完整对话历史。
  • ChatService :编排对话流程,自动拼接系统提示词、历史记录,调用 AIService 并将结果保存。

ConfigService & ValidationService

  • ConfigService:读取全局 AI 配置(如不同用途的默认模型)。
  • ValidationService :专门解析 AI 的输出------提取代码块、验证 JSON 工具调用、确保 SEARCH/REPLACE 块能唯一匹配源代码。

模型缓存再提效

LLMModelService 的缓存机制不仅在管理后台生效,在每个 AI Agent 执行周期内同样发挥作用,保证模型列表的快速获取。

🎯 六、总结与展望

VTJ.PRO 的 AI智能体子系统并不是简单调用一个 API,而是一套完整的企业级智能开发框架

  • 多模型自由切换:支持 OpenAI、DeepSeek、Ollama 等,数据不外泄。
  • 提示词精细化管理:针对代码、图像、JSON 分别优化,输出质量可控。
  • ReAct 工作流 + 增量更新:像资深开发者一样思考和修改代码。
  • 开箱即用的管理界面:无需写代码即可配置模型、监控用量。

未来,我们将继续增强 AI 能力,比如接入更多多模态模型、支持自定义工具调用、提供更智能的代码纠错等。

🌟 VTJ.PRO 是真正的开源项目,所有代码都在 Gitee 上,并荣获"Gitee 2025 年度开源项目大前端赛道 Top 3"。欢迎你体验、贡献、提出建议!

📢 互动时间

你现在在使用哪些 LLM?希望 VTJ.PRO 优先接入哪个模型?
留言区告诉我们,点赞最高的建议我们会优先开发适配!

参考资料


本文基于 VTJ.PRO 官方技术文档整理,架构图及流程均来自实际代码实现。

相关推荐
wenzhangli74 小时前
从零开始的 SPAC 编程构建 BPM 设计器实战
人工智能
小江的记录本4 小时前
【Transformer架构】Transformer架构核心知识体系(包括自注意力机制、多头注意力、Encoder-Decoder结构)
java·人工智能·后端·python·深度学习·架构·transformer
AI先驱体验官4 小时前
债小白分析:债务优化服务的新变量、AI能否带来行业升级
大数据·人工智能·深度学习·重构·aigc
青苔猿猿4 小时前
OpenWebUI(20)源码学习-版本升级
人工智能·学习·ai·openwebui
黑金IT4 小时前
当博弈论遇见AI开发,研发即博弈,对抗即进化
人工智能·自动化
ai生成式引擎优化技术4 小时前
服装店AI生成式引擎优化(GEO)方案
人工智能
mseaspring4 小时前
离线语音识别 Vosk 入门指南:开源、轻量、告别网络依赖
人工智能·语音识别
LeeeX!4 小时前
Openclaw接入飞书,指导AI在飞书群里干活
人工智能·飞书·openclaw
端侧AI老谢4 小时前
端侧AI 模型部署实战五(Android大模型加载)
人工智能