OpenAI Agent Builder to wizualne narzędzie, które pozwala tworzyć agentów AI bez konieczności pisania skomplikowanego kodu.
Użytkownik łączy węzły na kanwie w celu tworzenia przepływów pracy, umożliwia integracje za pomocą konektorów MCP i korzysta z wbudowanych narzędzi, takich jak wyszukiwanie w sieci, wyszukiwanie plików, wykonywanie kodu. Narzędzie znacznie przyspiesza rozwój - to, co wcześniej zajmowało tygodnie, teraz można zbudować w ciągu kilku godzin.
Jednym z istotnych aspektów 'OpenAI Agent Builder' jest możliwość eksportowania wizualnie zaprojektowanych przepływów pracy jako gotowego do produkcji kodu TypeScript lub Python. Wypełnia to lukę między szybkim prototypowaniem a wdrażaniem, szczególnie w przypadku integracji z Genesys Cloud.
Po zaprojektowaniu przepływu pracy agenta w formie wizualnej można wyeksportować kod TypeScript i wdrożyć go jako funkcję AWS Lambda za pośrednictwem Genesys Cloud Functions. Akcje danych Genesys Cloud Function uruchamiają kod AWS Lambda w środowisku Genesys Cloud, umożliwiając tworzenie akcji z niestandardowym kodem, który można używać w Genesys Cloud.

Aby przekształcić wyeksportowany kod 'Agent Builder' w funkcję 'Genesys Cloud Function', należy dodać procedurę obsługi - punkt wejścia AWS Lambda używany podczas wywoływania funkcji.
import { Agent, AgentInputItem, Runner, withTrace } from "@openai/agents";
import { Context } from "aws-lambda";
// Hardcoded OpenAI API key
const OPENAI_API_KEY = "OPENAI_API_KEY";
// Configure OpenAI API key for the SDK
process.env.OPENAI_API_KEY = OPENAI_API_KEY;
const myAgent = new Agent({
name: "My agent",
instructions: "You are a helpful assistant.",
model: "gpt-5-nano",
modelSettings: {
reasoning: {
effort: "low",
summary: "auto"
},
store: true
}
});
// Input type for Genesys Cloud data action
type WorkflowInput = { input_as_text: string };
// Lambda event type for Genesys Cloud
interface GenesysLambdaEvent {
body?: string;
input_as_text?: string;
[key: string]: any;
}
// Response type for Genesys Cloud
interface GenesysLambdaResponse {
success: boolean;
output_text?: string;
error?: string;
trace_id: string;
}
// AWS Lambda handler for Genesys Cloud
export const handler = async (
event: GenesysLambdaEvent,
context: Context
): Promise<GenesysLambdaResponse> => {
try {
// Parse input from event
const inputText = event.input_as_text ||
(typeof event.body === "string" ? JSON.parse(event.body) : event.body)?.input_as_text;
if (!inputText) throw new Error("Missing input_as_text parameter");
// Run the workflow
const result = await runWorkflow({ input_as_text: inputText });
// Return success response
return {
success: true,
output_text: result.output_text,
trace_id: context.awsRequestId
};
} catch (error) {
console.error("Error:", error);
return {
success: false,
error: error instanceof Error ? error.message : "Unknown error",
trace_id: context.awsRequestId
};
}
};
// Core workflow logic
const runWorkflow = async (workflow: WorkflowInput): Promise<{ output_text: string }> => {
return await withTrace("basic_test_genesys", async () => {
const conversationHistory: AgentInputItem[] = [{
role: "user",
content: [{ type: "input_text", text: workflow.input_as_text }]
}];
const runner = new Runner({
traceMetadata: {
__trace_source__: "agent-builder",
workflow_id: "wf_6907d6abcddc819081526e7811410c75038a9a539802070c"
}
});
const result = await runner.run(myAgent, conversationHistory);
if (!result.finalOutput) throw new Error("Agent result is undefined");
return { output_text: result.finalOutput };
});
};Genesys Cloud Functions (AWS Lambda)
Najważniejszą dodaną funkcją jest 'handler' (linie 42-70). Jest to wymagany punkt wejścia dla AWS Lambda. Bez niego Lambda nie wie, jaki kod wykonać po wywołaniu.
- Pobieranie zdarzeń - Przesyła dane jako parametr
event - Wyodrębnia dane wejściowe - Parsuje
input_as_textze zdarzenia - Wywołuje przepływ pracy - Wykonuje oryginalną logikę
runWorkflow - Zwraca odpowiedz - Wysyła ustrukturyzowany JSON z powrotem do Genesys Cloud
Klucz API OpenAI jest zakodowany na stałe do uwierzytelniania agenta (linie 4-8), można również skonfigurować te dane jako zmienną środowiskową w ustawieniach Genesys Cloud Functions dla wdrożeń produkcyjnych.
Po zmodyfikowaniu kodu należy skompilować TypeScript do JavaScript za pomocą polecenia npx tsc, a następnie utworzyć pakiet wdrożeniowy, kopiując skompilowany plik index.js i wszystkie zależności produkcyjne (node_modules) do katalogu i spakować go. Wynikowy plik zip można przesłać bezpośrednio jako funkcję Lambda.

