OpenAI 在 4 月份发布了三篇非常有参考意义的“AI 大师课”,初创公司、企业和开发人员都可以在其中找到深入的资源来加速 AI 的采用。
这三篇 AI 大师课分别是:
- 《企业中的人工智能》:25 页 PDF,介绍七家前沿公司的使用 AI 的经验教训
- 《构建人工智能代理的实用指南》:34 页 PDF,介绍 AI 代理到底能为员工做些什么
- 《识别和扩展人工智能用例》:34 页 PDF,介绍 AI 落地的三个原则与六大方向
本文分为四部分:
- 七家前沿公司的使用 AI 的经验教训
- OpenAI Agent 构建指南
- AI 落地的三个原则与六大方向
- OpenAI Agents SDK 接入 PPIO LLM API 教程
1.七家前沿公司的使用 AI 的经验教训
第一篇 AI 指南《AI in the Enterprise》 主要总结了摩根士丹利、Indeed、Klarna、Lowe’s、BBVA、Mercado Libre 以及 OpenAI 自身这 7 家前沿企业在采用 AI 技术时的经验和教训。
复杂的流程和系统是 AI 的最佳应用场景,而 AI 将在三个领域带来显著改进:提高员工工作效率、自动化常规操作、增强产品体验。
OpenAI 总结了七条企业采用 AI 的经验教训:
- **从评估开始:**使用系统化的评估流程,衡量模型在你的具体应用场景中的表现。
- **将 AI 融入产品:**打造全新的客户体验,实现更相关、更智能的互动。
- **立即启动,尽早投资:**越早开始,价值积累得就越快。
- **定制并调优模型:**根据具体需求调优 AI,可显著提升其价值。
- 让专家使用 AI 工具:最了解流程的人,最有能力用 AI 来改进它。
- 为开发者扫清障碍:自动化软件开发生命周期,有助于成倍释放 AI 的潜力。
- 设定大胆的自动化目标:大多数流程都包含大量重复性工作,非常适合自动化。目标要敢想、敢做。
AI 部署受益于开放、实验性的心态,以及严格的评估和安全防护措施。取得成功的公司并不是急于将 AI 模型注入每个工作流程,而是围绕高回报、低努力的用例达成一致,通过迭代学习,然后将这些经验应用到新的领域。
2.OpenAI Agent 构建指南
OpenAI 的第二份指南为产品和工程团队如何从零开始构建第一个智能代理。它总结了从多个客户部署中提炼出的最佳实践,提供了识别有前景的用例、设计代理逻辑和编排模式的框架,并强调了确保代理安全、可预测和高效运行的重要性。
OpenAI 对代理的定义是“一种能够独立完成任务的系统”。代理利用 LLM 进行工作流的管理和决策,并能够动态选择合适的工具与外部系统交互。
代理适合处理传统基于规则的自动化方法难以应对的复杂、多步骤任务。例如,在支付欺诈分析中,代理能够像经验丰富的调查员一样评估上下文、识别细微模式,并在没有明确规则被违反的情况下发现可疑活动。
代理特别适合以下场景:
- 复杂决策:涉及细微判断、例外情况或上下文敏感决策的工作流。
- 难以维护的规则:规则集庞大且复杂,更新成本高或容易出错的系统。
- 依赖非结构化数据:需要解释自然语言、从文档中提取意义或与用户进行对话式交互的场景。
代理由三个核心组件构成:**模型,**为代理提供推理和决策能力的LLM;**工具,**代理可以使用的外部函数或API,用于与外部系统交互;**指令,**明确指导代理行为的指南和限制。
以获取天气信息为例,用一段最简单的的代码来理解 Agent 就是:
weather_agent = Agent(
name="Weather agent",
instructions="You are a helpful agent who can talk to users about the weather.",
tools=[get_weather],
)
**构建代理的第一步,是选择合适的模型。**不同的模型在任务复杂性、延迟和成本方面各有优劣。OpenAI 建议从使用最强大的模型开始构建代理原型,以建立性能基线,然后尝试用更小的模型替换,以优化成本和延迟。
**构建代理的第二步,是定义工具。**工具通过 API 扩展代理的能力,分为三种类型:
- 数据工具:用于检索执行工作流所需上下文和信息,比如查询事务数据库或像 CRM 这样的系统、读取 PDF 文档、搜索网页。
- 行动工具:用于与系统交互以采取行动,比如发送电子邮件和短信、更新 CRM 记录、将客户服务工单转交给人工处理。
- 编排工具:代理本身可以作为其他代理的工具,比如退款智能体、研究智能体、写作智能体。
**构建代理的第三步,是配置指令。**高质量的指令对代理至关重要,能够减少模糊性并提高决策质量。
编写代理指令的三个最佳实践包括:
- **利用现有文档:**使用已有的操作流程、支持脚本或政策文件来创建适合LLM的指令。
- **细化任务步骤:**将复杂任务分解为更小、更清晰的步骤,以减少歧义,帮助模型更好地遵循指令。
- **明确操作定义:**确保每步操作都有明确的对应动作或输出,减少解释错误。
- 捕捉边缘情况:预见并处理用户可能提供的不完整信息或意外问题,包括条件步骤或分支以应对缺失信息。
构建代理的第四步,是编排模式。
编排模式分为单代理系统和多代理系统。单代理系统通过循环执行工作流,而多代理系统则通过多个协调的代理分布执行工作流。多代理系统可以采用“经理模式”(一个中央代理协调多个专业代理)或“去中心化模式”(多个代理平等地相互传递任务)。
单代理系统示例图
管理型模式与去中心化模式的实例图
**构建代理的第五步,是构建护栏(Guardrails)。**护栏是管理数据隐私风险、声誉风险等的关键组件。护栏可以是基于 LLM 的、基于规则的(如正则表达式)或 OpenAI 审核 API。护栏的类型包括相关性分类器、安全性分类器、PII 过滤器、审核工具和工具风险评估。
值得一提的是,在代理部署初期,人类干预是必要的,特别是在代理无法完成任务或执行高风险操作时。设置失败阈值和高风险行动触发器可以帮助在必要时将控制权转移给人类。
代理代表了工作流自动化的新时代,能够处理复杂决策、非结构化数据或脆弱的基于规则的系统。构建可靠的代理需要从强大的模型、明确定义的工具和清晰的指令开始,并根据复杂性逐步采用编排模式。护栏在每个阶段都至关重要,从输入过滤到工具使用再到人类干预,确保代理在生产环境中安全、可预测地运行。
3.AI 落地的三个原则与六大方向
第三篇 AI 指南的核心内容是关于如何识别和扩展人工智能的用例,以帮助企业在业务中实现AI的价值。
文章基于对 300 个成功 AI 实施案例、4000 多份采用调查以及超过 200 万商业用户的分析,提供了一套系统的方法论和实践指南,帮助组织找到并扩展能够带来明确价值的 AI 用例。
数据显示,AI 的普及速度远超互联网,39% 的美国成年人在短短两年内已经开始使用 AI,而互联网在前两年的普及率仅为 20%。AI 领导者在收入增长、股东回报和投资资本回报方面均优于同行。尽管 92% 的公司计划增加对 AI 的投资,但只有 1% 的公司认为其 AI 投资已达到完全成熟阶段。
这表明,许多组织仍需要指导来实现 AI 的实质性价值。
这篇 AI 指南提出了三个关键原则:
第一,AI应由领导层引领并鼓励。
第二,复杂的用例可能令人印象深刻,但往往进展缓慢。相反,赋予员工权力,让他们找到最适合他们的用例,通常是更快的成功路径。
第三,通过黑客马拉松、用例研讨会和同行主导的学习会议来鼓励采用,是许多客户的催化剂。
如何识别 AI 的机会?建议从三个关键领域入手:**重复性低价值任务、技能瓶颈与应对模糊性,**寻找可以立即通过 AI 改进的业务部分:
AI 可以接手诸如总结会议记录、查找电子表格数据中的趋势、生成产品需求文档等繁琐任务,也可以帮助员工在不需要其他部门或专家帮助的情况下,扩展他们的技能集,同时可以在知识工作中的模糊和开放式挑战中发挥催化作用,帮助生成想法、分析数据并提出下一步行动。
这篇 AI 指南在分析了超过600个用例后,总结出一个规律:大多数 AI 用例可以归为六个“原语”(即基础用例类型):内容创作、研究、代码、数据分析、创意与策略、自动化。
随着团队开始识别问题并找到解决方案,用例会迅速增加。此时,挑战从发现转向优先排序。建议使用影响/努力框架来帮助优先排序用例:
- 高投资回报率(ROI)焦点:快速获胜,具有强烈影响和低努力的项目,通常是开始建立势头的最佳起点。
- 自助服务:单个用户可能为特定任务启动的最低努力项目。
- 高价值/高努力:通常是变革性的,但需要更多时间、计划和资源来构建。
- 高努力/低影响:可以暂时搁置,但随着新产品的出现和能力的提升,可能会变得更容易构建和部署。
文章建议,将 AI 嵌入多步骤工作流程中,可以帮助团队为未来做好准备,届时 AI 代理将能够独立完成整个项目。例如,在营销工作流程中,可以使用AI进行市场趋势研究、数据分析、策略构思、内容创作以及内容本地化和渠道优化。
AI 的采用不仅仅是找到正确的用例,还包括建立以 AI 为中心的文化、培养更高价值的用例以及激发整个公司的采用。通过识别和扩展 AI 用例,企业可以在 AI 的浪潮中获得竞争优势,并为员工创造更有价值的工作。
OpenAI Agents SDK 接入 PPIO LLM API 教程
3 月 12 日,OpenAI 推出了 Agents SDK,彻底改变了开发者们构建 AI 应用程序的方式。OpenAI Agents SDK 是一个轻量级而功能强大的框架,用于构建多代理工作流,并兼容任何支持 OpenAI Chat Completions API 格式的模型提供商,将 AI 代理所需的时间从几周缩短到几分钟。
以下教程教您轻松集成 PPIO LLM API 与 OpenAI Agents SDK,快速构建多代理工作流。
(1)前置工作:获取 PPIO API Key
要想将 PPIO API 接入第三方平台调用,需要准备三个基本信息:Base URL、Model ID 以及 API Key(密钥)。
第一步,获取并保存【 API key 】
首先,注册登录 PPIO派欧云:ppio.cn/user/regist…
如果你是新用户,现在填写邀请码【JUEJIN】注册还可以得 15 元代金券。
然后,打开 API 密钥管理页面,点击【创建】按钮,输入自定义密钥名称,生成 API 密钥。
❗️❗️❗️注意:密钥在服务端是加密存储,请在生成时保存好秘钥(比如记录在备忘录里);若遗失密钥,可以在控制台上删除并创建一个新的密钥。
第二步,获取 【 Base URL 】
PPIO 的 Base URL 固定地址为:
第三步,获取模型 ID。在模型广场点击任一模型后,可以从 API 接入指南获取 Base URL 以及模型 ID,包括:
- deepseek/deepseek-r1-turbo
- deepseek/deepseek-v3-turbo
- deepseek/deepseek-v3-0324
- qwen/qwq-32b
(2)设置python环境并安装Agents SDK,输入以下代码即可完成操作
python -m venv env
source env/bin/activate
pip install openai-agents==0.0.7
示例1:输出功能。运行前,请确保已设置PPIO API KEY
和模型名称
环境变量。
`import os
from openai import AsyncOpenAI
from agents import (
Agent,
Runner,
set_default_openai_api,
set_default_openai_client,
set_tracing_disabled,
)
BASE_URL = "api.ppinfra.com/v3/openai"
API_KEY = "在此处粘贴 PPIO 官网的 API Key" #此处需修改
MODEL_NAME = "在此输入模型名称" #此处需修改
基于PPIO不支持responses API,因此我们使用chat completions API作为示例
set_default_openai_api("chat_completions") set_default_openai_client(AsyncOpenAI(base_url=BASE_URL, api_key=API_KEY))
在此示例中禁用追踪# 如需使用自定义追踪处理器,请参考:openai.github.io/openai-agen…
set_tracing_disabled(disabled=True) agent = Agent(name="Assistant", instructions="You are a helpful assistant", model=MODEL_NAME) result = Runner.run_sync( agent, "Write a haiku about recursion in programming.") print(result.final_output) #输出示例:
Code within the code,
Functions calling themselves,
Infinite loop's dance.`
import os
from openai import AsyncOpenAI
from agents import (
Agent,
Runner,
set_default_openai_api,
set_default_openai_client,
set_tracing_disabled,
)
BASE_URL = "https://api.ppinfra.com/v3/openai"
API_KEY = "在此处粘贴 PPIO 官网的 API Key" #此处需修改
MODEL_NAME = "在此输入模型名称" #此处需修改
# 基于PPIO不支持responses API,因此我们使用chat completions API作为示例
set_default_openai_api("chat_completions")
set_default_openai_client(AsyncOpenAI(base_url=BASE_URL, api_key=API_KEY))
# 在此示例中禁用追踪# 如需使用自定义追踪处理器,请参考:https://openai.github.io/openai-agents-python/tracing/#external-tracing-processors-list
set_tracing_disabled(disabled=True)
agent = Agent(name="Assistant",
instructions="You are a helpful assistant", model=MODEL_NAME)
result = Runner.run_sync(
agent, "Write a haiku about recursion in programming.")
print(result.final_output)
#输出示例:
# Code within the code,
# Functions calling themselves,
# Infinite loop's dance.
示例2:Handoff
import os
import asyncio
from openai import AsyncOpenAI
from agents import (
Agent,
Runner,
set_default_openai_api,
set_default_openai_client,
set_tracing_disabled,
)
BASE_URL = "https://api.ppinfra.com/v3/openai"
API_KEY = "在此处粘贴PPIO官网的API Key" #此处需修改
MODEL_NAME = "在此输入模型名称" #此处需修改
# 基于PPIO不支持responses API,因此我们使用chat completions API作为示例
set_default_openai_api("chat_completions")
set_default_openai_client(AsyncOpenAI(base_url=BASE_URL, api_key=API_KEY))
# 该示例中禁止使用追踪
#如需使用自定义追踪处理器,请参考:https://openai.github.io/openai-agents-python/tracing/#external-tracing-processors-list to use the custom spans.
set_tracing_disabled(disabled=True)
spanish_agent = Agent(
name="Spanish agent",
instructions="You only speak Spanish.",
model=MODEL_NAME,
)
english_agent = Agent(
name="English agent",
instructions="You only speak English",
model=MODEL_NAME,
)
triage_agent = Agent(
name="Triage agent",
instructions="Handoff to the appropriate agent based on the language of the request.",
handoffs=[spanish_agent, english_agent],
model=MODEL_NAME,
)
async def main():
result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
print(result.final_output)
#输出示例:
# ¡Hola! Estoy bien, gracias por preguntar. ¿Y tú, cómo estás?
if __name__ == "__main__":
asyncio.run(main())
示例3:函数工具调用
import os
import asyncio
from openai import AsyncOpenAI
from agents import (
Agent,
Runner,
set_default_openai_api,
set_default_openai_client,
set_tracing_disabled,
function_tool,
)
BASE_URL = "https://api.ppinfra.com/v3/openai"
API_KEY = "在此处粘贴PPIO官网的API Key" #此处需修改
MODEL_NAME = "在此输入模型名称" #此处需修改
# 基于PPIO不支持responses API,因此我们使用chat completions API作为示例
set_default_openai_api("chat_completions")
set_default_openai_client(AsyncOpenAI(base_url=BASE_URL, api_key=API_KEY))
# 该示例中禁止使用追踪
#如需使用自定义追踪处理器,请参考:https://openai.github.io/openai-agents-python/tracing/#external-tracing-processors-list to use the custom spans.
set_tracing_disabled(disabled=True)
@function_tool
def get_weather(city: str) -> str:
return f"The weather in {city} is sunny."
agent = Agent(
name="Hello world",
instructions="You are a helpful agent.",
tools=[get_weather],
model=MODEL_NAME,
)
async def main():
result = await Runner.run(agent, input="What's the weather in Tokyo?")
print(result.final_output)
#输出示例:
# The weather in Tokyo is sunny.
if __name__ == "__main__":
asyncio.run(main())
🔥PPIO派欧云的福利活动仍在进行中!分享 PPIO 专属邀请号【JUEJIN】,每成功邀请 1 位好友注册并完成实名认证,邀请人即可获得 30 无门槛券,被邀请人也能获得 15 无门槛券。适用于 PPIO 所有大语言模型 API 服务!