My Agent Core Design - Tool Registry
Tool Registry 采用分层工具系统: 底层 ToolAdapter. 上层 ToolRegistry 负责权限、并发、查找、执行和 result normalize. 所有 tool 来源进入 registry 后都转成统一 tool definition / tool result. Tool canonical ...
Tool Registry 采用分层工具系统: 底层 ToolAdapter. 上层 ToolRegistry 负责权限、并发、查找、执行和 result normalize. 所有 tool 来源进入 registry 后都转成统一 tool definition / tool result. Tool canonical ...
Instructions & Skills Prompt composer 区分 system prompt 和 non-system prompt. System prompt 分为: static system blocks: core builtin instructions, agent role/mode, provider adaptat...
Memory Memory 是用户级长期知识. 第一版只支持用户级 memory, 固定落在 ${SOONG_AGENT_HOME}/memory. 第一版不支持项目记忆: 不存在 <project>/.soong-agent/memory. 不把项目文件、Task DAG、Plan 正文或完整 transcript 当作可恢复的...
Agent Core SDK Design This document has been split into chapter files for easier editing. Chapters Goal Python Implementation Runtime API Loop Provider Adapter Context & Session...
Artifacts Artifact 指 agent 运行过程中产生或捕获的运行产物, 不是普通项目文件. 典型 artifact: 大 tool result. 长测试/build/API 日志. 子 agent 详细产物. compact 原文或摘要产物. provider raw response / h...
Compact 大 tool result 放入 artifact 文件, message 中只保留摘要和 artifact 引用. Compact 采用 Pi 风格: 不删除、不物理替换原始 nodes. 追加一个 compaction node. compaction node 记录 summary, first_kept_nod...
Event Stream & Observability 第一版支持 session replay + 结构化 event log. SDK 自身日志使用 Python 标准库 logging. logging 默认输出简洁文本日志, 用于诊断 SDK 自身问题. 完整运行 timeline、调试信息和可 replay 数据以 event / SQLite / a...
Context & Session Context 采用 Node 模型, 每个 conversation item 是一个树节点. 使用 SQLite 持久化 conversation/session 数据, session 数据集中存放在用户级 ${SOONG_AGENT_HOME}/sessions.sqlite. Session 是完整 agent tree ...
Provider Adapter 采用强抽象: core 内只使用统一协议, OpenAI / Anthropic 等差异全部压到 adapter 层. 统一协议覆盖: message content block tool call tool result stop reason usage ...
Loop 使用单层 inner loop. 单次用户输入跑到完成; loop 执行中如果有新用户输入, 只进入队列, 不插入当前 loop, 也不主动打断当前 tool/model. 新消息队列第一版固定 FIFO. 第一版不支持 interrupt / replace 策略. 调用方如果想中断当前 run, 必须显式调用 run.cancel(). 同一个 se...