VTJ.PRO 在线应用开发平台的Agent与LLM集成

AI 代理与 LLM 集成

VTJ.PRO 中的 AI 代理子系统为低代码平台提供了智能核心,支持 AI 辅助代码生成、图像到 DSL 转换以及基于聊天的交互式开发等功能。该系统设计为与提供商无关,支持多种大语言模型后端,同时为应用程序的其他部分提供统一的接口。

系统概述

AI 基础设施分为 LLM 管理 层(处理连接和模型元数据)和 代理编排 层(处理提示词、上下文和流式传输)。

核心组件与关系

下图展示了 AI 子系统如何通过编排各种服务,将自然语言需求桥接到代码实体空间。

AI 子系统架构

graph TD subgraph Natural Language Space User[User Prompt / Image] TopicService["TopicService (Chat History)"] end subgraph Agent Orchestration Layer AgentService[AgentService] AIService["AIService (OpenAI Client)"] PromptService["PromptService (Templates)"] end subgraph LLM Infrastructure LLMModelService[LLMModelService] LLMModelEntity["LLMModelEntity (DB)"] CacheService["CacheService (Redis/Memory)"] end subgraph Code Entity Space DslService["DslService (Low-code DSL)"] Coder["@vtj/coder (Vue Gen)"] end User --> AgentService AgentService --> PromptService AgentService --> AIService AgentService --> DslService AIService --> LLMModelService LLMModelService --> LLMModelEntity LLMModelService --> CacheService DslService --> Coder

LLM 模型管理与配置

VTJ.PRO 支持多种 LLM 提供商(例如 OpenAI、DeepSeek、本地模型)。模型通过 LLMPurpose 进行分类,例如用于逻辑生成的 Coder 或用于图像处理的 Multimodal

  • 提供商抽象LLMModelEntity 存储 API 密钥、基础 URL 和模型标识符。
  • 缓存 :为确保请求编排期间的低延迟,LLMModelService 使用基于缓存的机制(getModels)来避免频繁的数据库查询。
  • 专用检索 :系统提供了辅助方法,如 getCoderModels()getMultiModel(),用于快速识别特定任务(例如生成 Vue 代码与描述 UI 截图)的最佳模型。

有关详细的配置步骤和实体定义,请参阅 LLM 模型管理与配置 文档。

AI 代理工作流与服务

AgentModule 协调 AI 交互的高级逻辑。它通过一系列专用服务将用户意图转换为结构化的 DSL 或代码片段。

关键服务

服务 职责
AIService 管理 OpenAI 客户端实例,处理流式补全,并实现 AbortController 以支持请求取消。
PromptService _docs/prompts/ 加载系统提示词。它包括用于逻辑 (coder)、图像转 DSL (image) 和结构化数据 (json) 的模板。
TopicService 管理聊天会话("话题")及其持久化,允许用户在多次 AI 交互中保持上下文。
ChatService 处理话题内的消息级逻辑,包括用户查询和 AI 响应。

从提示词到 DSL

以下交互流程展示了自然语言请求如何被转换为系统级代码实体。

自然语言到代码实体流程

sequenceDiagram participant U as User (IDE/Workbench) participant A as AgentService participant P as PromptService participant AI as AIService participant LLM as LLM Provider (OpenAI/DeepSeek) U->>A: Request: "Create a login form" A->>P: getPrompt('coder') P-->>A: System Prompt + Context A->>AI: streamChat(Messages | Model) AI->>LLM: POST /v1/chat/completions LLM-->>AI: Streaming Tokens (JSON/DSL) AI-->>A: Parsed Content A-->>U: Update DSL / Preview UI

有关提示词模板和流式实现的详细信息,请参阅 LLM 服务、缓存与 AI 代理工作流 文档。

与低代码引擎的集成

AI 子系统与 DslService 紧密集成。当 AI 生成响应时,它通常会输出与 VTJ DSL 兼容的 JSON 结构。

  1. 代码生成AgentService 使用 @vtj/coder 逻辑,确保 AI 生成的代码片段能够无缝合并到现有的页面架构中。
  2. 验证ValidationService(在代理模块内)确保 LLM 的输出在应用于项目之前符合预期的 JSON 模式。
  3. 图像转 UI :通过利用多模态模型,平台可以获取屏幕截图,并使用 PromptService 指示 LLM 生成相应的 @vtj/core DSL。

参考资料

相关推荐
峡谷电光马仔2 小时前
要成为AI的主人,而不是被它所绑架
人工智能·chatgpt·ai编程·ai红线·清醒的使用ai
IvanCodes2 小时前
ClaudeCode 源码泄露,事情没那么简单
人工智能·ai编程·claude
weixin_425023003 小时前
Spring Boot 2.7+JDK8+WebSocket对接阿里云百炼Qwen3.5-Plus 实现流式对话+思考过程实时展示
java·spring boot·websocket·ai编程
candyTong3 小时前
Claude Code 是怎么跑起来的:从 Agent Loop 理解代理循环实现
前端·后端·ai编程
AwesomeDevin11 小时前
AI时代,我们的任务不应沉溺于与 AI 聊天 - 🤔 从“对话式编程”迈向“数字软件工厂”
ai编程
努力的小郑11 小时前
突发!Claude Code 51万行源码全网裸奔:一场史诗级“开源”事故,国内大厂笑麻了
前端·后端·ai编程
HashTang12 小时前
Claude Code 源码中 REPL.tsx 深度解析:一个 5005 行 React 组件的架构启示
前端·后端·ai编程
天蓝色的鱼鱼14 小时前
别再只会写 Prompt 了!Claude Code Skills 才是 AI 编程的正确打开方式
ai编程·claude
爱吃的小肥羊14 小时前
Codex 被 OpenAI 做成插件,塞进了 Claude Code,这招绝了!
openai·ai编程