2025年,都知道智能体会爆发,然而,即将爆发的智能体会长成什么样子?
它不再只是一个“对话界面”那么简单,也不再将是“给你一项任务,去完成吧”的人类主动发起的各种工具调用(滚动聊天界面),而是一个真正意义上的自发发起任务,自动执行,但会在关键环节提醒人类进行批准确认的高级智能。
这一点不再是空穴来风,已经有玩家开始入场做尝试了,就在刚刚,一个名为Humanlayer的产品在圈内走红,它能让AI代理联系人类,让AI真得像得力助手一样,只需要批准确认就行。重点在于,它会主动联系你,获取你的反馈、意见和建议以及审批。
从Demo效果看,非常震撼!
多说一嘴,Humanlayer免费可用,且已经放到了Github上:
https://github.com/humanlayer/humanlayer?tab=readme-ov-file
并且提供了免费套餐和透明的基于使用量的定价,等不及的朋友可以可以通过提供的Python或TypeScript SDK进行尝试,立即可以免费试用。
严格意义上讲,Humanlayer还不能称之为产品,更多是一个API或者Python工具包,它可以让自己的AI系统能够安全地部署到生产环境中。
创始人Dex介绍,真正令人兴奋之处在于,“它让团队能够部署那些原本风险过高的AI系统,让你能够专注于构建强大的代理,同时知道关键步骤将始终有人类参与。当人们开始将动态人类监督视为生产AI系统中的关键要素,并因此考虑更大的格局时,这真是太棒了。”
Dex这个项目的起始原因是这样一个智能体落地企业的痛点——在生产环境使用或落地大模型时,也经常会遇到类似的问题。
“这一切始于我们为数据团队构建AI代理的时候,我们想要自动化一些繁琐的任务,比如删除未使用的表格,但客户理所当然地会反对让AI代理直接访问生产系统。”
想要让AI达到“生产级”的可靠性,取决于“AI所执行的任务有多危险”。但问题就在于时间成本是很昂贵的,Dex团队没有3个多月的时间来进行评估、微调和提示工程,以达到代理99.9+%的可靠性。即使做到了,让决策者放心地按下开关也是一项挑战。
后来,Dex构建了一些基本的审批流程,比如“在删除表格前在Slack中询问”。
但这种沟通本身也需要规范——如果代理联系错了人怎么办?如果一个团队负责人购买的工具向CEO发送了一条烦人的Slack消息,他会怎么想?
后来,客户希望代理向利益相关者请求批准,有意思的是,客户首先想要批准的恰恰是“请求批准”这一行为本身。基于此,Dex开始思考:作为产品构建者和所有者,我也想批准“请求批准‘请求批准’”这一行为!
紧接着,Dex团队搭建了一个人机交互系统,可以在他和客户的Slack实例中处理上述这些情况。这件事情让Dex确信任何构建AI代理的团队都需要这种基础设施,并决定将其作为一个独立产品来打造。
“我在旧金山的一次AI聚会上展示了最小可行性产品(MVP),并进行了很多精彩的交流,然后全身心投入到HumanLayer的构建中。”
大家都知道,功能和工具是Agentic工作流的关键组成部分。它们使大语言模型(LLMs)能够与外界进行有意义的交互,并自动化执行广泛且具有影响力的工作。对于执行诸如预约、与客户互动、管理账单信息、编写和执行代码等有意义任务的AI代理而言,正确且准确的功能调用至关重要。
然而,我们能为LLMs提供的最有用的功能也是最具风险的。我们都能想象到一个AI数据库管理员不断调优和重构我们的SQL数据库所带来的价值,但大多数团队不会允许LLM在生产数据库上执行任意SQL语句(甚至我们大多数时候都不允许人类这么做)。
也就是说:即使拥有最先进的代理推理和提示路由技术,LLMs在没有人类监督的情况下访问高风险功能仍然不够可靠。
首先,Dex团队定义了生产环境下什么功能是高风险的?以下是一些示例:
低风险:访问公共数据的读取权限(例如搜索维基百科、访问公共API和数据集)低风险:与代理作者通信(例如,工程师可能会授权一个代理向他们发送包含进度更新的私人Slack消息)中风险:访问私有数据的读取权限(例如读取电子邮件、访问日历、查询CRM)中风险:在严格规则下通信(例如,根据特定序列的硬编码电子邮件模板发送邮件)高风险:代表我个人或公司通信(例如发送电子邮件、在Slack上发布消息、发布社交/博客内容)高风险:对私有数据的写入权限(例如更新CRM记录、修改功能开关、更新账单信息)
Dex分析认为,高风险功能是最有价值且自动化人类工作流程影响最大的功能,但它们也是“90%准确率”不可接受的功能。当今大语言模型(LLMs)倾向于产生幻觉或生成低质量的、明显由AI生成的文本,这进一步影响了可靠性。
团队越早能让代理以高质量输入可靠且安全地调用这些工具,他们就能越早获得巨大收益。
HumanLayer就是围绕能够确定性地保证对高风险功能调用的人类监督,提供了一套工具。即使LLM出现错误或产生幻觉,HumanLayer也已经嵌入到工具/功能本身中,确保人类在这个“工具调用循环”中。
源自Medium,Louis Dupont的“工具调用循环”概念
当你集成HumanLayer SDK时,你的AI代理可以在其执行的任何阶段请求人类批准。我们通过人们偏好的渠道(Slack或电子邮件,SMS和Teams也即将推出)处理将这些请求路由给正确的人的所有复杂性,在等待回复时管理状态,并提供完整的审计轨迹。
除了“请求批准”之外,我们还支持一个更通用的“人类作为工具”功能,该功能可以暴露给LLM或代理框架,并处理收集人类对于一般问题(如“我在上遇到了困难,我已经尝试了THINGS,请提供建议”)的回复(有时我们为后台自动化推出的内部代理会收到这样的消息)。
由于它位于工具调用层,HumanLayer的SDK可以与任何AI框架(如CrewAI、LangChain等)以及任何支持工具调用的语言模型一起工作。如果你正在构建自己的代理/工具循环,你可以使用更低级别的SDK原始类型来按你的需求管理审批。我们甚至正在探索HumanLayer用于人与人之间审批的用例,而不仅仅是AI到人类。
HumanLayer通过将人类纳入循环中,代理工具可以获得访问更强大且更有意义的工具调用和任务的能力。
对于目前主流的大语言模型(如OpenAI、Llama、Claude等)和框架(如LangChain、CrewAI等),AI代理提供安全访问世界的能力。
总结来说,HumanLayer提供了这五项关键功能:
(1)要求函数调用需人类批准:@hl.require_approval()装饰器会阻止特定函数调用,直到咨询过人类——如果被拒绝,反馈将被传递给LLM
(2)人类作为工具:通用的hl.human_as_tool()允许联系人类以获取答案、建议或反馈
(3)全渠道联系:通过Slack、电子邮件、Discord等多种渠道联系人类并收集回复
(4)精细路由:将审批路由到特定团队或个人
(5)自带LLM和框架:由于HumanLayer是在工具层实现的,它支持任何LLM以及所有支持工具调用的主要编排框架。
在“需要人类基准”和“人类作为工具”之间,HumanLayer提到了下一代AI代理——自主代理,而HumanLayer只是拼图中的一块。
第一代Agent:聊天——人类发起的问答界面
第二代Agent:代理助理——框架驱动提示路由、工具调用、思维链和上下文窗口管理,以获得更高的可靠性和功能。大多数工作流程都是由人类通过一次性“这是一个任务,去完成吧”或滚动聊天界面发起的。
第三代Agent:自主代理——不再由人类发起,代理将生活在“外循环”中,使用各种工具和功能来推动实现其目标。人类/代理通信是由代理发起,而不是由人类发起。
第三代自主代理将需要方法以在各种任务中向人类咨询意见。为了使这些代理能够执行实际且有用的工作,它们将需要人类对敏感操作进行监督。
这些代理将需要方法通过聊天、电子邮件、短信等多种渠道联系一个或多个人类。
HumanLayer目前已经有了一些很酷的使用方式,销售、新闻、运维等领域已经有了不错的案例。
有客户用它构建了一个AI销售发展代表(SDR),它起草个性化的销售电子邮件,但在向潜在客户发送任何内容之前,会在Slack中请求人类批准。
另一个客户使用它来支持一个AI新闻简报,订阅者可以与内容进行电子邮件对话。HumanLayer负责接收入站电子邮件,并将其路由给能够回复的代理,并为这些代理提供回复工具。
此外,一个团队使用HumanLayer构建了一个面向客户的DevOps代理——他们的AI代理审查拉取请求(PRs),计划和执行数据库迁移,同时在关键步骤获得人类批准,并在遇到任何问题时联系团队进行指导。
虽然这些代理的早期版本可能在技术上“由人类启动”,例如通过cron作业或类似机制定期启动,但最好的版本将能够自行管理日程安排和成本。这将需要用于检查成本的工具包以及类似于sleep_until的功能。
它们需要在能够跨可能数小时或数天不返回的工具调用持久序列化并恢复代理工作流程的编排框架中运行。这些框架需要支持由“管理型LLM”进行的上下文窗口管理,并允许代理分叉子链以处理专门的任务和角色。
创始人Dex表示:我们承认现在还处于早期阶段,欢迎大家就Agent、可靠性和平衡人类与AI工作量方面的想法和经验进行交流。
此外,HumanLayer提供了免费套餐和灵活的基于积分的定价。对于构建面向客户的代理的团队,还可以获得白标、额外功能和优先支持,可谓诚意满满。
安装操作很简单,等不及想将HumanLayer集成到你的系统中的朋友,不妨一试:
复制
pip install humanlayer
复制
from humanlayer import HumanLayer
hl = HumanLayer()
@hl.require_approval()
def send_email(to: str, subject: str, body: str):
"""Send an email to the customer"""
# made up function, use whatever
# tool-calling framework you prefer
run_llm_task(
prompt="""Send an email welcoming the customer to
the platform and encouraging them to invite a team member.""",
tools=[send_email],
llm="gpt-4o"
最后多提一句,大洋彼岸的OpenAI CEO奥特曼、国内百度李彦宏近期都表态押注了智能体的方向,相信属于开发者的大模型应用时代正在悄然到来!