
字
字节笔记本
2026年10月24日 · 约 7 分钟读完
附录:agents-go 源码地图
API中转
¥120

本文是《从 0 写 Agent》系列的附录 A:agents-go 源码地图。案例代码基于开源项目 agents-go(OpenAI Agents SDK 的 Go 移植版)。
agents-go 核心 35 个文件、9154 行代码。这个附录是速查表,每个文件干什么、关键函数在哪。
核心 agents/ 包(35 文件)
运行时核心
| 文件 | 行数 | 核心内容 |
|---|---|---|
run.go | 663 | Run 入口、runner.loop 主循环、分支决策 |
run_step.go | 593 | processModelResponse(分类)、executeToolsAndSideEffects(执行) |
stream_run.go | 352 | 流式 Run 的 runStreamedLoop、streamOneModelCall |
stream.go | 136 | StreamedResult、三种 StreamEvent、emit |
run_state.go | 339 | RunState 序列化/反序列化、ResumeRun |
run_context.go | 112 | RunContext、ApprovalStore |
Agent 和工具
| 文件 | 行数 | 核心内容 |
|---|---|---|
agent.go | 240 | Agent 结构体定义 |
tool.go | 101 | Tool 接口、FunctionTool、封闭接口 |
function_tool.go | 94 | NewFunctionTool 泛型构造 |
tool_output.go | 130 | ToolOutputText/Image/File 多模态输出 |
tool_guardrails.go | — | 工具级 guardrails |
多 Agent
| 文件 | 行数 | 核心内容 |
|---|---|---|
handoff.go | 80 | Handoff 结构、HandoffTo |
handoff_history.go | 158 | NestHandoffHistory、flatten、summary |
agent_tool.go | 92 | AsTool、嵌套 Run、继承策略 |
lifecycle.go | 287 | RunHooks/AgentHooks、7 回调、CompositeRunHooks |
模型层
| 文件 | 行数 | 核心内容 |
|---|---|---|
model.go | — | Model 接口、ModelRequest、ModelProvider |
model_retry.go | 252 | RetryModel、backoff、equal jitter |
model_fallback.go | 109 | FallbackModel、降级链 |
model_router.go | 60 | RouterProvider、前缀路由 |
model_settings.go | 190 | 温度/max_tokens 等设置 |
其他
| 文件 | 行数 | 核心内容 |
|---|---|---|
session.go | 123 | Session 接口、InMemorySession |
session_fork.go | 98 | ForkSession、ForkSessionAt |
guardrail.go | 145 | InputGuardrail、OutputGuardrail |
items.go | 125 | RunItem 接口、TResponseInputItem 别名 |
run_items.go | 239 | 各种 RunItem 实现 |
output.go / output_schema.go | — | 结构化输出 |
schema.go / strict_schema.go | 195 | JSON Schema 生成 |
mcp.go | — | MCPServer 接口 |
prompt.go | — | Prompt 管理 |

子包
| 包 | 文件数 | 主题 |
|---|---|---|
memory/ | 1 | FileSession(JSONL 崩溃安全) |
sessions/ | 1 | SQLSession(SQLite/Postgres) |
mcp/ | 1 | MCP 客户端 |
skills/ | 1 | SKILL.md 渐进式披露 |
sandbox/ | 4 | Sandbox 抽象 + LocalSandbox |
sandbox/docker/ | 2 | Docker 后端(独立 module) |
sandbox/ssh/ | 2 | SSH 后端(独立 module) |
tracing/ | 5 | trace/span/processor/exporter |
models/openai/ | — | OpenAI provider |
agents-server(cmd/agents-server)
| 目录 | 文件数 | 职责 |
|---|---|---|
cmd/ | 1 | cobra 装配 |
internal/server/ | 4 | Gin 引擎、鉴权、WS |
internal/handler/ | 13 | HTTP/WS handler |
internal/store/ | ~12 | bun ORM、10 表、泛型 CrudStore |
internal/bridge/ | ~5 | SDK 桥接、Runner、OAuth |
internal/protocol/ | 1 | WS 消息类型 |
internal/web/ | 1+前端 | go:embed |
基于 agents-go 追踪 openai-agents-python v0.17.4 的版本。行号可能随版本变化,按函数名/类型名搜索定位。
本文是《从 0 写 Agent》系列附录,全系列目录见总览。
相关文章
分享:
