摘要:随着 AI 代理能够智能地与外部应用程序进行交互,它们有望成为现代企业工作流程中不可或缺的一部分。AI 代理不再与外界隔绝,而是承载着处理传统上需要人工干预的任务的希望,从而实现重复性和大规模任务的自动化。代理自动化的应用案例可能包括:
随着 AI 代理能够智能地与外部应用程序进行交互,它们有望成为现代企业工作流程中不可或缺的一部分。AI 代理不再与外界隔绝,而是承载着处理传统上需要人工干预的任务的希望,从而实现重复性和大规模任务的自动化。代理自动化的应用案例可能包括:
HR 入职管理: AI 代理可以为新员工在 Slack、Jira 和 Trello 等应用程序中创建账户,并在员工离职时自动停用账户。
项目管理同步: AI 代理能够连接 Jira 与 Asana 等工具,更新任务状态和同步项目时间表,均无需人工干预。
IT 帮助台自动化: AI 代理能够自主重置密码、管理用户权限以及开通新的软件账户,从而减轻 IT 团队的负担。
对于大型企业来说,大规模自动化不仅能节省数百万美元的运营成本,还能因减少停机时间和人工错误引发的安全漏洞而带来更大收益。
代理自动化面临的挑战
尽管基于代理自动化的应用潜力几近无限,但要将这一愿景变为现实却一直充满挑战,尤其是在身份和访问管理方面。一些身份管理方面的难题包括:
开发和集成复杂性: 大多数企业工作流程依赖于无数 B2B SaaS 平台,例如用于任务管理的 Jira、用于沟通的 Slack 和用于 CRM 的 HubSpot。 为了让 AI 代理执行其职责,它必须能够以单个用户的身份对这些系统进行身份验证并代表用户进行交互。虽然身份验证对普通用户来说可能很简单,但对于代理自动化的开发者而言,这往往意味着需要处理一次性极其复杂的集成和 OAuth 流程,每个环节都有各自的安全顾虑。随着多个第三方应用的介入,这种复杂性呈指数增长。
安全与访问控制: 企业在没有明确了解安全风险、数据访问边界以及 OAuth 令牌管理机制——包括信息在用户、代理与第三方应用之间如何流动的情况下,可能会对采用 AI 代理持谨慎态度。 Frontegg(一个低代码客户身份与访问管理(CIAM)解决方案)的 CEO Sagi Rodin 在接受 VentureBeat 采访时表示:“我们发现安全部门非常担心采用 AI 代理,即便是一些基础的 AI 代理。他们会问代理凭据存储在哪里、令牌有效期多久,甚至是否可以自托管。如果无法回答这些问题,他们就不会批准开发此类产品。”
合规性与可审计性: 金融、公用事业和医疗等行业受到高度监管。对于许多应用场景而言,为了符合 SOX、HIPAA 和 GDPR 等监管要求,完整的 AI 代理交互审计日志是必须的。
CIAM 技术正迅速发展,许多业内提供商正在增加对软件实体(例如 AI 代理)的支持,力图解决部分上述难题。
为 AI 代理提供身份与访问管理
客户身份和访问管理(CIAM)正在成为一个不断增长的领域,Frontegg、Okta、Auth0(现为 Okta 的一部分)、Ping Identity 和 Stytch 等知名公司提供的解决方案主要负责用户身份验证以及对第三方应用的访问管理。 这些解决方案的职责包括在云应用和企业平台上协调单点登录(SSO)、多因素认证(MFA)以及基于角色的访问控制。迄今为止,这些方案主要聚焦于人类用户的身份和访问管理。然而,随着企业代理自动化迅速成为现实,CIAM 提供商正加快步伐,以应对自主 AI 代理所带来的独特需求。为了以人类用户的身份对第三方 B2B 应用进行身份验证和交互,AI 代理需要程序化和持续的访问权限,通常依赖于基于令牌的身份验证和复杂的 OAuth 流程。
Frontegg 最近发布的 Frontegg.ai 采取了端到端方案,针对需要集成多个 B2B 应用程序的复杂用例,提供开箱即用的解决方案。
在 Frontegg.ai 的仪表板上,用户只需花几分钟时间即可创建和配置 AI 代理及所有所需的第三方集成。身份验证界面的代码会自动为 Web 和移动应用生成,而平台则负责所有 OAuth 访问令牌的创建、刷新和删除。这一端到端的身份验证及授权功能可以仅通过几行代码直接集成到代理代码中。
Frontegg.ai 正开发的一项创新产品是一个分析支持代理,该代理能够根据不同业务角色的要求智能地从原始数据中创建可视化图表,并定期进行传达。其理念是用户无需手动访问门户配置仪表板,而可以在门户之外与 AI 代理互动,作为一名智能的分析助手。
Rodin 形容该平台为“为代理开发者提供的全栈体验,它涵盖了身份验证、集成、授权、安全和权利管理。该代理能够代表用户和组织行事,一切均可开箱即用。”
虽然 Frontegg.ai 在代理聚焦的身份管理领域率先发力,但它并不是唯一认识到企业 AI 代理潜力的公司。Rodin 预见到,无论是成熟的还是新晋的 CIAM 提供商,都将陆续增加对 AI 代理的支持。但他特别强调了 Frontegg 的端到端方法,即平台管理身份验证、访问控制和安全的所有环节,令开发者可以专注于构建具备企业级自动化能力的 AI 代理产品。
目前支持 AI 代理身份与访问管理的 CIAM 提供商包括:
Auth0 的 Auth for gen AI 此方案允许将多个第三方应用的账户关联到一个统一的档案中。用户只需一次身份验证,就可授权 AI 代理与所有已连接账户中的各个应用进行交互。令牌刷新和交换均可自动处理。
类似地,Composio AgentAuth 提供了类似的统一身份验证框架,用户仅需登录一次。第三方应用会通过 AgentAuth 仪表板添加,用户可自动配置应用并查看详细日志。
Descope 的 Outbound Apps 让开发者可以简单地使用提供的 SDK 将 AI 代理连接到超过 50 个第三方 B2B 应用程序中。Descope 不提供统一身份验证;相反,它允许用户自行选择登录哪些应用。所有身份验证和令牌管理均在幕后自动完成。
Ping 的 Identity Helix 提供类似的功能,但采取了不同的方式。它为 AI 代理分配了独立的唯一身份和第三方应用的权限,而非使用最终用户的凭据。
在支持超过 300 个第三方应用方面,Lumos 的 Integration Hub 通过利用 AI 为与 REST API 和第三方应用的集成生成代码,加速了开发过程。同时,它还配备了 Connector SDK,允许开发者使用任何语言来构建新的集成。虽然 Integration Hub 并非专为 AI 代理设计,但它可简化第三方应用整合到自动化业务流程中的过程。
尽管这些平台的方法各有不同,但它们的共同目标是简化身份与访问管理,这也是大规模部署 AI 代理面临的最大难题之一。
传统的 OAuth 工作流程
如果没有身份管理平台的帮助,将 AI 代理与一个或多个 B2B SaaS 平台集成往往十分复杂。正如 Rodin 所指出的,代理构建者需要“从零开始拼凑身份、第三方集成和安全措施,这导致开发周期缓慢,并阻碍实际生产环境的开发。”
每个 B2B 平台都有其自身的流程,但大体原则一致:用户登录后,需要获取一个 OAuth 访问令牌。此令牌用于认证 API 代理,使其能够代表用户执行操作。AI 代理的每个请求都必须包含该访问令牌。
以开发一个工作流程为例,该流程中 AI 代理在完成任务后发送 Slack 通知。
1.注册新应用 你的 AI 代理应用必须在 https://api.slack.com/apps 注册,并配置 OAuth 授权范围(权限),以获取对 Slack API 的访问。
2.引导用户访问授权 URL 为了代表用户执行操作,AI 代理必须获得用户的同意。为此,需要将用户引导至 Slack 授权页面,在该页面用户可以进行登录。
代码示例: from urllib.parse import urlencode params = { "client_id": "your-client-id", "scope": "chat:write,users:read", "redirect_uri": "https://yourdomain.com/callback/slack", } auth_url = f"https://slack.com/oauth/v2/authorize?{urlencode(params)}"
上述代码构建了 Slack 授权页面的 URL,其中的 redirect_uri 指定了用户登录后 Slack 重定向回你服务器上的回调 URL。
3.获取用户访问令牌 Slack 的响应会包含一个代码,该代码可用于获取用户访问令牌。
代码示例: import requests slack_token_url = "https://slack.com/api/oauth.v2.access" def exchange_code_for_token(code, client_id, client_secret, redirect_uri, token_url): response = requests.post(slack_token_url, data={ "grant_type": "authorization_code", "client_id": client_id, "client_secret": client_secret, "code": code, "redirect_uri": redirect_uri, }) return response.json
4.使用 Slack API 发送通知 获取访问令牌后,即可使用它代表用户进行经过身份验证的 API 调用。
代码示例: headers = { "Authorization": f"Bearer {slack_access_token}", "Content-type": "application/json", } payload = { "channel": "#general", "text": "The update of the employee table is complete.", } requests.post("https://slack.com/api/chat.postMessage", headers=headers, json=payload)
尽管大多数 B2B SaaS 应用程序都会采用类似的身份验证和访问流程,但具体步骤和语法可能各不相同。当需要集成多个第三方应用时,管理身份验证与访问任务会变得尤为繁琐。
使用 Frontegg.ai 实现端到端身份管理
Frontegg.ai 通过为常用的 B2B 应用(例如 Slack、Atlassian、Monday、GitHub 和 Google Workspace)内置连接,抽象了大部分集成流程。它负责处理身份验证和同意,并管理所有 OAuth 令牌,使开发者仅需几行代码即可为其 AI 代理实现身份和访问管理。
第三方 B2B 应用的配置均在 Frontegg.ai 仪表板中完成。从支持的应用列表中进行选择,并指定 AI 代理的权限。所有用于身份验证的前端代码将自动生成。一旦在仪表板中选定并配置了第三方应用,便可在你喜欢的 IDE 中通过导入并初始化 Frontegg AI SDK,将其连接到 AI 代理代码中。
代码示例: import os from frontegg_ai_python_sdk import ( Environment, FronteggAiClientConfig, FronteggAiClient ) config = FronteggAiClientConfig( environment = Environment.EU, # Or US, CA, etc. agent_id = os.environ[your_agent_id], client_id = os.environ[your_client_id], client_secret = os.environ[your_client_secret], ) client = FronteggAiClient(config)
再增加一行设置用户上下文: client.set_context(tenant_id = "your_tenant_id", user_id = "your_user_id")
现在,你的 AI 代理代码即可访问仪表板中配置的所有第三方应用的全部功能。所有身份验证、令牌管理和访问控制均由 Frontegg.ai 处理,当集成新的应用程序时,无需修改代码。通过调用 list_tools,可以列出 AI 代理在各个应用中的可用工具。
代码示例: tools = await client.list_tools
本例使用 CrewAI 和 Python;然而,Frontegg.ai 支持各种 AI 代理编排平台,包括 Langchain 和 AutoGen。Frontegg.ai 还内置支持 OpenAI、Anthropic、Google、Meta 和 Mistral 等大语言模型(LLMs)。
对于经验较少的开发者而言,借助 Frontegg MCP(该协议利用了由 Anthropic 开发的开放标准 Model Context Protocol,用于 AI 代理与外部工具之间的安全通信),认证、集成设置及代码可通过提示自动生成。
此外,无论是开发者还是非开发者,都可以使用 Frontegg Flows 这一低代码工作流工具,通过自然语言构建和管理复杂的身份工作流。生成的代码不仅可以导入你喜爱的 IDE,还可将应用部署在 AWS、Azure、Cloudflare 或 Vercel 等云平台上,亦可部署在像 Replicate 这样的专用 AI 平台上,或者在你自己的服务器上本地托管。
展望未来:面向代理自动化的 CIAM
为了让 AI 代理在企业工作流程中发挥有效作用,它们必须能够无缝地与企业现有的第三方 B2B 应用进行交互。身份及访问管理平台简化了身份验证与授权流程,缓解了实施代理自动化时最为显著的痛点之一。
技术领导者应评估诸如 Frontegg.ai 之类聚焦于 AI 代理的平台,从而判断其与企业现有基础设施及工作流程的契合度。率先提供安全可靠身份管理基础设施的厂商,或许将决定现代企业代理自动化的实施方式。
目前处于测试阶段的 Frontegg AI Agent Builder 可在公司官网免费使用,而订阅价格尚未公开发布。
来源:Pia科技