1- import { Agent , OpenAIChatCompletionsModel , run } from '@openai/agents' ;
1+ import {
2+ Agent ,
3+ OpenAIChatCompletionsModel ,
4+ run ,
5+ withTrace ,
6+ } from '@openai/agents' ;
27import OpenAI from 'openai' ;
38import { z } from 'zod' ;
49
@@ -8,59 +13,61 @@ const output = z.object({
813} ) ;
914
1015async function main ( ) {
11- const prompt =
12- 'Tell me about recursion in programming. Quickly responding with a single answer is fine.' ;
16+ withTrace ( 'GPT-5 Assistant' , async ( ) => {
17+ const prompt =
18+ 'Tell me about recursion in programming in a few sentences. Quickly responding with a single answer is fine.' ;
1319
14- const agent = new Agent ( {
15- name : 'GPT-5 Assistant' ,
16- model : 'gpt-5' ,
17- instructions : "You're a helpful assistant." ,
18- modelSettings : {
19- reasoning : { effort : 'minimal' } ,
20- text : { verbosity : 'low' } ,
21- } ,
22- outputType : output ,
23- } ) ;
20+ const agent = new Agent ( {
21+ name : 'GPT-5 Assistant' ,
22+ model : 'gpt-5' ,
23+ instructions : "You're a helpful assistant." ,
24+ modelSettings : {
25+ reasoning : { effort : 'minimal' } ,
26+ text : { verbosity : 'low' } ,
27+ } ,
28+ outputType : output ,
29+ } ) ;
2430
25- const result = await run ( agent , prompt ) ;
26- console . log ( result . finalOutput ) ;
31+ const result = await run ( agent , prompt ) ;
32+ console . log ( result . finalOutput ) ;
2733
28- // The following code works in the same way:
29- // const agent2 = agent.clone({
30- // modelSettings: {
31- // providerData: {
32- // reasoning: { effort: 'minimal' },
33- // text: { verbosity: 'low' },
34- // }
35- // },
36- // });
37- // const result2 = await run(agent2, prompt);
38- // console.log(result2.finalOutput);
34+ // The following code works in the same way:
35+ // const agent2 = agent.clone({
36+ // modelSettings: {
37+ // providerData: {
38+ // reasoning: { effort: 'minimal' },
39+ // text: { verbosity: 'low' },
40+ // }
41+ // },
42+ // });
43+ // const result2 = await run(agent2, prompt);
44+ // console.log(result2.finalOutput);
3945
40- const completionsAgent = new Agent ( {
41- name : 'GPT-5 Assistant' ,
42- model : new OpenAIChatCompletionsModel ( new OpenAI ( ) , 'gpt-5' ) ,
43- instructions : "You're a helpful assistant." ,
44- modelSettings : {
45- reasoning : { effort : 'minimal' } ,
46- text : { verbosity : 'low' } ,
47- } ,
48- outputType : output ,
49- } ) ;
50- const completionsResult = await run ( completionsAgent , prompt ) ;
51- console . log ( completionsResult . finalOutput ) ;
46+ const completionsAgent = new Agent ( {
47+ name : 'GPT-5 Assistant' ,
48+ model : new OpenAIChatCompletionsModel ( new OpenAI ( ) , 'gpt-5' ) ,
49+ instructions : "You're a helpful assistant." ,
50+ modelSettings : {
51+ reasoning : { effort : 'minimal' } ,
52+ text : { verbosity : 'low' } ,
53+ } ,
54+ outputType : output ,
55+ } ) ;
56+ const completionsResult = await run ( completionsAgent , prompt ) ;
57+ console . log ( completionsResult . finalOutput ) ;
5258
53- // The following code works in the same way:
54- // const completionsAgent2 = completionsAgent.clone({
55- // modelSettings: {
56- // providerData: {
57- // reasoning_effort: 'minimal',
58- // verbosity: 'low',
59- // }
60- // },
61- // });
62- // const completionsResult2 = await run(completionsAgent2, prompt);
63- // console.log(completionsResult2.finalOutput);
59+ // The following code works in the same way:
60+ // const completionsAgent2 = completionsAgent.clone({
61+ // modelSettings: {
62+ // providerData: {
63+ // reasoning_effort: 'minimal',
64+ // verbosity: 'low',
65+ // }
66+ // },
67+ // });
68+ // const completionsResult2 = await run(completionsAgent2, prompt);
69+ // console.log(completionsResult2.finalOutput);
70+ } ) ;
6471}
6572
6673main ( ) . catch ( ( error ) => {
0 commit comments