2.8 KiB
2.8 KiB
Agent-Native
可复用的 Agent 执行基础:自研执行内核(runtime)、模型/工具能力接入、外部 Agent 适配器(现有 PI Runner 等)与共用契约验收(conformance)。
仓库分层(U7a 首切片:仅 contract + conformance)
| 层 | 职责 | 依赖边界 |
|---|---|---|
| contract | 执行契约:Request/Result/Outcome/Error/Capability/Backend/Resolver | 不依赖内核、产品类型、数据库、配置 |
| runtime | agentx 演进的多轮循环、工具调度、模型调用、执行会话(U7b 迁入) | 实现 contract;不导入 Core/Squad |
| adapters | PI Runner transport / typed-result-v1(U7b 迁入);native:自研内核 runtime → exec.Backend 适配(规范后端名 agent-native,主仓 pinative 的通用化副本;含会话毒化轮转——resume-unsafe 失败后自动换新会话) | 显式映射外部差异,不伪造缺失能力 |
| conformance | 所有 Backend 共用的行为验收 | fake 验证契约,真实 adapter 验证能力 |
规范后端名:agent-native(pi-native 为兼容别名,由 Core 侧注册表解析)。
关键语义(详见 contract 包 doc.go)
- ExecutionID 一次逻辑执行唯一;重试与受控 fallback 复用。
- Outcome 四态:Succeeded/Failed/Canceled/Unknown;Unknown 不静默降级。
- 失败副作用显式分类(none/possible);possible 禁止无条件重放。
- 重试单一责任层:步骤级归调用方,传输级有界归 adapter,turn 上限归 runtime。
- Workspace 路径授权 ≠ OS 沙箱。
消费方式(首期)
外层组合(Agent-System 主仓 gitlink)固定精确 SHA,Go 相邻 replace 引用:
replace agent-native => ../agent-native
构建须 GOWORK=off;不通过 go get 路由依赖(实例 URL 带端口,见主仓方案 KTD3)。
CI
.gitea/workflows/ci.yml:go vet + go test(host runner)。
分层现状(U7b 本地提取,2026-09-29)
| 包 | 内容 | 来源 |
|---|---|---|
| contract | 四态执行契约(v0.1.0 已发布) | U7a 原生 |
| conformance | 行为验收套件 + fake | U7a 原生 |
| exec | 冻结执行端口:Backend/Request/Result/ProcessEvent、步骤重试/失败分类、交付物物化、Stub、并发限流 | 主仓 internal/agent 对应文件冻结副本(测试随迁,PI 远程 runner 测试留主仓) |
| runtime | agentx 多轮循环/llm/session/tools(含全部单测) | 主仓 internal/agentx 派生 |
| adapters/pitransport | typed-result-v1 编解码、远程结果解析、Runner 搜索、鉴权头(含 Node 摘要交叉验证测试) | 主仓 internal/agent 传输件冻结副本 |
依赖方向:squad → agent-native(exec);agent-native 不依赖 squad/Core。 主仓 internal/agentx 与 internal/agent 对应文件仍是权威;主仓变更后按 sync 流程重派生(各包 sync 说明见包内注释)。