3f0c6b2277e52f7b227b7f611d36818d8b5cb757
Co-authored-by: Cursor <cursoragent@cursor.com>
Agent-Native
独立的 Agent 执行基础仓库:自研执行内核(runtime)、模型与工具能力接入、外部 Agent 适配器(现有 PI Runner 等),以及共用执行契约与行为验收(conformance)。
本仓库是该模块的源码位置。Go 模块路径为 agent-native。
仓库分层
| 层 | 职责 | 依赖边界 |
|---|---|---|
| contract | 执行契约:Request/Result/Outcome/Error/Capability/Backend/Resolver | 不依赖内核、产品类型、数据库、配置 |
| exec | 执行端口:Backend/Request/Result/ProcessEvent、步骤重试与失败分类、交付物物化、Stub、并发限流 | 面向调用方的执行端口 |
| runtime | 多轮循环、工具调度、模型调用、执行会话 | 实现 contract;不导入 Core/Squad |
| adapters | PI Runner transport / typed-result-v1;native:自研内核 runtime → exec.Backend(规范后端名 agent-native,含会话毒化轮转——resume-unsafe 失败后自动换新会话) | 显式映射外部差异,不伪造缺失能力 |
| conformance | 所有 Backend 共用的行为验收 | fake 验证契约,真实 adapter 验证能力 |
规范后端名:agent-native(pi-native 为兼容别名,由调用方注册表解析)。
包
| 包 | 内容 |
|---|---|
| contract | 四态执行契约 |
| conformance | 行为验收套件与 fake |
| exec | Backend/Request/Result/ProcessEvent、步骤重试与失败分类、交付物物化、Stub、并发限流 |
| runtime | 多轮循环、llm、session、tools(含单测) |
| adapters/native | runtime 作为 exec.Backend,含会话毒化轮转 |
| adapters/pitransport | typed-result-v1 编解码、远程结果解析、Runner 搜索、鉴权头(含 Node 摘要交叉验证测试) |
本模块不依赖 Core 或 Squad。上层产品依赖本模块的 contract 与 exec。
关键语义(详见 contract 包注释)
- ExecutionID 一次逻辑执行唯一;重试与受控 fallback 复用。
- Outcome 四态:Succeeded/Failed/Canceled/Unknown;Unknown 不静默降级。
- 失败副作用显式分类(none/possible);possible 禁止无条件重放。
- 重试单一责任层:步骤级归调用方,传输级有界归 adapter,turn 上限归 runtime。
- Workspace 路径授权 ≠ OS 沙箱。
开发
在仓库根目录:
go vet ./...
go test ./...
依赖本仓库
消费方把本仓库当作独立模块。模块路径是短名 agent-native,在消费方 go.mod 中用 replace 指向检出目录:
require agent-native v0.0.0
replace agent-native => ../Agent-Native
远程:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-Native.git
CI
.gitea/workflows/ci.yml:go vet + go test(host runner)。
Languages
Go
99.2%
Shell
0.6%
Python
0.2%