生产禁区

AIGC大时代9 天前
agents sdk·生产禁区·sqlitesession·会话持久化
OpenAI Agents SDK 工程笔记:SQLiteSession 多轮会话持久化与生产禁区千笔-AIWritePaper · https://www.aiwritepaper.com多轮 Agent 最容易踩的坑,不是「忘了上一句」,而是以为落盘了其实只落了半截、以为隔离了其实共用了 session_id、以为删掉了其实 messages 还在。OpenAI Agents SDK 的 SQLiteSession 把对话 item 写进 SQLite:默认 :memory: 进程结束即丢;传入文件路径才跨重启。Runner.run(..., session=...) 跑前 get_items 取
AIGC大时代11 天前
agents sdk·生产禁区·is_enabled
OpenAI Agents SDK 工程笔记:tool_use_behavior 与 is_enabled 动态工具开关生产禁区千笔-AIWritePaper · https://www.aiwritepaper.com一个 Agent 调完工具之后,接下来发生什么?默认情况下,工具结果会交回模型,模型再决定是继续调用还是给出终答。这个默认值看起来理所当然,直到线上出现两类事故:通知发了两遍,因为模型在第二轮「确认一下」又调了一次;管理员的清缓存工具突然不见了,因为开关函数读错了上下文里的键。
AIGC大时代12 天前
agents sdk·生产禁区·localshelltool·applypatchtool
OpenAI Agents SDK 工程笔记:LocalShellTool 与 ApplyPatchTool 执行面边界与生产禁区千笔-AIWritePaper · https://www.aiwritepaper.comLocalShellTool / ShellTool 与 ApplyPatchTool 让模型能在你的机器上执行命令、改文件。SDK 不会替你做工作区隔离:executor / editor 收到什么就执行什么。本文在 openai-agents 0.23.1 下用脚本化假模型发出真实的 local_shell_call / apply_patch_call,对比「朴素实现」与「加闸实现」,留下 13 行 CSV(
AIGC大时代12 天前
responses·生产禁区·modelprovider·multiprovider
OpenAI Agents SDK 工程笔记:ModelProvider 多模型接入、Responses/Chat Completions 切换与生产禁区千笔-AIWritePaper · https://www.aiwritepaper.comAgent 上写了 model="gpt-4.1",真正发出去的请求却打到了别的前缀;本地全绿,一接第三方兼容端点就 404;为了省事把第三方 AsyncOpenAI 设成默认客户端,结果 tracing 把同一把 key 往 OpenAI 的导出接口送。官方 Models 页把这些控制项拆得很清楚,但工程上最容易漏的是谁在解析 model 字符串、Responses 与 Chat Completions 两套形状
AIGC大时代20 天前
mcp·生产禁区·openai agents sdk·mcpserverstdio·hostedmcptool
OpenAI Agents SDK 工程笔记:MCP 工具接入与生产禁区千笔-AIWritePaper · https://www.aiwritepaper.com把 MCP server 接进 Agent,最贵的失败往往不是「连不上」,而是连上了、工具全暴露了、谁都能调:一个文件系统 server 同时带着 read_file 和 delete_file,开发时图省事不做过滤,上线后模型在一次误解里就把删除工具调了出去。官方 MCP 页 开头就写了信任前提:只连可信 server、用最小权限凭据、token 放在 authorization 字段或 header 而不是 U
AIGC大时代1 个月前
生产禁区·sessions·sqlitesession·sessionsettings
OpenAI Agents SDK 工程笔记:sessions 记忆边界再核对与生产禁区千笔-AIWritePaper · https://www.aiwritepaper.com把 Agents SDK 的 sessions 当成「自动记得上一句」很容易过界:它管的是客户端会话历史的取回与写回,不是业务授权、不是 OpenAI 服务端续写、更不是「进程重启后一定还在」。官方 Sessions 写得很直:同一次 run 里,session 不能与 conversation_id / previous_response_id / auto_previous_response_id 叠用;跑前取
AIGC大时代1 个月前
openai·streaming·生产禁区·run_streamed·streamevent
OpenAI Agents SDK 工程笔记:streaming 流式输出与生产禁区千笔-AIWritePaper · https://www.aiwritepaper.com把 Agents SDK 的 streaming 当成「多打几个 print」会踩坑:Runner.run_streamed() 返回的是 RunResultStreaming,真正完成要以 stream_events() 迭代器结束 为准;最后几个可见 token 到齐之后,会话持久化、审批记账、历史压缩仍可能在收尾。官方 Streaming 与 Results 写得很直:事件分 raw / run item /
AIGC大时代1 个月前
openai·multi agent·生产禁区·handoffs·triage
OpenAI Agents SDK 工程笔记:handoffs 多 Agent 交接与生产禁区千笔-AIWritePaper · https://www.aiwritepaper.com多 Agent 系统最容易翻车的不是「少写了一个专家提示」,而是把 handoff(交接) 当成普通 tool 调用:以为只是「请同事帮一下」,实际却把对话所有权交给了另一个 Agent。官方 Handoffs 与 Orchestrating multiple agents 写得很直:handoffs 对模型呈现为工具(如 transfer_to_refund_agent);一旦触发,专家 Agent 接管本轮后续
AIGC大时代1 个月前
服务器·数据库·笔记·tool·max_turns·functiontool·生产禁区
OpenAI Agents SDK 工程笔记:tool 调用循环、max_turns 与生产禁区千笔-AIWritePaper · https://www.aiwritepaper.com多轮 Agent 最容易翻车的不是「忘了挂 tools」,而是把模型决定调用、SDK 执行工具、再送回模型当成无限循环,却从不验收 max_turns。官方 Running agents(中文:运行智能体)把循环钉死为:调模型 → 最终输出则停 / 任务转移则换 Agent / 有 tool calls 则执行并回灌 → 超过 max_turns 抛 MaxTurnsExceeded。本文按工程笔记写法,钉死循环、
我是有底线的