AMIS平台简介:低代码开发的强大基石
AMIS是百度开源的一款基于JSON配置的前端低代码框架,它通过声明式的配置方式让开发者能够快速构建各种后台管理系统界面,其核心优势在于其丰富的组件库和高度可定制性。在可视化操作方面,AMIS提供了配置面板,允许开发者通过可视化方式编辑组件属性,同时支持代码模式直接编辑AMIS配置代码。
AI智能体的核心能力:为AMIS平台植入"大脑"
目前AMIS平台内置120种组件,需手动摸索组件拖拽逻辑,组件的学习成本较高。另外用户在使用该平台开发一些非业务页面时,UI页面设计思维局限,使得页面美观性有待考量。 为解决上述开发痛点,借助公司的大模型应用开发平台------Zeta平台设计了两个agent------"UI设计专家"和"AMIS页面生成专家"。其中"UI设计专家"的核心功能为:根据用户描述,输出对应页面的布局描述。"AMIS页面生成专家"的核心功能:根据页面布局生成AMIS页面JSON配置。如下所示:
UI设计Agent详细信息
AMIS生成页面JSON的Agent详细信息
AMIS平台与AI智能体的融合实践
当AMIS与AI智能体相结合,便形成了一种强大的协同效应。AMIS提供了灵活的前端应用构建能力,而AI智能体则为这些应用注入了智能化能力,使其能够理解用户意图、自动化处理复杂任务。这种融合创造了1+1>2的价值,为低代码开发带来了革命性的变化。 AMIS智能小助手的实现可以分为:显示层、服务层和依赖层。显示层负责接收用户需求并以可视化形式呈现结果,核心是AMIS渲染引擎;服务层是接入AI智能体的核心,包括自然语言理解、任务规划、决策判断等能力;依赖层则是一些底层的依赖服务和框架等。
逻辑框架图
这一架构的核心技术挑战在于如何实现AI智能体更精准的生成JSON配置页面。为了实现这一目标,则需构建部分工具类来辅助提升JSON配置页面的生成精度。
上下文增强&JSON验证:基于工具类保证生成的正确性
上下文增强是提升智能体理解准确性的关键技术。AMIS与AI智能体的融合利用工具类服务实现上下文增强,通过动态访问相关资源和技术文档,为智能体提供丰富的背景信息,使其能够生成更准确、更符合需求的响应。
python
def send_enhanced_message(
query: str,
user_id: str = "xxxx",
context_info: str = "上下文信息",
conversation_id: str = ""
) -> Dict[Any, Any]:
api_key = os.getenv("API_KEY", "yourApiKey")
return chat_service.send_message(api_key, query, user_id, conversation_id, context_info)
上下文增强代码片段
AMIS依赖于严格的JSON配置结构,任何格式错误或字段不匹配都会导致渲染失败。智能体生成的JSON 配置需要经过验证,确保符合AMIS的规范要求。验证过程包括语法检查、结构验证和语义分析,确保生成的配置不仅格式正确,而且逻辑合理。
python
def validate_json_config(json_string: str) -> Dict[str, Any]:
"""
验证页面配置是否为有效的JSON格式
:param json_string: 待验证的JSON字符串
:return: 验证结果和解析后的JSON对象
"""
return chat_service.validate_json_configuration(json_string)
JSON验证代码片段
直接调用大模型效果展示:各种乱码
直接调用的生成效果情况
使用上下文增强&JSON验证后的效果展示:直接可以使用
优化后生成效果情况
多轮对话支持:保持上下文的连贯交互
多轮对话能力是智能体与传统交互系统的核心区别之一。在低代码开发场景中,开发者通常需要多次交互才能完整表达需求,例如先描述整体功能,然后补充细节要求,最后进行调整优化。AMIS与AI智能体的集成提供了自动维护对话历史的机制,确保在整个交互过程中上下文保持连贯。
python
class ConversationManager:
"""对话管理器,用于管理多轮对话历史"""
def __init__(self):
self.conversations: Dict[str, List[Dict[str, Any]]] = {}
def add_message(self, conversation_id: str, message: Dict[str, Any]):
"""添加消息到对话历史"""
if conversation_id not in self.conversations:
self.conversations[conversation_id] = []
self.conversations[conversation_id].append(message)
def get_history(self, conversation_id: str) -> List[Dict[str, Any]]:
"""获取对话历史"""
return self.conversations.get(conversation_id, [])
def get_recent_history(self, conversation_id: str, count: int = 5) -> List[Dict[str, Any]]:
"""获取最近的对话历史"""
history = self.get_history(conversation_id)
return history[-count:] if len(history) > count else history
def clear_history(self, conversation_id: str):
"""清除对话历史"""
if conversation_id in self.conversations:
del self.conversations[conversation_id]
def update_last_message(self, conversation_id: str, updated_message: Dict[str, Any]):
"""更新最后一条消息"""
if conversation_id in self.conversations and self.conversations[conversation_id]:
self.conversations[conversation_id][-1] = updated_message
多轮对话管理代码片段
在实际应用中,当用户提出"创建一个员工管理页面"的需求后,紧接着说"加上部门筛选功能",系统能自动理解后者是前者的补充和细化,而非一个独立的新需求。这种连贯的交互体验大大降低了沟通成本,使开发者能够像与人类同事合作一样与智能体进行交流。支持一键导入生成代码功能,用户点击一键导入,前端将AI生成页面代码,直接写入低代码平台代码编辑区域,快速写入页面。效果展示:

效果演示图
未来已来:多智能体协作的辅助开发
随着AI技术的持续演进,多智能体协作将成为重要趋势。复杂的应用开发可能需要多个智能体分工合作,例如专门负责界面设计的智能体、专注业务逻辑的智能体和进行数据建模的智能体协同工作。这些智能体通过相互协作,可以处理更加复杂的开发任务,超越单个智能体的能力限制。 未来的智能体自我优化能力将不断增强。通过建立数据反馈闭环,智能体可以持续从用户交互中学习,优化其生成策略和输出质量。这种自我进化能力使得系统能够不断适应新的开发需求和设计趋势,长期保持其价值和竞争力。
结语
AMIS与AI智能体的融合不仅提升了开发效率,更赋予应用系统理解、分析和决策的能力,使低代码平台从单纯的"工具"演进为业务的"智能伙伴"。通过多轮对话支持、上下文增强、实时修改、JSON验证和工具化集成等特性,这一融合解决方案为低代码开发带来了前所未有的智能体验。
作者简介
白衣煮茶,信也科技黑盒测试资深工程师
邹小乐,信也科技前端开发专家