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。

参考资料

相关推荐
囫囵吞桃7 小时前
Agent出现LLM因为历史工具调用消息而误解工具调用方式的问题
llm·agent
canonical_entropy9 小时前
下一代低代码渲染框架 nop-chaos-flux 的设计原则
前端·低代码·前端框架
爱吃的小肥羊10 小时前
手把手教你在Claude Code中熟练使用SKILL技能!
ai编程·claude
yaocheng的ai分身11 小时前
【转载】使用 Claude Code:HTML 的有效性
ai编程·claude
后端小肥肠11 小时前
公众号漫画卷疯了?我用漫画工厂Skill,3天带群友入池,小白也能抄作业
人工智能·aigc·agent
小虎AI生活11 小时前
WorkBuddy+Hy3 preview:普通人如何用 AI 把想法变成现实
ai编程·codebuddy
CodePlayer13 小时前
AI 全链路,我们正站在 2014 年
ai编程
libokaifa13 小时前
Claude Code的工程化落地:MCP 篇
ai编程·claude·vibecoding
Bigger13 小时前
因为看不懂小棉袄的画,我写了个 AI 程序帮我“翻译”她的世界
前端·人工智能·ai编程
AI_Ming14 小时前
从0开始学AI:层归一化,原来是这回事!
算法·ai编程