我的远程实习(三)| 炸裂😱😱😱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系统的探索之旅,体验其强大的功能吧!

参考

相关推荐
玩镜的码农小师兄4 小时前
[从零开始面试算法] (04/100) LeetCode 136. 只出现一次的数字:哈希表与位运算的巅峰对决
c++·算法·leetcode·面试·位运算·hot100
绝无仅有5 小时前
面试真实经历某商银行大厂计算机网络问题和答案总结
后端·面试·github
绝无仅有5 小时前
面试真实经历某商银行大厂系统,微服务,分布式问题和答案总结
后端·面试·github
paishishaba6 小时前
JAVA面试复习笔记(待完善)
java·笔记·后端·面试
聪明的笨猪猪15 小时前
Java JVM “调优” 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
兩尛16 小时前
Spring面试
java·spring·面试
恋红尘19 小时前
Redis面试八股
数据库·redis·面试
hanxiaozhang201821 小时前
Netty面试重点-2
面试·netty
串流游戏联盟1 天前
steam新品节游戏推荐!手机怎么玩steam游戏!
游戏·远程工作
怪兽20141 天前
请例举 Android 中常用布局类型,并简述其用法以及排版效率
android·面试