系列:100 天系统学习 AI Agent 开发
当前阶段:OpenAI Agents SDK 主线
今日目标:OpenAI Agents SDK 的核心路径是定义 Agent、运行 Agent,再逐步加入工具和协作。
1. 用项目眼光看
今天把注意力放到 OpenAI Agents SDK 的主线上。OpenAI Agents SDK 的核心路径是定义 Agent、运行 Agent,再逐步加入工具和协作。 我会尽量把它拆成能写代码、能检查、能复用的形状。
2. 设计取舍
- Agent 定义:名称、instructions、模型、工具和输出类型要清晰。
- 运行过程:关注 run 的输入、历史、工具调用、中断和 final output。
- 工程护栏:结构化输出、guardrails、tracing 和 evals 是上线前的基础设施。
3. 小实验
今天的主任务是:按 Quickstart 梳理最小代码:Agent、instructions、run、final_output。
我会按这个节奏做:
- 写出最小 Agent 配置:name、instructions、tools、output。
- 完成主题任务:按 Quickstart 梳理最小代码:Agent、instructions、run、final_output。
- 保存一次运行记录:输入、工具调用、输出、错误或改进点。
4. 验收样例
今天先把 Agent 配置写成可检查对象,后面再替换成真实 SDK 代码:
python
agent_spec = {
"name": "day_036_agent",
"goal": "OpenAI Agents SDK 的核心路径是定义 Agent、运行 Agent,再逐步加入工具和协作。",
"instructions": "只完成当天主题相关任务,遇到缺失信息先追问。",
"tools": ["search_docs", "run_demo", "save_note"],
"output_type": "markdown_with_checklist"
}
run_log = {
"input": "按 Quickstart 梳理最小代码:Agent、instructions、run、final_output。",
"tool_calls": [],
"final_output": None,
"needs_review": True
}
5. 复盘记录
我今天给自己设一个发布门槛:这篇文章不能只像学习笔记,还要像一块项目积木。
- 积木名称:OpenAI Agents SDK 快速开始
- 应该放进项目的材料:一个 Agent 配置对象、运行日志或工具调用记录
- 读者收藏它的理由:读者看完能照着跑出一个可检查的最小例子
- 不达标就返工的原因:先跑通一轮,再加工具。一次性把 handoffs、MCP、guardrails 都加上很难排错。
面试官会追问:Quickstart 跑通后,还缺哪五件事?
缺输入校验、工具权限、停止预算、可观测性和评测。Quickstart 证明 SDK 能工作,不证明业务可以上线。我会把示例升级成一条可回放 run:固定 instructions 版本,注册一个只读工具,限制最大轮数,保存 trace,并用三条数据集样本验证。
还要能解释 Runner 与 Agent 的边界:Agent 描述角色、指令、工具和输出;Runner 负责实际执行循环与生命周期;宿主应用仍要负责鉴权、持久化和业务事务。
面试时最危险的回答是"框架会自动处理"。我会明确列出自动处理的部分和仍由业务负责的部分,并演示工具报错时系统如何终止而不是无限自愈。
今日检查清单
- 给今天的产物命名,后面文章能继续引用:一个 Agent 配置对象、运行日志或工具调用记录
- 给今天的坑找一个反例或失败输入
- 给今天的文章补一个读者能直接照做的步骤
- 写出今天用到的 Agent 配置或运行参数
- 保存一次输入、工具调用、输出和错误信息
- 把能交给 SDK 的能力和必须自己写的业务逻辑分开
- 把下一篇需要的输入单独列出来