ByteNoteByteNote
附录:agents-go 源码地图
字

字节笔记本

2026年10月24日 · 约 7 分钟读完

附录:agents-go 源码地图

API中转
¥120

项目记忆:CLAUDE.md 与自动记忆

本文是《从 0 写 Agent》系列的附录 A:agents-go 源码地图。案例代码基于开源项目 agents-go(OpenAI Agents SDK 的 Go 移植版)。

agents-go 核心 35 个文件、9154 行代码。这个附录是速查表,每个文件干什么、关键函数在哪。

核心 agents/ 包(35 文件)

运行时核心

文件行数核心内容
run.go663Run 入口、runner.loop 主循环、分支决策
run_step.go593processModelResponse(分类)、executeToolsAndSideEffects(执行)
stream_run.go352流式 Run 的 runStreamedLoop、streamOneModelCall
stream.go136StreamedResult、三种 StreamEvent、emit
run_state.go339RunState 序列化/反序列化、ResumeRun
run_context.go112RunContext、ApprovalStore

Agent 和工具

文件行数核心内容
agent.go240Agent 结构体定义
tool.go101Tool 接口、FunctionTool、封闭接口
function_tool.go94NewFunctionTool 泛型构造
tool_output.go130ToolOutputText/Image/File 多模态输出
tool_guardrails.go—工具级 guardrails

多 Agent

文件行数核心内容
handoff.go80Handoff 结构、HandoffTo
handoff_history.go158NestHandoffHistory、flatten、summary
agent_tool.go92AsTool、嵌套 Run、继承策略
lifecycle.go287RunHooks/AgentHooks、7 回调、CompositeRunHooks

模型层

文件行数核心内容
model.go—Model 接口、ModelRequest、ModelProvider
model_retry.go252RetryModel、backoff、equal jitter
model_fallback.go109FallbackModel、降级链
model_router.go60RouterProvider、前缀路由
model_settings.go190温度/max_tokens 等设置

其他

文件行数核心内容
session.go123Session 接口、InMemorySession
session_fork.go98ForkSession、ForkSessionAt
guardrail.go145InputGuardrail、OutputGuardrail
items.go125RunItem 接口、TResponseInputItem 别名
run_items.go239各种 RunItem 实现
output.go / output_schema.go—结构化输出
schema.go / strict_schema.go195JSON Schema 生成
mcp.go—MCPServer 接口
prompt.go—Prompt 管理

Claude Code

子包

包文件数主题
memory/1FileSession(JSONL 崩溃安全)
sessions/1SQLSession(SQLite/Postgres)
mcp/1MCP 客户端
skills/1SKILL.md 渐进式披露
sandbox/4Sandbox 抽象 + LocalSandbox
sandbox/docker/2Docker 后端(独立 module)
sandbox/ssh/2SSH 后端(独立 module)
tracing/5trace/span/processor/exporter
models/openai/—OpenAI provider

agents-server(cmd/agents-server)

目录文件数职责
cmd/1cobra 装配
internal/server/4Gin 引擎、鉴权、WS
internal/handler/13HTTP/WS handler
internal/store/~12bun ORM、10 表、泛型 CrudStore
internal/bridge/~5SDK 桥接、Runner、OAuth
internal/protocol/1WS 消息类型
internal/web/1+前端go:embed

基于 agents-go 追踪 openai-agents-python v0.17.4 的版本。行号可能随版本变化,按函数名/类型名搜索定位。


本文是《从 0 写 Agent》系列附录,全系列目录见总览。

相关文章

分享: