ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Scratch与AI智能体融合:低代码自动化流程的实践探索

Scratch与AI智能体融合:低代码自动化流程的实践探索 最近在技术社区里一个看似“无厘头”的项目标题引起了我的注意“kit和scratch在夜店打工”。初看之下这像是两个毫不相干的技术名词被强行组合进了一个生活化的场景。但恰恰是这种“跨界”组合揭示了一个非常有趣且值得深入探讨的技术趋势如何将低代码/图形化编程工具Scratch与AI智能体框架Kit结合去自动化解决那些看似“非技术”的、流程化但充满变数的现实任务。很多开发者对Scratch的印象还停留在“儿童编程启蒙工具”而对Kit这类AI Agent框架则觉得“概念很酷但离落地很远”。这个项目标题用一个生动的比喻告诉我们技术的价值不在于其出身是否“高大上”而在于它能否被巧妙地组合去接管那些重复、繁琐但又需要一定智能判断的“打工”流程。这背后是低门槛自动化与AI决策能力的一次有趣碰撞。如果你正在寻找如何让非程序员也能参与构建自动化流程如何将图形化编程的直观与AI的逻辑判断能力结合如何为一个具体、有趣的场景比如活动管理、信息收集设计一个“数字员工”那么这篇文章将为你拆解这个思路。我们将暂时抛开“夜店”这个具体外壳聚焦于其内核使用Scratch作为流程“蓝图”绘制器用Kit作为执行这些蓝图的“智能大脑”共同构建一个能处理复杂信息输入和决策的自动化系统。你会发现这套组合拳能解决的远不止一个场景的问题。1. 核心问题我们到底要解决什么在深入技术细节之前我们必须先厘清这个项目标题背后指向的真实问题。它绝不是为了娱乐而是揭示了一个普遍的技术痛点如何降低复杂业务流程自动化的构建门槛和迭代成本传统的自动化方案如编写Python脚本、使用RPA机器人流程自动化工具往往面临两大挑战构建门槛高需要专业的编程知识业务人员如活动运营、市场专员无法直接参与设计。流程僵化面对非结构化的输入如用户模糊的需求、多变的网络信息纯规则驱动的脚本极易失效。“Kit和Scratch在夜店打工”这个比喻恰好提供了破局的思路Scratch打工的“流程图”代表可视化、模块化的流程设计。就像夜店的工作手册用图形化积木块清晰地定义了“接待客人-询问需求-引导就座-提供服务”等一系列步骤。业务人员可以像搭积木一样拖拽出核心业务流程。Kit打工的“智能大脑”代表具备感知、规划和执行能力的AI智能体。它不仅是机械地执行流程图还能理解客人模糊的语音指令自然语言处理根据现场人数动态调整推荐策略决策判断处理突发情况异常处理。所以我们要解决的核心问题是如何搭建一个桥梁让可视化的业务流程图Scratch能够驱动一个具备AI能力的智能体Kit去执行从而实现对复杂、非标准化任务的自动化处理。2. 概念解析Scratch、Kit与智能体Agent2.1 Scratch不止是儿童编程Scratch是由MIT媒体实验室开发的可视化编程语言。其核心是“积木块”编程用户通过拖拽预设的代码积木如“当绿旗被点击”、“移动10步”、“如果...那么...”来组合程序逻辑无需书写传统代码。在成人/工业场景下的价值流程可视化极其适合用于描述业务逻辑、工作流或算法流程。每个积木块可以代表一个原子操作如“调用API”、“解析数据”、“发送消息”。降低协作成本产品经理、运营人员可以和工程师基于同一张“Scratch流程图”进行沟通确保对流程的理解一致。快速原型能迅速将想法转化为可运行的逻辑图验证流程的合理性。技术本质Scratch项目最终会被编译或解释成一种结构化的数据通常是JSON它定义了事件、控制流和数据流。这正是它能与后端系统如Kit集成的基础。2.2 KitAI智能体的赋能框架Kit通常指代一类用于构建AI智能体Agent的开发框架或工具包。智能体是指能够感知环境、进行决策并执行行动以实现目标的AI系统。一个典型的智能体包含规划Planning分解目标制定步骤。记忆Memory存储和回忆过往交互与知识。工具使用Tool Use调用外部API、数据库或函数来获取信息或执行操作。行动Action执行具体的任务。Kit类框架的作用提供一套标准化的模块如LLM调用接口、工具管理、记忆存储、执行引擎让开发者可以像组装乐高一样快速构建一个能使用各种工具搜索、计算、读写文件等完成复杂任务的智能体。2.3 二者结合的模式理解了各自的概念结合模式就清晰了Scratch 作为“编排层”定义任务的宏观步骤和逻辑分支“先做什么后做什么如果遇到A情况则走B分支”。它输出的是一个结构化的工作流描述。Kit 作为“执行层”接收这个工作流描述。其中的“规划”模块将其转化为具体的子任务智能体利用其工具调用能力去执行每个子任务如访问网页、分析内容、生成回复“记忆”模块则记录执行状态确保流程连贯。这种“可视化编排 AI智能执行”的架构分离了流程设计和原子能力实现让专业的人做专业的事。3. 环境准备与核心工具选型要实现“Scratch Kit”的联动我们需要搭建一个能够运行这两者的环境。由于这是一个概念性实践我们不拘泥于某个特定的“Kit”实现而是以目前流行的AI智能体开发模式为例。3.1 基础软件环境操作系统Windows 10/11, macOS 10.15, 或 Linux (Ubuntu 20.04)。本文示例以macOS/Linux命令行环境为主。Python版本 3.8 - 3.11。这是大多数AI框架的首选语言。确保已安装pip。Node.js(可选)部分Scratch扩展或运行时可能需要。版本建议14。Git用于克隆示例代码库。3.2 Scratch 环境选择对于与外部系统集成我们通常不直接使用Scratch官方在线编辑器而是选择其衍生项目或能够解析Scratch项目文件的运行时。方案一推荐使用 Scratch 3.0 开源运行时Scratch 3.0 是开源的其核心引擎可以用JavaScript运行。我们可以搭建一个本地服务通过其扩展机制与后端Kit通信。# 克隆 Scratch 3.0 GUI 和 VM (虚拟机) git clone https://github.com/LLK/scratch-gui.git git clone https://github.com/LLK/scratch-vm.git # 按照官方README进行构建和连接方案二简化使用 Scratch 项目文件 (.sb3).sb3 文件本质上是一个ZIP压缩包内含描述项目的JSON文件(project.json)。我们可以直接编写程序来解析这个JSON提取其中的角色、脚本积木块连接关系和变量信息。# 示例解压并查看sb3文件结构 import zipfile import json with zipfile.ZipFile(my_workflow.sb3, r) as zip_ref: zip_ref.extractall(project_data) with open(project_data/project.json, r, encodingutf-8) as f: project_data json.load(f) # project_data 包含了所有Scratch项目的定义3.3 “Kit” 侧实现以 LangChain 智能体为例我们将使用 LangChain 这一流行的AI应用开发框架来模拟“Kit”的能力。它提供了强大的智能体Agent构建模块。# 创建虚拟环境并安装依赖 python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install langchain langchain-openai langchain-community # 安装一个LLM提供商例如使用OpenAI API需自行准备API Key # 或者使用本地模型如Ollama # pip install ollama3.4 核心依赖清单创建一个requirements.txt文件来管理Python依赖# requirements.txt langchain0.1.0 langchain-openai0.0.5 langchain-community0.0.10 openai1.6.1 # 如需使用OpenAI requests2.31.0 # 用于调用外部API python-dotenv1.0.0 # 用于管理环境变量如API Key4. 系统架构与核心流程拆解我们的目标是构建一个微型的、可验证的系统。其核心架构和工作流程如下[Scratch GUI] - [.sb3 项目文件] - [流程解析器] - [工作流描述 (JSON)] | v [任务执行结果] - [LangChain 智能体] - [任务队列/调度器]4.1 步骤一在Scratch中设计“打工”流程我们设计一个简化的“夜店接待”流程包含以下积木逻辑事件当绿旗被点击流程开始。询问并等待询问“客人您几位喜欢热闹还是安静的区域”。逻辑判断如果回答包含 “热闹” 或 “人多”那么推荐区域设为 “舞池卡座”。否则推荐区域设为 “包厢或安静角落”。逻辑判断如果回答中的数字通过运算提取 4那么推荐酒水设为 “套餐A”。否则推荐酒水设为 “套餐B”。说话组合最终回复例如 “好的为您推荐【推荐区域】并准备了【推荐酒水】请随我来。”关键这个流程是确定性的、基于简单规则的。Scratch完美胜任。4.2 步骤二导出并解析流程将上述Scratch项目保存为club_host.sb3。我们需要编写一个解析器 (parser.py)将其转化为机器可理解的任务列表。# parser.py import json import zipfile import re class ScratchWorkflowParser: def __init__(self, sb3_file_path): self.sb3_path sb3_file_path self.project_data None def load_project(self): 解压并加载project.json with zipfile.ZipFile(self.sb3_path, r) as zip_ref: # 通常project.json在根目录 with zip_ref.open(project.json) as f: self.project_data json.load(f) return self.project_data def extract_scripts(self): 提取所有角色的脚本积木连接 scripts [] for target in self.project_data.get(targets, []): for block_id, block in target.get(blocks, {}).items(): # 这里简化处理实际需要递归遍历next指针来重建完整脚本链 # 这是一个复杂的过程示例仅展示思路 if block.get(opcode) event_whenflagclicked: # 找到绿旗开始的脚本 script_chain self._traverse_blocks(block_id, target[blocks]) scripts.append(script_chain) return scripts def _traverse_blocks(self, start_block_id, blocks): 递归遍历积木链返回一个结构化的列表 # 简化实现实际需要处理各种opcode和输入 chain [] current_id start_block_id while current_id and current_id in blocks: block blocks[current_id] chain.append({ opcode: block.get(opcode), inputs: block.get(inputs, {}) }) # 获取下一个积木的ID (Scratch 3.0中通常是 inputs 里的 SUBSTACK 或 NEXT) next_id None if next in block: next_id block[next] current_id next_id return chain def to_workflow_description(self): 将解析出的脚本转换为更抽象的工作流描述JSON self.load_project() scripts self.extract_scripts() # 这里进行高度简化实际项目需要精细的转换 workflow { name: Club Reception Workflow, steps: [ {type: trigger, event: start}, {type: input, action: ask, question: 客人您几位喜欢热闹还是安静的区域, variable: guest_answer}, {type: decision, condition: contains(guest_answer, 热闹) or contains(guest_answer, 人多), true_branch: area_dancefloor, false_branch: area_quiet}, {type: action, branch: area_dancefloor, set_variable: {recommended_area: 舞池卡座}}, {type: action, branch: area_quiet, set_variable: {recommended_area: 包厢或安静角落}}, # ... 更多步骤转换 {type: output, action: speak, template: 好的为您推荐【{recommended_area}】并准备了【{recommended_drink}】请随我来。} ] } return json.dumps(workflow, ensure_asciiFalse, indent2) if __name__ __main__: parser ScratchWorkflowParser(club_host.sb3) workflow_json parser.to_workflow_description() print(workflow_json) with open(workflow.json, w) as f: f.write(workflow_json)这个解析器是概念性的真实的Scratch项目解析非常复杂。但核心思想是将图形化积木转换为一个结构化的、包含步骤、条件和动作的JSON工作流描述文件 (workflow.json)。4.3 步骤三KitLangChain智能体执行工作流现在我们有了一个工作流描述。接下来我们需要一个智能体来“理解”并执行它。这里的“理解”不是让AI去猜而是让智能体根据工作流描述动态地调用合适的工具去完成每一步。我们创建一个agent_executor.py# agent_executor.py import json from langchain.agents import AgentExecutor, create_react_agent from langchain_core.prompts import PromptTemplate from langchain_core.tools import Tool from langchain_openai import ChatOpenAI # 如果使用本地模型例如 Ollama # from langchain_community.llms import Ollama class WorkflowExecutor: def __init__(self, workflow_path, use_local_llmFalse): with open(workflow_path, r) as f: self.workflow json.load(f) self.llm self._init_llm(use_local_llm) self.tools self._init_tools() self.agent self._init_agent() def _init_llm(self, use_local): if use_local: # 使用本地Ollama模型例如llama2 # from langchain_community.llms import Ollama # return Ollama(modelllama2) print(本地LLM初始化...) # 此处需要根据实际安装的Ollama配置 # 为简化我们仍用OpenAI示例但注释掉实际调用 pass # 使用OpenAI GPT需要设置环境变量 OPENAI_API_KEY from langchain_openai import ChatOpenAI return ChatOpenAI(modelgpt-3.5-turbo, temperature0) def _init_tools(self): 定义智能体可以使用的工具 def ask_user(question: str) - str: 模拟向用户提问并获取回答。在实际应用中这可能是一个前端接口。 print(f[Agent asks]: {question}) # 这里我们模拟一个固定的回答真实场景应从输入获取 simulated_answer 我们3个人喜欢热闹的地方 print(f[Simulated User]: {simulated_answer}) return simulated_answer def set_variable(variable_name: str, value: str) - str: 设置一个内部变量。 print(f[Set Variable]: {variable_name} {value}) return fVariable {variable_name} set to {value}. def make_decision(condition: str, context: str) - str: 根据条件和上下文做出决策。这里让LLM来判断。 prompt fGiven the context: {context}\nDoes the condition {condition} hold true? Answer only with true or false. decision self.llm.invoke(prompt).content.strip().lower() print(f[Decision]: condition {condition} - {decision}) return decision def generate_response(template: str, **variables) - str: 根据模板和变量生成最终回复。 response template for key, value in variables.items(): response response.replace(f{{{key}}}, value) print(f[Generate Response]: {response}) return response return [ Tool(nameAskUser, funcask_user, descriptionAsk a question to the user and get their answer.), Tool(nameSetVariable, funcset_variable, descriptionSet an internal variable to a value.), Tool(nameMakeDecision, funcmake_decision, descriptionEvaluate a condition and return true or false.), Tool(nameGenerateResponse, funcgenerate_response, descriptionGenerate a final response using a template and variables.) ] def _init_agent(self): 创建ReAct模式的智能体 prompt PromptTemplate.from_template( You are a workflow executor. Your job is to follow the given workflow steps precisely. Workflow Steps: {workflow_steps} Current Context and Variables: {context} You have access to the following tools: {tools} Use the tools to complete each step. Always provide the exact tool name and input. Begin! Question: What is the next step to execute based on the current context? Thought: I need to understand the current step and available tools. Action: The action to take, should be one of [{tool_names}] Action Input: The input to the action Observation: The result of the action ... (this Thought/Action/Observation can repeat N times) Final Answer: The final output when the workflow is complete. Lets start. ) agent create_react_agent(llmself.llm, toolsself.tools, promptprompt) return AgentExecutor(agentagent, toolsself.tools, verboseTrue, handle_parsing_errorsTrue) def execute(self): 执行工作流 print(Starting workflow execution...) # 初始化上下文 context {variables: {}, current_step_index: 0} workflow_steps_str json.dumps(self.workflow[steps], indent2) # 这里为了演示我们简化执行逻辑实际需要更复杂的状态机 # 我们直接模拟执行我们预设的简单工作流 print(\n--- Simulating Workflow Execution ---) # 步骤1: 提问 answer self.tools[0].func(客人您几位喜欢热闹还是安静的区域) context[variables][guest_answer] answer # 步骤2: 决策 (区域) condition1 contains(guest_answer, 热闹) or contains(guest_answer, 人多) decision1 self.tools[2].func(condition1, answer) if true in decision1: self.tools[1].func(recommended_area, 舞池卡座) context[variables][recommended_area] 舞池卡座 else: self.tools[1].func(recommended_area, 包厢或安静角落) context[variables][recommended_area] 包厢或安静角落 # 步骤3: 决策 (酒水) - 简单提取数字 import re num_match re.search(r\d, answer) guest_count int(num_match.group()) if num_match else 2 if guest_count 4: self.tools[1].func(recommended_drink, 套餐A) context[variables][recommended_drink] 套餐A else: self.tools[1].func(recommended_drink, 套餐B) context[variables][recommended_drink] 套餐B # 步骤4: 生成最终回复 template 好的为您推荐【{recommended_area}】并准备了【{recommended_drink}】请随我来。 final_response self.tools[3].func(template, **context[variables]) print(f\n--- Workflow Completed ---) print(fFinal Output: {final_response}) return final_response if __name__ __main__: # 注意使用OpenAI API需要设置环境变量 OPENAI_API_KEY # export OPENAI_API_KEYyour-key import os if not os.getenv(OPENAI_API_KEY): print(警告未设置OPENAI_API_KEY部分LLM功能可能无法使用。将使用模拟决策。) executor WorkflowExecutor(workflow.json, use_local_llmFalse) result executor.execute()5. 运行与效果验证5.1 运行完整流程准备环境确保Python环境、依赖已安装。生成工作流描述运行解析器假设已有一个简单的club_host.sb3或直接使用我们代码中生成的workflow.json。python parser.py这将在当前目录生成workflow.json文件。执行工作流运行智能体执行器。# 确保已设置OPENAI_API_KEY环境变量或修改代码使用本地模型/模拟 python agent_executor.py5.2 预期输出与验证执行agent_executor.py后你将在控制台看到类似以下的输出Starting workflow execution... --- Simulating Workflow Execution --- [Agent asks]: 客人您几位喜欢热闹还是安静的区域 [Simulated User]: 我们3个人喜欢热闹的地方 [Decision]: condition contains(guest_answer, 热闹) or contains(guest_answer, 人多) - true [Set Variable]: recommended_area 舞池卡座 [Set Variable]: recommended_drink 套餐B [Generate Response]: 好的为您推荐【舞池卡座】并准备了【套餐B】请随我来。 --- Workflow Completed --- Final Output: 好的为您推荐【舞池卡座】并准备了【套餐B】请随我来。如何验证成功流程完整性检查输出是否完整经历了“询问-判断区域-判断人数-生成回复”的步骤。逻辑正确性模拟的用户输入是“3人热闹”系统正确判断出“热闹”-“舞池卡座”人数34-“套餐B”。这证明基于规则的逻辑被正确执行。工具协作观察日志确认AskUser、MakeDecision、SetVariable、GenerateResponse等工具被按顺序调用。5.3 进阶验证引入真正的AI决策在上述示例中决策判断是否包含“热闹”我们简化处理了。要体现“Kit”的AI能力我们可以修改MakeDecision工具让它处理更模糊的自然语言。# 在_init_tools中增强MakeDecision工具 def make_decision(condition: str, context: str) - str: 使用LLM理解更复杂的自然语言条件。 # 例如条件可能是“客人看起来是庆祝生日” # 上下文是客人的完整对话历史 prompt f You are a club host assistant. Based on the following conversation context, answer the question. Context: {context} Question: {condition} Answer with only true or false. try: decision self.llm.invoke(prompt).content.strip().lower() # 确保返回是 true/false if true in decision: return true elif false in decision: return false else: return false # 默认 except Exception as e: print(fLLM决策出错: {e}) return false这样Scratch流程图中的条件就可以写得更加“人性化”而由Kit中的LLM来负责理解并判断条件是否成立实现了可视化规则编排与AI语义理解的解耦与结合。6. 常见问题与排查思路在实现和运行此类系统时你可能会遇到以下问题问题现象可能原因排查方式解决方案解析sb3文件失败或得到空数据1. 文件路径错误。2.sb3文件损坏或版本不兼容。3. 解析代码未正确处理压缩包或JSON结构。1. 检查文件路径和权限。2. 用解压软件手动打开sb3文件检查内部project.json。3. 在解析代码中打印project.json的原始内容查看结构。1. 使用绝对路径或确认相对路径。2. 尝试用Scratch官方编辑器重新保存项目。3. 参考Scratch官方文档中关于project.json格式的说明调整解析逻辑。LangChain智能体执行时报错OpenAI API相关错误1. API Key 未设置或错误。2. 网络问题导致连接超时。3. 额度不足或模型不可用。1. 检查环境变量OPENAI_API_KEY。2. 运行curl测试API连通性。3. 查看OpenAI控制台用量和状态。1. 正确设置环境变量。2. 配置网络代理或检查防火墙。3. 更换API Key或使用备用模型/本地模型如Ollama。工作流执行逻辑混乱步骤跳转错误1. 从Scratch到工作流JSON的转换逻辑有误。2. 智能体的提示词Prompt未能清晰指导其按步骤执行。3. 工具Tool的输入输出格式不符合预期。1. 逐步打印解析后的workflow.json与Scratch项目对比。2. 开启LangChain Agent的verboseTrue模式观察其“思考”过程。3. 单独测试每个工具函数确保其功能正常。1. 简化初始工作流确保基础顺序执行正确再增加分支。2. 优化Prompt明确要求智能体“严格按步骤执行”并“使用指定工具”。3. 确保工具的描述description准确输入参数类型匹配。系统无法处理用户实时输入设计时采用了模拟输入未连接真实前端或接口。检查ask_user工具的实现当前是写死的模拟数据。将ask_user工具改造为从WebSocket、HTTP接口或消息队列中获取真实用户输入。需要引入异步框架如FastAPI、Socket.io。性能低下响应慢1. 每次决策都调用LLM延迟高。2. 解析Scratch文件或工作流过于频繁。1. 使用性能分析工具如cProfile定位耗时操作。2. 检查LLM调用是否被不必要的重复触发。1. 对确定性规则如数字比较、关键词匹配使用本地逻辑判断而非LLM。2. 缓存工作流解析结果和LLM响应如果内容不变。3. 考虑使用更轻量的LLM或本地模型。7. 最佳实践与工程化建议将“Scratch流程图驱动AI智能体”的思路投入实际项目需要考虑更多工程细节。7.1 设计阶段Scratch作为“蓝图”严格规定Scratch只用于描述业务逻辑流避免在其中嵌入复杂的计算或数据操作。这些应留给后端的“工具”实现。原子化工具设计为Kit智能体设计尽可能原子化的工具Tools。每个工具功能单一、接口明确。例如SearchWeb、SendEmail、QueryDatabase、CallInternalAPI。定义清晰的数据接口在Scratch的变量和Kit的上下文变量之间建立明确的映射关系。使用一个共享的、版本化的数据模式定义如JSON Schema。7.2 开发与集成构建可靠的解析器这是连接两端的桥梁。可以考虑基于开源的Scratch VM代码进行修改直接提取执行树而不是从project.json反向工程。状态管理工作流执行可能是长时的、可中断的。必须设计一个持久化的状态管理器记录当前执行到哪一步、各变量的值是什么。可以使用数据库如Redis、SQLite或简单的文件存储。错误处理与回退在智能体执行每一步时都要有try-catch机制。当某个工具调用失败或LLM返回意外结果时应有预定义的错误处理分支在Scratch流程图中设计或通知人工接管。7.3 部署与运维模块化部署可以将系统拆分为多个微服务流程设计器服务提供Web界面嵌入Scratch编辑器供用户设计流程。流程解析与存储服务接收sb3文件解析并存储结构化工作流。智能体执行引擎服务加载工作流管理智能体生命周期调用工具。工具网关服务统一管理对外部API、数据库等的调用增加认证、限流、日志。监控与日志对智能体的每一次决策、每一个工具调用、每一步状态转换都记录详细的日志。这对于调试复杂流程和优化AI决策至关重要。版本控制对Scratch工作流文件sb3和解析后的工作流定义进行版本控制便于回滚和协作。7.4 安全与权限工具调用沙箱智能体调用的工具可能具有破坏性如删除数据、发送消息。必须在沙箱环境中运行或对工具操作进行严格的权限校验和二次确认。输入输出净化防止用户通过Scratch变量或对话输入恶意指令导致LLM注入攻击或工具滥用。敏感信息保护API密钥、数据库密码等绝不能硬编码在Scratch项目或代码中应使用环境变量或安全的配置管理服务。“Kit和Scratch在夜店打工”这个项目创意其价值远不止于一个有趣的比喻。它为我们提供了一种构建可解释、可编排、低门槛业务自动化系统的范式。通过Scratch降低流程设计的门槛让业务专家能够直接参与通过Kit以LangChain为代表的AI智能体框架注入感知、规划和执行能力让自动化流程能够应对不确定性。从技术上看实现它的核心挑战在于建立两个不同抽象层次系统之间的可靠映射从图形化、面向教育的Scratch积木到严谨的、可执行的工作流描述再到由LLM驱动的、具备工具使用能力的智能体动作序列。本文提供的代码示例是一个高度简化的概念验证但它清晰地勾勒出了这条路径。对于想要深入实践的开发者下一步可以深入研究Scratch 3.0扩展机制开发一个真正的“导出到工作流”的扩展块。探索更强大的工作流引擎如Apache Airflow、Prefect或Camunda将解析后的工作流部署到这些工业级引擎上执行而智能体作为其中一个特殊的“决策节点”。结合低代码平台将这套思路产品化让非技术人员通过拖拽不仅能设计UI还能设计背后由AI驱动的复杂业务流程。技术的融合与创新往往发生在边界之上。当儿童编程工具遇上前沿的AI智能体产生的可能不是玩具而是一把开启下一代人机协作与流程自动化大门的钥匙。
返回列表