2026年5月30日 3 分钟阅读

Lowdefy v5.3 实战:用 30 行 YAML 搭建一个 AI Agent

tinyash 0 条评论

Lowdefy 是一个开源的 YAML 配置驱动的低代码框架,自 2020 年以来已有近 3000 颗 GitHub Stars。最新发布的 v5.3 版本带来了一个重要的新能力——AI Agent。你不需要写任何 Python 或 JavaScript,只需几十行 YAML 就可以定义出一个能调用你后端 API 作为工具的 AI Agent。

这不是又一个 AI wrapper。Lowdefy 本身就是一个完整的前后端框架——你可以把已有的 CRUD 界面、仪表盘、工作流和 AI Agent 放在同一个配置文件中管理。Agent 所做的决策,可以实时响应到页面上的状态、按钮和数据。

快速体验

创建一个 agent-demo.yaml

lowdefy: 4.5.0
pages:
  - id: agent
    type: PageHeaderMenu
    events:
      onEnter:
        - id: ask_llm
          type: Request
          params:
            url: https://api.lowdefy.com/v1/agents/chat
            method: POST
    blocks:
      - id: chat_input
        type: InputTextArea
        properties:
          placeholder: 输入你的需求...
          rows: 3
      - id: send_btn
        type: Button
        properties:
          title: 发送
        events:
          onClick:
            - id: call_agent
              type: Request
              params:
                url: https://api.lowdefy.com/v1/agents/lowdefy-agent
                method: POST
                body:
                  prompt:
                    _state: chat_input.value

启动:

npx lowdefy@latest dev agent-demo.yaml

打开 http://localhost:3000,你会看到一个聊天界面。输入”查询上个月的销售数据并按区域汇总”,Agent 会调用你定义的工具来执行查询并返回结果。

核心概念:Agent 定义

在 Lowdefy v5.3 中,一个 Agent 在 lowdefy.yamlagents 段定义:

lowdefy: 4.5.0
config:
  agents:
    lowdefy-agent:
      type: OpenAI
      options:
        model: gpt-4o
        systemPrompt: |
          你是一个数据分析助手。
          根据用户的问题调用相应的工具。
          始终用中文回复。
        tools:
          - type: Request
            id: query_sales
            properties:
              method: POST
              url: https://api.example.com/sales/query
              body:
                region:
                  _state: selected_region
          - type: Request
            id: get_regions
            properties:
              method: GET
              url: https://api.example.com/regions

每个 Agent 需要三个部分:LLM 配置(模型、System Prompt)、工具列表(可复用的 API 调用定义)、以及人机交互界面(页面布局用标准 Lowdefy 组件)。

实战:构建一个项目进度助手

假设你有一个项目管理 API,让我们构建一个 Agent 来查询任务状态、分配负责人。

第一步:定义数据源

lowdefy: 4.5.0
connections:
  - id: project_api
    type: AxiosHttp
    properties:
      baseURL: https://api.example.com/v2
      headers:
        Authorization: Bearer ${PROJECT_API_KEY}

第二步:定义 Agent 和工具

config:
  agents:
    project-agent:
      type: OpenAI
      options:
        model: gpt-4o-mini
        temperature: 0.3
        systemPrompt: |
          你是项目助手,负责管理任务和里程碑。
          可用工具:
          - search_tasks: 按关键词搜索任务
          - get_task_detail: 获取单个任务详情
          - assign_task: 分配任务给成员
          - get_milestones: 查询项目里程碑进度
          每次使用工具后向用户说明结果。
        tools:
          - type: Request
            id: search_tasks
            properties:
              method: POST
              url: /tasks/search
              body:
                keyword:
                  _user: prompt
          - type: Request
            id: get_task_detail
            properties:
              method: GET
              url:
                _payload: /tasks/${id}
          - type: Request
            id: assign_task
            properties:
              method: PATCH
              url:
                _payload: /tasks/${taskId}
              body:
                assignee:
                  _user: assignee
          - type: Request
            id: get_milestones
            properties:
              method: GET
              url: /milestones

