如果你最近一直在关注AI领域,你可能经常会注意到一个新的流行词------智能体。每个人要么正在构建一个智能体,要么在谈论一个智能体,要么试图创建一个真正有效的智能体。
问题何在?从头开始构建一个AI智能体十分困难。你需要管理模型、API、工作流、安全过滤器和UI设置------等你完成时,感觉就像为了运行一个机器人而构建了一个小型操作系统。
按回车键或点击以查看全尺寸图像

OpenAI显然预见到了这一点。他们发布了AgentKit,这是一个简化AI代理的构建、测试和启动的工具包。 将其视为从想法到生产的"简单"方式,而不会迷失在样板代码中。
按回车键或点击以查看全尺寸图像

按回车键或点击以查看全尺寸图像

AgentKit究竟是什么?
简单来说,AgentKit是一个用于开发智能体系统的综合工具包------创建、测试和部署你自己的AI智能体所需的一切,都集成在一个平台上。
它由四个主要部分组成:
-
智能体构建器 --- 用于构建工作流的可视化编辑器
-
ChatKit --- 一个可以直接集成到您应用程序中的聊天界面
-
护栏 --- 内置的安全和审核工具
-
评估 --- 一种测试和提升你的智能体性能的方法
您可以直观地设计您的智能体,将其集成到您的应用程序中,并对其进行微调------所有这些都在同一个生态系统中完成。无需额外设置、缺失配置文件或在十种不同工具之间切换。
按回车键或点击以查看全尺寸图像

步骤1:直观地构建工作流
AgentKit的核心是Agent Builder,这是一个拖放式编辑器,能清晰展示你的智能体是如何思考的。 每个模块(或
节点
)都执行一项功能------一个可能运行模型,另一个可能调用API、存储记忆或做出请求决策。
如果你使用过n8n 、LangGraph 或Node-RED等工具,你会立刻明白它的含义。
假设你正在创建一个基本的"作业助手"机器人。你的流程可能如下:[用户问题] → [重新表述] → [搜索笔记] → [生成答案]
在幕后,Agent Builder正在为你处理大量的大语言模型调用。不过,你可以
实时
观察到这一过程。
以下是用普通代码大致呈现的样子:
ini
question = input("随便问我点什么: ")
cleaned = model.generate(f"清晰地改写: {question}")
notes = vector_search(cleaned)
answer = model.generate(f"结合上下文回答: {notes}")
print(answer)
与其手动编写,不如直观地连接这些节点,然后点击发布。就是这么简单------您的代理逻辑已准备好运行。
步骤2:使用ChatKit将其添加到您的应用中
一旦你的智能体开始运行,你就会希望人们能够真正与之互动。这正是ChatKit的作用------它是一个可嵌入的聊天界面,能直接接入你的工作流程。
你添加几行代码,将其连接到你的代理,然后它就可以上线运行了。
在您的服务器上生成客户端令牌。
此代码片段初始化一个FastAPI服务,该服务仅使用OpenAI Python SDK创建一个新的ChatKit会话,并返回该会话的客户端密钥。
python
from fastapi import FastAPI
from pydantic import BaseModel
from openai import OpenAI
import os
app = FastAPI()
openai = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
@app.post("/api/chatkit/session")
def create_chatkit_session():
session = openai.chatkit.sessions.create({
#...
})
return { client_secret: session.client_secret }
按回车键或点击以查看全尺寸图像

在您的服务器端代码中,将您的工作流 ID 和密钥提供给会话端点。请参阅GitHub 上的 chatkit-js 仓库。
javascript
导出默认异步函数 getChatKitSessionToken(
设备ID: 字符串
): Promise<字符串> {
常量响应 = await fetch("https://api.openai.com/v1/chatkit/sessions", {
方法: "POST",
头部: {
"Content-Type": "application/json",
"OpenAI-Beta": "chatkit_beta=v1",
授权: "Bearer " + process.env.VITE_OPENAI_API_SECRET_KEY,
},
主体: JSON.stringify({
工作流: { ID: "wf_68df4b13b3588190a09d19288d4610ec0df388c3983f58d1" },
用户: 设备ID,
}),
});
const { client_secret } = await response.json();
return client_secret;
}
在你的项目目录中,安装 ChatKit React 绑定。
npm install @openai/chatkit-react
将 ChatKit JS 脚本添加到您的页面。将此代码片段插入到您页面的部分或您加载脚本的任何位置,浏览器将为您获取并运行 ChatKit。
xml
<script
src="https://cdn.platform.openai.com/deployments/chatkit/chatkit.js"
async
></script>
将 ChatKit 集成到您的 UI 中。此代码从您的服务器获取客户端密钥,并挂载一个连接到您后端工作流程的实时聊天小部件。
javascript
import { ChatKit, useChatKit } from '@openai/chatkit-react';
export function MyChat() {
const { control } = useChatKit({
api: {
async getClientSecret(existing) {
if (existing) {
// implement session refresh
}
const res = await fetch('/api/chatkit/session', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
});
const { client_secret } = await res.json();
return client_secret;
},
},
});
return <ChatKit control={control} className="h-[600px] w-[320px]" />;
}
它能自动处理历史记录、文件上传、工具调用,甚至主题。 在进行原型设计时,你可以自定义外观以匹配你的品牌,也可以保留OpenAI的默认风格。
按回车键或点击以查看全尺寸图像

步骤3:通过评估进行测试和改进
一旦你的智能体上线,下一个问题就是
:它真的好吗?
这就是伊凡斯的用武之地。 这就像你的AI自动分级。
您可以针对数据集或示例对话运行您的智能体,然后使用评分器(脚本或模型)来评估其表现如何。
以下是一个简单的 TypeScript 示例:
php
import OpenAI from "openai";
const client = new OpenAI();
const run = await client.evals.create({
name: "knowledge-assistant-regression",
data_source: {
type: "responses",
filter: {
project_ids: ["proj_123"],
prompt_ids: ["pmpt_456"],
},
},
graders: [
{
type: "score_model",
model: "gpt-4.1-mini",
rubric: "Score from 1-5 based on factual accuracy.",
},
],
});
你可以运行多个评估器------一个检查事实准确性,另一个检查语气或安全性。这本质上是用于AI 质量的CI/CD。
内置安全防护栏
OpenAI做出的最明智的举措之一是将护栏直接嵌入到AgentKit中。 这些护栏会自动处理输入和输出过滤,从而保护你的系统免受提示注入、数据泄露或离题响应的影响。
因此,当您的代理在野外运行时,它可以保持安全可靠,无需持续的人工监管。
大局观
AgentKit围绕一个理念构建:AI智能体的构建不应困难。
以下是快速概要:
lua
|你所做的 |工具|处理的内容|
| ------------- | ------------- | -------------------------------- |
|设计逻辑|智能体构建器|可视化工作流创建|
|在应用中启动|ChatKit|聊天界面和部署 |
|测试质量|评估|性能跟踪和评分|
从创意到发布再到性能检查,您可以始终在OpenAI生态系统内完成所有工作。无需切换上下文,也没有混乱的脚本。