Funkcję można przetestować bezpośrednio w edytorze 'Data Action' z przykładowymi danymi wejściowymi {"input_as_text": "Hello"} aby sprawdzić, czy reaguje poprawnie. Gdy akcja danych działa zgodnie z oczekiwaniami, możemy ją zintegrować jako przepływ danych w funkcji Architect.

Należy pamiętać, że Genesys Cloud Functions mają 15-sekundowy limit wykonania. W przypadku przekroczenia limitu czasu można często poprawić szybkość reakcji, dostosowując ustawienia modelu OpenAI - na przykład przełączając się z GPT-5 na szybszy model, taki jak GPT-5-nano lub GPT-4. Możesz także spróbować obniżyć parametr reasoning effort, aby skrócić czas przetwarzania i upewnić się, że funkcja zakończy się w oknie limitu czasu.
'OpenAI Agent Builder' oferuje szereg gotowych szablonów. Szablony te stanowią szybki punkt wyjścia dla typowych przypadków użycia, umożliwiając użytkownikom uruchamianie funkcjonalnych agentów AI przy minimalnej konfiguracji. Jednak prawdziwa moc 'Agent Builder' tkwi w tym, jak łatwo można tworzyć niestandardowe rozwiązania dostosowane do konkretnych potrzeb. Doskonałym przykładem jest to, jak proste jest zbudowanie własnego agenta RAG (Retrieval-Augmented Generation), który może uzyskać dostęp do bazy wiedzy lub dokumentów i wykorzystać je w celu zapewnienia dokładnych, kontekstowych odpowiedzi.

Załóżmy, że chcemy stworzyć bota Asystenta HR.
Bot ten pomoże pracownikom szybko znaleźć informacje o zasadach firmy, korzyściach, procedurach wewnętrznych i ogólnych tematach HR - wszystko w oparciu o przesłaną dokumentację wewnętrzną. Zanim dotkniemy konstruktora, musimy jasno opisać, co robi bot i jak powinien się zachowywać.
W Agent Builder odbywa się to poprzez instrukcje (system prompt)
You are an HR Assistant bot for TechCorp Solutions. Your role is to help employees
find information about company policies, employee details, and internal procedures.
Guidelines:
- Always provide accurate information based on the uploaded documents
- If you don't find the answer in the documents, say "I don't have that information"
- Be friendly and professional
- Cite the source when providing information
- Protect confidential information - only share appropriate detailsSystem Prompt
Teraz, gdy instrukcje naszego bota są gotowe, czas, aby dać mu do pracy prawdziwe dane firmy. Odbywa się to za pośrednictwem 'Vector Store' - bezpiecznej przestrzeni dyskowej, w której przesłane dokumenty są indeksowane i konwertowane na osadzenia wektorowe w celu wydajnego wyszukiwania semantycznego.

Po utworzeniu możemy przesłać wiele plików tekstowych. Każdy dokument jest automatycznie dzielony na fragmenty i indeksowany - co oznacza, że model nie tylko czyta pliki sekwencyjnie, ale przeszukuje semantycznie istotne fragmenty, odpowiadając na pytanie użytkownika.
Teraz, gdy nasza baza danych jest gotowa i wypełniona danymi HR, następnym krokiem jest podłączenie go do asystenta, aby mógł on faktycznie pobierać informacje z tych plików. Odbywa się to w sekcji narzędzi panelu konfiguracyjnego asystenta, gdzie można dołączyć magazyn wektorowy jako narzędzie.

Po podłączeniu bota do bazy wiedzy, następnym krokiem jest przetestowanie go w działaniu - najpierw w interfejsie użytkownika 'Agent Builder', a następnie w Genesys Cloud przy użyciu funkcji opartej na Lambda i akcji danych opisanych wcześniej.

Ten przykład asystenta HR pokazuje tylko jeden prosty przypadek użycia. Zaawansowane funkcje OpenAI Agent Builder umożliwiają znacznie bardziej złożone integracje.
MCP Connectors umożliwiają bezpośrednią integrację z Salesforce, ServiceNow i innymi systemami korporacyjnymi, dzięki czemu agenci mogą nie tylko pobierać informacje, ale także wykonywać działania w całym stosie technologicznym.
Web Search zapewnia dostęp do informacji w czasie rzeczywistym, dzięki czemu odpowiedzi są aktualne bez konieczności ręcznej aktualizacji bazy wiedzy.
Koordynacja wielu agentów pozwala tworzyć wyspecjalizowane zespoły agentów, które współpracują przy złożonych przepływach pracy, a narzędzia do wykonywania kodu umożliwiają dynamiczne obliczenia i wykonywanie niestandardowej logiki.
W połączeniu z możliwościami centrum kontaktowego Genesys Cloud funkcje te obsługują prawdziwie transformacyjne przypadki użycia - od automatycznego rozwiązywania wieloetapowych problemów po predykcyjne działania w zakresie obsługi klienta. Kluczem jest rozpoczęcie od prostych rozwiązań, a następnie stopniowe rozszerzanie ich w miarę ewolucji potrzeb.