我的远程实习(三)| 炸裂😱😱😱openai agents

前言

前些时间 manus 掀起一股热浪 , 随之而来的是 openai 给你带来炸裂的消息 ------ openai agents ,据说几行代码就可以创建一个manus ~

这不,算法工程师 Ailln 直接使用 openai agents 做了一款绘图工具 , 十分 fancy

今天周末 , 我们也来看看 , 这个 openai 到底是何方神圣 ~

在 openai 发布会上公布了五个 API 工具 , 分别是 :Web search 、File search 、Computer use 、Response API , 以及今天要说的 openai agents

探索OpenAI Agents SDK

本文将全方位深入剖析OpenAI Agents SDK,带你了解如何利用它提升自动化任务的完成效率,以及它在不同应用场景中的出色表现。

1.OpenAI Agents SDK简介

OpenAI Agents SDK致力于打造一个便于开发者构建和管理智能体的平台。智能体作为核心元素,能理解指令并执行特定任务,多个智能体之间还能相互协作,极大提升了自动化任务的执行效率。该SDK具备以下核心功能:

智能体(Agents)

借助大语言模型(LLM)驱动的智能体,可精准理解各类指令并执行相应任务。无论是简单的文本问答,还是复杂的数据分析,智能体都能胜任。比如在智能客服场景中,智能体可以快速准确地回答用户的常见问题。

任务交接(Handoffs)

允许智能体将任务委托给其他智能体,实现任务的模块化处理。在大型项目中,不同智能体可以专注于各自擅长的领域,提高整体工作效率。例如在软件开发项目中,负责需求分析的智能体可以将代码编写任务交给擅长编程的智能体。

安全防护(Guardrails)

通过输入输出的验证机制,增强任务执行的安全性。在处理敏感信息或进行关键决策时,安全防护机制能确保智能体的输入和输出符合安全标准。比如在金融领域的智能客服系统中,防止用户的敏感信息泄露。

追踪(Tracing)

内置的跟踪系统,有助于开发者分析智能体的行为,提高可视化和调试能力。开发者可以通过追踪功能,清晰了解智能体在执行任务过程中的每一步操作,便于发现问题和优化性能。

2. 安装和环境准备

要使用OpenAI Agents SDK,首先需要完成安装和环境配置。安装过程十分简单,使用pip命令即可:

复制代码
pip install openai-agents

安装完成后,为了让SDK能够调用OpenAI的LLM服务,需要设置OpenAI API Key。在终端中执行以下命令,将"sk-xxxxxxxxxxxxxxxxxxxxxxxx"替换为你自己的API Key:

ini 复制代码
export OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"

完成上述步骤后,就可以开始创建智能体了。

3. 创建你的第一个智能体

下面我们来创建一个简单的智能体,让它生成一首关于春天的诗。

ini 复制代码
from agents import Agent, Runner

# 创建一个名为Poet的智能体,告诉它要做一个乐于助人的诗歌创作者
agent = Agent(name="Poet", instructions="You are a helpful poet who can write beautiful poems about different topics.")

# 让智能体生成一首关于春天的诗
result = Runner.run_sync(agent, "Write a poem about spring.")

# 打印智能体生成的诗
print(result.final_output)

在这段代码中,我们创建了一个名为Poet的智能体,并为它设定了基本指令。然后使用Runner.run_sync方法让智能体执行生成关于春天的诗的任务,最后打印出结果。

4. 任务交接(Handoffs)

在实际应用中,一个智能体可能无法完成所有任务,这时就可以使用任务交接机制。例如,我们要创建一个系统,先让一个智能体总结一篇文章,再让另一个智能体将总结内容翻译成英文。

ini 复制代码
from agents import Agent, Runner

# 创建一个总结者智能体,它的任务是总结文章内容
summarizer = Agent(name="Summarizer", instructions="You are good at summarizing long texts into short and clear paragraphs.")
# 创建一个翻译者智能体,它的任务是将中文翻译成英文
translator = Agent(name="Translator", instructions="You can translate Chinese texts into English accurately.")

# 设置总结者智能体将翻译任务交接给翻译者智能体
summarizer.set_handoff("translation", translator)

# 假设这是一篇关于旅游的文章
article = "春天是一个非常适合旅游的季节。天气温暖,花朵盛开,大自然充满了生机。很多人会选择在这个时候去旅行,欣赏美丽的风景。"

# 让总结者智能体总结文章,并将总结内容交给翻译者智能体进行翻译
result = Runner.run_sync(summarizer, f"Summarize this article and then hand it over for translation: {article}", handoff_key="translation")

# 打印最终的英文翻译结果
print(result.final_output)

在这个例子中,我们创建了两个智能体:SummarizerTranslatorSummarizer先对文章进行总结,然后将总结内容通过任务交接机制交给Translator进行翻译,最终输出英文翻译结果。

