今天的Agent框架虽然功能强大,但对于没有编程经验的客户服务专业人员来说却过于复杂。这些框架如AutoGen、LangGraph、CrewAI等通常将Agent声明嵌入到复杂的Python代码中,使整体工作流程难以把握,门槛过高。对于仅需构建带有业务逻辑的客服聊天机器人的非技术人员而言,这些框架犹如天书,让他们望而却步。
ADL:Agent声明式语言
ADL(Agent Declarative Language)是一种专为构建基于代理的聊天机器人而设计的声明式语言,它彻底改变了Agent开发的游戏规则。这种语言秉持"定义什么是代理及其交互方式,而非如何实现"的原则,将Agent的定义从代码实现中分离出来。ADL通过这种抽象层次,让底层多代理系统(MAS)能够自动优化代理执行,无需当MAS变更时手动重新编程。来自UCSB加州大学芭芭拉分校的研究者也开源了代码:https://github.com/Mica-labs/MICA
核心设计理念:让自然语言成为编程主力
ADL将自然语言编程放在设计核心,这一大胆举措有着深远意义:
- 易于学习
:自然语言更易于没有编程经验的专业人员理解和使用
- 利用LLM优势
:随着LLM能力不断增强,它们能够准确理解和执行用自然语言编写的知识和逻辑
- 处理复杂交互
:使用传统编程语言的控制流来硬编码所有可能的用户交互既耗时又几乎不可能完成
这种新范式下,设计者只需提供高级指令和特定领域知识,由语言模型处理用户交互的复杂性。
与传统框架的鲜明对比
如图所示,ADL与OpenAI/Swarm在实现相同功能(航班变更助手)时有着天壤之别:
- Swarm方法
:将Agent声明直接集成到Python代码库中,虽然允许轻松访问Python库,但增加了复杂性
- ADL方法
:将Agent声明与代码库分离,保持声明的简洁性,同时将Python实现封装在单独的文件中
这种架构差异体现了ADL"声明式"与"实现式"的根本区别,使Agent定义更加清晰可见。
MICA:ADL的开源实现
研究者已经开发并开源了MICA(Multiple Intelligent Conversational Agents),这是ADL的实际实现系统。MICA提供了一种直观的方式来设计和部署基于ADL的聊天机器人,它能够:
-
将ADL文件转换为可执行的代码
-
提供友好的用户界面进行编辑和测试
-
降低非技术人员的入门门槛
对于想要快速创建自定义聊天机器人的业务专家来说,MICA使他们能够专注于业务逻辑而非技术细节。MICA的设计理念与ADL一致,强调声明式编程和自然语言理解,为创建多代理系统提供了一个简化的框架。
ADL的四种Agent类型详解
ADL包含四种类型的Agent,每种都有特定用途和结构:
- KB Agent
(知识库Agent):处理信息检索和问答任务
- LLM Agent
:通过提示编程编码领域知识和约束
- Flow Agent
:提供类似传统编程语言的流程控制
- Ensemble Agent
:协调其他Agent
这种分类方法既保持了功能的专一性,又提供了足够的灵活性来满足各种复杂场景的需求。
基础Agent结构:共同属性与独特特性
所有Agent都有一些基本字段:
- type
:定义Agent类型
- description
:对Agent的一般描述
- args
(可选):包含与Agent相关的参数
每种Agent还有各自的"body"来解释其逻辑,这取决于Agent的类型而有不同的描述方式。这种设计使得ADL既保持了语法的一致性,又为不同类型的Agent提供了足够的灵活性。
ADL示例:简单问候Agent和产品客服Agent
下面是两个ADL定义示例,展示了ADL的语法和结构:
示例1:简单问候Agent
# 定义一个简单的问候Agent
greeter:
type:llmagent
description:一个友好的问候agent
prompt:|
你是一个友好的助手,专门负责向用户问好。
使用中文回复,保持简短、友好。
如果用户告诉你他们的名字,要记住并在以后的对话中使用。
memory:true
# 定义主入口
main:
steps:
-call:greeter
示例2:产品客服Agent系统
# 产品信息Agent
product_agent:
type:llmagent
description:提供产品信息的agent
prompt:|
你是一个产品专家,了解我们所有的智能家居产品信息。
产品信息:
-智能音箱:399元,支持语音控制、音乐播放
-智能灯泡:99元,可调亮度和颜色
-智能插座:129元,支持定时和远程控制
-智能门锁:1299元,支持指纹和密码
请专业且友好地回答用户关于产品的问题。
如果用户询问你不知道的产品,请告诉他们我们目前没有该产品。
memory:true
# 入口Agent
customer_service:
type:ensembleagent
contains:
-product_agent
description:智能家居产品客服
steps:
-bot:您好!我是智能家居产品客服。请问有什么可以帮您?
# 主入口
main:
steps:
-call:customer_service
从上面的例子可以看出,ADL使用YAML格式定义Agent,结构清晰且易于理解。即使是没有编程背景的人也能快速掌握如何创建自己的Agent。
KB Agent:知识检索的专家
KB Agent专为执行信息检索和问答而设计,给定信息源后,它能自动搜索相关信息并返回答案。这些源可以包括PDF、DOC、TXT、CSV、URL等各种格式,而faq字段则存储常见问题及其对应答案。
KB Agent的优势:
- 简单直接
:无需复杂的逻辑流程设计
- 专注性强
:理想的知识密集型任务处理工具
- 适合客服场景
:从企业知识库或FAQ文档中提取信息回答问题
LLM Agent:自然语言处理的核心
LLM Agent通过提示编程编码领域知识和约束,并可以利用在uses子句中声明的工具调用用Python编写的函数。
构建LLM Agent需要提供:
- 简短介绍
(description字段)
- 详细指令
(prompt字段)
- 工具名称
(如适用)
这种设计充分利用了LLM的强大能力,同时通过结构化的字段定义保持了可控性和可维护性。LLM Agent的灵活性使其能够处理复杂的对话场景和业务逻辑,成为ADL中最强大的Agent类型之一。
实际运行效果展示
下面是使用ADL定义的Agent的实际运行效果:
上下滑动查看更多
Slide left and right to see more
问候Agent交互示例
===== 测试简单问候Agent =====
用户: 你好!
Agent: 你好!很高兴见到你!😊 你今天过得怎么样?
用户: 我叫小明,很高兴认识你
Agent: 小明你好!很高兴认识你~✨ 我会记住你的名字的!今天有什么可以帮你的吗?
用户: 今天天气怎么样?
Agent: 小明,我其实看不到外面的天气呢~ 🌤️ 不过你可以告诉我你在哪个城市,我可以帮你查查天气预报哦!或者你今天有什么特别的活动安排吗?
产品客服Agent交互示例
===== 测试产品客服Agent =====
用户: 你们有什么产品?
Agent: 您好!我们目前提供以下智能家居产品:
1. **智能音箱** - **399元**
- 支持语音控制、音乐播放
- 可与其他智能设备联动
2. **智能灯泡** - **99元**
- 可调节亮度和颜色(1600万色可选)
- 支持APP或语音控制
3. **智能插座** - **129元**
- 支持定时开关和远程控制
- 兼容主流家电
4. **智能门锁** - **1299元**
- 支持指纹、密码开锁
- 具备防撬报警功能
如果您对某款产品感兴趣,可以告诉我,我会为您详细介绍! 😊
用户: 智能灯泡多少钱?
Agent: 您好!我们的**智能灯泡**售价是 **99元** 💡
**产品亮点:**
✅ **可调亮度**(适合不同场景)
✅ **1600万色可选**(随心切换氛围)
✅ **语音/APP控制**(兼容主流智能音箱)
✅ **节能耐用**(LED光源,寿命长)
需要了解具体功能或购买方式吗? 😊
用户: 你们有智能冰箱吗?
Agent: 您好!目前我们**暂时没有**智能冰箱产品。
不过,我们现有的智能家居设备(如**智能插座、智能音箱**)可以与其他家电联动,提升使用体验。如果未来推出智能冰箱,我们会第一时间通知您! 😊
您是否对其他产品感兴趣?我可以为您详细介绍~
交互式客服会话
开始交互式会话 (输入'退出'结束)
Agent: 您好!我是智能家居产品客服。请问有什么可以帮您?
用户: 介绍一下智能插座
Agent: 当然!很高兴为您详细介绍我们的**智能插座**。
### **产品名称:智能插座**
**价格:129元**
### **核心功能:**
1. **远程控制**:通过手机APP(支持iOS/Android)随时随地控制家中电器开关,即使不在家也能轻松管理。
2. **定时开关**:可设置定时任务,比如让电饭煲定时煮饭、空调提前开启等,省电又省心。
3. **电量统计**:实时监测电器用电量,帮助您优化家庭用电习惯,节能环保。
4. **语音联动**:兼容主流智能音箱(如天猫精灵、小爱同学等),支持语音控制,比如"小爱同学,关闭客厅插座"。
5. **安全防护**:过载保护、防雷设计,保障家庭用电安全。
### **适用场景:**
✅ 控制空调、电热水器等大功率电器
✅ 定时开关灯、鱼缸等设备
✅ 远程管理路由器、充电器等,避免长期通电
### **安装与兼容性:**
- 即插即用,无需复杂设置,适配标准86型插座面板。
- 支持2.4GHz Wi-Fi(需确保家庭网络覆盖)。
如果您对智能插座还有其他疑问,或者需要搭配其他智能设备使用,欢迎随时咨询! 😊
从这些交互示例可以看出,基于ADL定义的Agent能够提供专业、友好且信息丰富的回复,并能记住用户名称等上下文信息,展现了非常优秀的用户体验。
Flow Agent:传统流程控制的桥梁
Flow Agent提供类似传统编程语言的流程控制,但使用YAML形式。虽然Flow Agent不太声明式,但它确保机器人和用户之间的所有交互都严格遵循预定义的流程,这对于需要严格流程的金融、医疗等领域尤为重要。
Flow Agent包含:
- 用户步骤
:定义用户输入的处理方式
- 机器人步骤
:定义机器人的回复内容
- 控制结构
:包括条件判断、循环等
这种结构化的对话流程设计使得业务逻辑清晰可见,便于审查和修改,特别适合有严格合规要求的行业应用。
Ensemble Agent:多Agent协调的指挥官
Ensemble Agent确定给定用户输入和对话上下文下应该响应的Agent。在多代理系统中,需要一个调度策略来管理谁响应什么,Ensemble Agent就扮演这一角色。
ADL允许不同的协调策略:
- 简单轮询
- 基于规则的分配
- 上下文感知调度
实际上可以在prompt字段中使用自然语言描述这些策略。这种灵活性使得复杂的多代理系统能够协同工作,为用户提供连贯一致的体验。
"main" Agent:程序的入口点
与编程语言类似,ADL需要一个明确的入口点。ADL定义了一个特殊关键字"main",表示声明聊天机器人初始化过程的唯一代理。它可以是名为main的任何类型的代理(流代理、整体代理、LLM代理或KB代理),这种设计使得ADL程序的启动过程清晰明了,避免了歧义和混淆。
main Agent通常负责初始设置和代理选择,确保对话从正确的起点开始。
与外部服务的无缝接口
ADL支持与外部服务交互,这可以通过多种方式实现:
- 自定义函数
:从数据库、API等源检索信息或更新内部状态
- 工具调用
:在LLM代理内集成自定义函数
- 第三方代理
:通过标准化接口在必要时接管对话
这些接口机制极大地扩展了ADL的能力范围,使其能够处理更复杂的实际业务场景和需求。
自定义函数:扩展ADL的能力
在Agent声明中提到的所有函数都必须有相应的Python实现。ADL使用关键字"tools",后跟一个文件名列表,来导入所有相关的Python脚本。
自定义函数必须遵循特定格式,以便调用者能正确解释函数的参数和返回值,这种设计使得函数调用过程透明且一致,减少了错误和歧义的可能性。
自定义函数为ADL提供了扩展性,使聊天机器人能够:
-
与企业现有系统和数据库集成
-
执行复杂的业务操作
-
访问外部API和服务
工具调用:LLM与外部功能的桥梁
工具调用发生在LLM代理需要调用外部函数时,在这种情况下,函数名应该在LLM代理的提示中明确提及。ADL会读取Python代码并将其转换为LLM所需的格式,无需显式编写符合严格规范的函数请求。
这种自动转换机制大大简化了工具调用的过程,降低了开发人员的负担和出错的可能性。工具调用使LLM Agent能够执行超出语言模型能力范围的操作,如数据库查询、API调用或复杂计算。
第三方代理:扩展ADL的生态系统
ADL在未来可以扩展支持第三方代理,通过利用自定义函数,ADL可以直接支持在执行期间不与用户交互的第三方代理。
对于交互式代理,可以通过在现有四种代理类型中添加另一种代理类型(外部代理)来实现,这将使与外部代理共享对话上下文和状态的方式与内部代理类似。
这种可扩展性为ADL创建了一个开放的生态系统,使其能够与各种专业服务和工具集成。
实际应用案例
研究者提供了多个ADL的实际应用案例,展示了其在不同场景下的适用性和灵活性:
- 购物助手
:处理订单、配送和折扣逻辑的电商聊天机器人
- 知识库应用
:使用KB Agent处理文档检索和常见问题解答
- 零售银行服务
:处理严格的金融业务流程和安全要求
这些案例为不同行业的开发者提供了参考和灵感,帮助他们快速理解和应用ADL。
案例研究:自然语言Shell命令器
图示对比了使用ADL和传统编程语言实现自然语言Shell命令器的方法:
- 传统方法
:将自然语言理解作为程序的一个组件,通过常规编程显式管理所有其他控制逻辑
- ADL方法
:使用自然语言提示包含所有控制逻辑,只将运行命令部分留给Python程序
这种对比鲜明地展示了ADL的声明式特性和简洁性,以及它如何减少样板代码和复杂控制流。这个案例展示了ADL如何简化自然语言界面的开发,使创建交互式命令行工具变得更加直观和高效。
案例研究:零售银行机器人
研究者详细介绍了在ADL中实现Rasa(一个知名的开源对话AI框架)启动包中的零售银行机器人。这个机器人包括多种功能:
- 资金转账
- 余额查询
- 管理收款人
- 阻止卡片
等
这个案例研究展示了ADL如何处理复杂的业务逻辑和工作流程,同时保持代码的简洁性和可读性,这对于需要频繁调整业务规则的金融行业尤为重要。
通过对比ADL和传统方法的实现,可以清楚地看到ADL在降低开发复杂度和提高可维护性方面的优势。
ADL的开发工具与生态系统
除了语言本身,ADL还提供了一套开发工具和生态系统,帮助开发者更高效地创建和管理聊天机器人。
MICA的GUI界面功能丰富:
- 实时编辑和测试
- 从本地加载预构建的机器人模板
- 状态跟踪
功能监控对话状态和代理参数
这些工具大大降低了ADL的学习曲线,使非技术人员也能参与到聊天机器人的开发中来。在企业环境中,这意味着业务部门可以更直接地参与客服机器人的设计和优化,减少了沟通成本和开发周期。
语言规范:确保一致性和互操作性
ADL 1.0是一种符合YAML规范的描述性语言,完整的ADL程序由多个代理对象组成。ADL将继续发展其与工具调用、第三方代理和外部资源的接口,通过诸如模型上下文协议(MCP)等协议。
这确保了ADL代码在不同环境和系统中的一致性和互操作性,增强了其长期价值和适用性。标准化的语言规范也为工具开发和社区贡献创造了条件,为ADL的长期发展奠定了基础。
写在最后:ADL对Agent开发的影响
ADL是一种简单、声明式的语言,旨在为面向任务的聊天机器人提供多代理系统的清晰定义。通过利用自然语言编程,ADL使领域专家能够在不需要广泛编程专业知识的情况下开发和管理复杂的对话系统。
这种设计理念使得构建智能聊天机器人变得前所未有的简单和高效,为非技术背景的人员提供了一个功能强大却易于使用的Agent开发工具,这可能对整个智能助手和客服行业产生深远影响。
一、大模型风口已至:月薪30K+的AI岗正在批量诞生
2025年大模型应用呈现爆发式增长,根据工信部最新数据:
国内大模型相关岗位缺口达47万
初级工程师平均薪资28K(数据来源:BOSS直聘报告)
70%企业存在"能用模型不会调优"的痛点
真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!
二、如何学习大模型 AI ?
🔥AI取代的不是人类,而是不会用AI的人!麦肯锡最新报告显示:掌握AI工具的从业者生产效率提升47%,薪资溢价达34%!🚀
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工
📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
* 大模型 AI 能干什么?
* 大模型是怎样获得「智能」的?
* 用好 AI 的核心心法
* 大模型应用业务架构
* 大模型应用技术架构
* 代码示例:向 GPT-3.5 灌入新知识
* 提示工程的意义和核心思想
* Prompt 典型构成
* 指令调优方法论
* 思维链和思维树
* Prompt 攻击和防范
* …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
* 为什么要做 RAG
* 搭建一个简单的 ChatPDF
* 检索的基础概念
* 什么是向量表示(Embeddings)
* 向量数据库与向量检索
* 基于向量检索的 RAG
* 搭建 RAG 系统的扩展知识
* 混合检索与 RAG-Fusion 简介
* 向量模型本地部署
* …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
* 为什么要做 RAG
* 什么是模型
* 什么是模型训练
* 求解器 & 损失函数简介
* 小实验2:手写一个简单的神经网络并训练它
* 什么是训练/预训练/微调/轻量化微调
* Transformer结构简介
* 轻量化微调
* 实验数据集的构建
* …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
* 硬件选型
* 带你了解全球大模型
* 使用国产大模型服务
* 搭建 OpenAI 代理
* 热身:基于阿里云 PAI 部署 Stable Diffusion
* 在本地计算机运行大模型
* 大模型的私有化部署
* 基于 vLLM 部署大模型
* 案例:如何优雅地在阿里云私有部署开源大模型
* 部署一套开源 LLM 项目
* 内容安全
* 互联网信息服务算法备案
* …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】