这里的关键设计是 _user_payload 变量——Agent 在执行工具调用时会自动从对话中提取参数值填充到这些位置。

第三步:创建 Agent 页面

pages:
  - id: project
    type: PageHeaderMenu
    properties:
      title: 项目助手
    blocks:
      - id: header
        type: Title
        properties:
          content: AI 项目助手
          level: 2
      - id: agent_chat
        type: AgentChat
        properties:
          agentId: project-agent
          placeholder: 例如:搜索与"登录模块"相关的任务
          welcomeMessage: |
            你好!我是项目助手。你可以:
            - 搜索任务:"有哪些未完成的 bug 修复任务?"
            - 查看详情:"查看 TASK-123 的详情"
            - 分配任务:"把 TASK-456 分配给张三"
            - 查看进度:"当前里程碑完成情况如何?"
      - id: results_table
        type: Table
        properties:
          columns:
            - field: id
              title: 任务 ID
            - field: title
              title: 标题
            - field: status
              title: 状态
            - field: assignee
              title: 负责人
            - field: priority
              title: 优先级
        events:
          onAgentResult:
            - id: update_table
              type: SetState
              params:
                results:
                  _agent: lastResult

AgentChat 是 v5.3 新增的组件,专门用于 AI Agent 的对话交互。它支持自动将 Agent 的决策结果映射到页面其他组件——比如上例中,Agent 查到的任务列表会实时更新到 Table 组件中。

更高级的用法:工具审批流

对于涉及修改数据的敏感操作,Lowdefy v5.3 支持工具调用确认机制:

config:
  agents:
    project-agent:
      options:
        requireConfirmation: true
        confirmationPrompt: |
          确认执行以下操作:
          工具:{{toolName}}
          参数:{{toolParams}}
      tools:
        - type: Request
          id: delete_task
          requireConfirmation: auto
          properties:
            method: DELETE
            url:
              _payload: /tasks/${id}

当 Agent 决定调用 delete_task 时,会先弹出一个确认对话框,用户可以选择允许或拒绝。requireConfirmation 可以设为 true(全部确认)、false(全部自动)或 auto(高风险操作确认,低风险直接执行)。

部署

Lowdefy 应用可以部署到任何 Node.js 环境:

npx lowdefy@latest build

npx lowdefy@latest start

docker run -p 3000:3000 \
  -v ./lowdefy.yaml:/app/lowdefy.yaml \
  lowdefy/lowdefy:latest

环境变量(如 OPENAI_API_KEYPROJECT_API_KEY)通过 .env 文件或系统环境变量配置,不会提交到代码仓库。

为什么选择 Lowdefy 而非纯代码方案?

维度Lowdefy v5.3纯代码 (LangChain + FastAPI)
学习成本YAML 基础即可需掌握 Python/Node + 框架 API
开发速度30 行 YAML = 一个可用 Agent至少 200 行样板代码
前端界面内置 50+ 组件(Table/Form/Chart)需额外开发前端
工具管理YAML 配置即插即用需手动注册和映射
部署单文件 + Docker 一行命令需配置前后端分离部署

当然,Lowdefy 更适合中等复杂度的内部工具和原型。如果你的 Agent 需要高度定制的逻辑(如多 Agent 协作、复杂的状态机),LangChain 等框架的灵活性更强。

小结

Lowdefy v5.3 的 AI Agent 特性让开发者可以用极低的成本把一个 YAML 文件变成完整的 AI 交互应用。对团队来说,这意味着:

  • 产品经理可以看懂和修改 Agent 的行为定义
  • 后端 API 无需改造即可成为 Agent 工具
  • 一个配置文件同时管理 UI 和 Agent 逻辑

如果你已经在维护一套 Lowdefy 应用,升级到 v5.3 并在现有页面上加一个 AgentChat 组件只需要 10 分钟。如果你从未接触过 Lowdefy,花半小时跑通上面的示例,你会对”配置即应用”的开发方式有全新的认识。

项目地址github.com/lowdefy/lowdefy(2968 stars | MIT 协议) 官方文档lowdefy.com Agent 文档lowdefy.com/articles/lowdefy-agents

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。