5. 安全防护(Guardrails)

在AI任务执行过程中,确保输入和输出的安全性至关重要。我们可以使用Guardrails机制来验证输入和输出。例如,我们要创建一个智能体,它只能生成积极向上的内容。

python 复制代码
from agents import Agent, Guardrails, Runner

# 定义一个验证函数,检查输出是否包含消极词汇
def validate_output(output):
    negative_words = ["sad", "angry", "hate"]
    for word in negative_words:
        if word in output.lower():
            return False
    return True

# 创建一个名为PositiveBot的智能体,要求它只生成积极向上的内容
agent = Agent(name="PositiveBot", instructions="You only generate positive and inspiring content.")

# 创建Guardrails对象,将验证函数应用到输出验证中
guardrails = Guardrails(output_validation=validate_output)

# 让智能体分享一个积极的故事
result = Runner.run_sync(agent, "Share a positive story.", guardrails=guardrails)

# 打印智能体生成的积极故事
print(result.final_output)

在这个示例中,我们定义了一个validate_output函数,用于检查智能体的输出是否包含消极词汇。然后创建了一个PositiveBot智能体,并将Guardrails应用到该智能体上,确保它生成的内容是积极向上的。

6. 追踪(Tracing)

为了更好地分析和调试智能体的行为,OpenAI Agents SDK提供了追踪功能。我们可以使用追踪功能来了解智能体在解决数学问题时的思考过程。

ini 复制代码
from agents import Agent, Runner, Tracing

# 启用追踪机制
tracing = Tracing()

# 创建一个名为MathSolver的智能体,它的任务是解决数学问题
agent = Agent(name="MathSolver", instructions="You can solve various math problems and explain the steps.")

# 让智能体解决一个数学问题,并启用追踪
result = Runner.run_sync(agent, "Solve the equation 2x + 5 = 13 and show the steps.", tracing=tracing)

# 打印智能体给出的答案
print("Answer:", result.final_output)
# 打印详细的追踪日志
print("Tracing Logs:", tracing.get_logs())

在这个示例中,我们启用了Tracing机制,创建了一个MathSolver智能体。当智能体解决方程2x + 5 = 13时,每一个步骤都会被记录下来。最后,我们不仅可以看到智能体给出的答案,还可以通过追踪日志详细了解它的思考过程,方便进行调试和优化。

7. 应用场景

OpenAI Agents SDK凭借其强大的功能,适用于多种AI任务场景,以下是几个典型的应用场景:

AI助手

构建企业AI助手,能够处理邮件、进行文档总结等任务。在企业办公中,AI助手可以快速筛选重要邮件,提取关键信息,还能对长篇文档进行精准总结,提高工作效率。

代码生成

开发智能编程助手,根据功能描述自动生成代码,提高代码编写效率。开发者在面对复杂的功能需求时,智能编程助手可以快速生成符合要求的代码,节省开发时间。

自动化客服

创建自动化客户支持机器人,快速响应用户咨询,提高客户满意度。在电商、金融等行业,自动化客服机器人可以24小时在线,及时回答用户的常见问题,解决用户的疑惑。

AI研究

在多智能体环境下研究LLM的协作能力,推动AI技术的发展。研究人员可以通过构建多智能体系统,探索不同智能体之间的协作模式和信息交互方式。

8. 总结

OpenAI Agents SDK通过智能体、任务交接、安全防护和追踪等功能,极大地简化了AI智能体的开发过程,使其更易于扩展和维护。无论是构建AI助手、代码生成器,还是自动化系统,该SDK都能提供强大的支持。如果你想探索更高级的应用,可以结合OpenAI的GPT - 4 Turbo、工具调用(Function Calling)以及LangChain框架,实现更复杂的多智能体协作。

现在就安装OpenAI Agents SDK,开启多智能体AI系统的探索之旅,体验其强大的功能吧!

参考

相关推荐
乌海黑1 小时前
计算机网络快速入门
java·计算机网络·面试
myyyl2 小时前
typescript中的泛型
前端·javascript·面试
lqstyle3 小时前
Spring中的Aware接口:让你的Bean“觉醒”!
后端·spring·面试
xiao--xin4 小时前
计算机网络笔记(三)——1.3互联网的组成
笔记·计算机网络·面试
uperficialyu5 小时前
2025年01月13日字节(本地生活)前端面试
前端·面试
幼儿园老大*6 小时前
【微服务】SpringCloudGateway网关
java·开发语言·经验分享·后端·微服务·面试·架构
每次的天空17 小时前
Android第五次面试总结(HR面)
android·面试·职场和发展
uhakadotcom19 小时前
Kubernetes入门指南:从基础到实践
后端·面试·github
uhakadotcom20 小时前
Scikit-learn 安装和使用教程
后端·面试·github