尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Agent学习记录三:完成 Agent Loop
一、最基础的 Agent Loop。修改代码from openai import OpenAI import json client OpenAI() def calculator(a, b): return a * b tools [ { type: function, name: calculator, description: 计算两个数字的乘积, parameters: { type: object, properties: { a: { type: number, description: 第一个数字 }, b: { type: number, description: 第二个数字 } }, required: [a, b], additionalProperties: False } } ] response client.responses.create( modelgpt-5.6-sol, input请调用 calculator 工具计算 123 × 456, toolstools, tool_choicerequired ) # 找到 LLM 发出的工具调用 for item in response.output: if item.type function_call: print( Tool Call ) print(工具名称:, item.name) print(参数:, item.arguments) print(Call ID:, item.call_id) # JSON字符串 → Python字典 arguments json.loads(item.arguments) # 真正执行Python函数 result calculator( arguments[a], arguments[b] ) print( Tool Result ) print(result) # 第二次请求把工具结果交给 LLM response2 client.responses.create( modelgpt-5.6-sol, input[ *response.output, { type: function_call_output, call_id: item.call_id, output: str(result) } ], toolstools ) print( Final Answer ) print(response2.output_text)告诉 LLM 这是工具执行完之后返回给你的结果。type: function_call_output这个结果对应你刚才发出的那一次 calculator 调用call_id: item.call_id【*response.output】把第一次 LLM 的输出上下文带过去。让LLM知道刚才我让你调用了 calculator现在这是那个调用的结果。运行输出已经亲手完成了一个最小 Agent Loop二、完整过程┌──────────────┐│ LLM │└──────┬───────┘│Function Call│↓┌──────────────┐│ Python │└──────┬───────┘│calculator(123,456)│↓56088│Tool Output│↓┌──────────────┐│ LLM │└──────┬───────┘│↓123 × 456 56,088【注意】把这个过程彻底搞懂而不是继续加代码。尤其是tools、function_call、function_call_output、call_id、两次responses.create()这几个东西弄明白
RELATED

相关推荐

文档加密不等于万事大吉:剖析容易被忽略的终端行为类安全风险

文档加密不等于万事大吉:剖析容易被忽略的终端行为类安全风险

前言 提起终端数据防泄露,大家第一反应就是文档加密、禁用 U 盘、管控文件外发。这些属于对 “文件本身” 做防护。但实际安全事件里,大量风险并不产生于文件拷贝,而是来自人的操作行为:复制敏感内容粘贴到聊天框、在 AI 大模型输…

📅 2026/9/11 20:05:53
基于PyTorch的建筑物识别:从语义分割到掩膜矢量化

基于PyTorch的建筑物识别:从语义分割到掩膜矢量化

简介:基于Python和PyTorch的建筑物识别器源码,面向计算机视觉入门者及城市规划、灾害管理等行业应用,采用MaskRCNN模型对卫星或航拍图像进行建筑物自动识别与定位。资源共16个文件,以13个Python脚本为主体,涵盖数据预处…

📅 2026/9/11 20:05:52
STC89C52与RC522读写M1卡源码解析:从SPI到防碰撞认证流程

STC89C52与RC522读写M1卡源码解析:从SPI到防碰撞认证流程

简介:面向嵌入式初学者、电子竞赛参赛者和 RFID 应用开发者,这份 STC89C52-RC522 源码包以 STC89C52 单片机控制 RC522 模块,完整实现 M1 非接触式 IC 卡的读写操作,解决从底层驱动到扇区密钥验证、数据存取的落地问题。压缩包内共…

📅 2026/9/11 20:05:52
MORE NEWS

更多资讯

📰

客瑞通全渠道客服系统深度测评:轻量化如何解决中小团队服务痛点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

MicroPython下用MCP4725实现高稳态信号发生器的类设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Vibe-Trading 数据工程实战:Tushare report_rc 券商盈利预测数据全量提取与量化应用指南

Vibe-Trading 数据工程实战:Tushare report_rc 券商盈利预测数据全量提取与量化应用指南 【免费下载链接】Vibe-Trading "Vibe-Trading: Your Personal Trading Agent" 项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading 本篇技术指…

📰

数据库核心理论与实战:事务、MVCC、SQL优化与并发控制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Flask部署PaddleOCR识别服务:从接口封装到生产上线全流程

简介:一套基于Flask框架封装PaddleOCR的服务部署项目,面向需要快速搭建OCR识别接口的开发者与计算机相关专业学生,可应用于健康宝识别、文档自动化处理等场景。项目以轻量Web服务形式对外提供文字识别能力,通过简单POST请求即可提…

📰

Agent学习记录三:完成 Agent Loop

一、最基础的 Agent Loop。修改代码from openai import OpenAI import jsonclient OpenAI() def calculator(a, b):return a * btools [{"type": "function","name": "calculator","description": "计算两个数字的乘…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