制定 AGC 接入独立 Agent 内核计划
明确以新 Kernel/Engine 替换 Codex 执行循环 保留 AGC 工具权限、Runtime 持久化、预览和完成门 先实现兼容桥与可回滚 agent_runtime 实验模式
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# AGC 接入独立 Agent 内核实施计划
|
||||
|
||||
## 目标
|
||||
|
||||
让 AGC 的 Codex 模式改由独立 `rust/` workspace 的 Agent Kernel/Engine 执行,
|
||||
同时保留 AGC 宿主对项目、工具权限、审批、Runtime 持久化、预览和完成门的控制。
|
||||
|
||||
## 第一阶段:兼容桥(当前)
|
||||
|
||||
- 在 AGC 与独立 workspace 之间建立明确的 `AgentTurnAdapter` 边界,不让两套
|
||||
`agent-runtime-core` 类型直接互相泄漏。
|
||||
- 输入:AGC 的消息历史、模型配置、工具定义、当前 Agent 身份和取消信号。
|
||||
- 输出:文本增量、结构化 tool call、工具结果、终态错误和可审计事件。
|
||||
- AGC 继续执行工具动作并写入自己的 Runtime;新 Engine 不创建第二套项目状态机。
|
||||
- 同步 Engine 与 AGC Tokio 的连接通过独立受控线程/有界 channel,禁止在同一 Tokio
|
||||
worker 内直接 `block_on`。
|
||||
|
||||
## 第二阶段:实验模式
|
||||
|
||||
- 新增 `agent_runtime` 模式,仅作为可回滚实验开关,默认仍使用现有 Codex 模式。
|
||||
- 先覆盖文本回复、单工具调用、工具结果回传、拒绝/取消/超时和事件顺序。
|
||||
- 使用现有 AGC fixture 对比旧 Codex 模式和新 Engine:消息、工具调用参数、Runtime
|
||||
事件、错误分类和终态必须一致。
|
||||
|
||||
## 第三阶段:真实接线
|
||||
|
||||
- 通过 AGC 已有项目 MCP/工具桥接入真实工具,不把项目绝对路径、凭据或 AGC 私有
|
||||
状态塞进新 Kernel 的公共契约。
|
||||
- 配置、`CODEX_HOME`、网络和 workspace 隔离仍由 AGC 宿主提供;独立 Engine 只消费
|
||||
已校验的中立端口。
|
||||
- 真实授权环境下执行文本、工具、取消、超时和重启恢复 smoke;失败自动回到旧模式。
|
||||
|
||||
## 完成判据
|
||||
|
||||
- `agent_runtime` 能在 AGC 中完成一次真实单 Agent 文本回合。
|
||||
- 至少一个 AGC 受控工具完成调用/结果回传,且没有绕过 AGC Runtime 权限和审计。
|
||||
- 新旧模式的 fixture 对比无消息、事件或终态差异;取消和未知副作用不自动重放。
|
||||
- all/no-default、AGC Rust 定向测试、编码和 diff 检查通过后,才讨论切换默认模式。
|
||||
|
||||
## 明确不做
|
||||
|
||||
- 不把 `codex-core` 搬进 AGC 或独立 Kernel。
|
||||
- 不直接删除 `codex_app_server`/`codex_cli`,不先升级 0.147.0 sidecar。
|
||||
- 不用 standalone AgentHost 的 SQLite 取代 AGC 现有 Runtime 持久化。
|
||||
Reference in New Issue
Block a user