历史选型调研 / 周报附件

运行底座重评:阅读入口

历史版本 6c911d40

来源:docs/reports/2026-09-21-AI助手运行底座重评/README.md

AI 助手运行底座重评:结论、证据与汇报提纲(草案)

性质:工作层调研与汇报准备件,不是对外稿,不改既定口径。发起:白晨 2026-09-21 口述(要说服陈洁(Ricky,部门研发负责人)同意「平台 AI 助手不跑在 ndclaw 运行时上、改用轻量 harness」)。本文先判断主张是否成立,再给证据,最后给汇报提纲;向上汇报稿另写,等白晨与本文对齐后再出。 取证日期 2026-09-21。四份附录各自独立取证:附录 A 是 ~/AI-Hub-Project/ 只读代码考古+AWS 中国区官网定价;附录 B 是 Python 进程内薄 harness 候选的一手取证;附录 C 是四家厂商官方口径、定价、首响研究与同类产品;附录 D〈仓库引用;未随包提供〉 是 Codex 经 orca 独立写的对抗评审(扮演陈洁的 12 条质询+独立判断+最小实验)。 标注:【事实】有一手来源;【推断】基于事实的推理;【待验证】需实测或问人。仓库内引用写 路径:行号。

零、一页结论

  1. 白晨的方向成立,但三条主张要各自修正一处,否则在陈洁面前站不住。
    • 「定位不需要沙箱」:成立,且不是新主张——对外技术方案 §3 已定 AI 助手是「组织者,自己不产出内容」,0902 的 36 页已建议「团团平台自建、AI 员工经 A2A 接 ndclaw」。要补的是「首期工具白名单里没有代码执行、浏览器、任意上传件解析」这个前提(附录 D 第 8 条)。
    • 「冷启动差」:成立且有一手证据(daemon README 实测:冷路径点击到第一个字约 60 s、预热池约 25 s、第二轮起 3~7 s;18 s 首轮 TTFT 来自 OpenClaw 进程内懒初始化,预热池帮不上)。要补的是:这组数字是 OpenClaw 引擎的历史记录,claude-code 引擎没有数据——陈洁可以问「你是不是拿错了被告」(附录 D 第 4 条)。
    • 「贵,人均 100 元/月」:不成立,要换论点。按 AWS 中国区单价,100 个月活、每人每天 3 次短对话的容器可变成本只有 ¥300~¥1,500/月(人均 ¥3~¥15);口述的「1 万元/月」按仓库里的 CDK 定义反推,大头是固定设施 × 五套环境(单环境固定部分约 ¥1,900~¥2,300,其中接口型 VPC Endpoint 就 ¥1,134)。站得住的论点是成本形状:短对话为 30 分钟空闲回收买单(一次 5 分钟对话计费约 36 分钟,86% 在空转)、1 分钟起计、浏览器标签页不关容器永不空闲、200 任务硬上限(附录 A)。
  2. 「选 Pi」要改口为「Python 进程内(或无凭据常驻)薄 harness,Pi 只是设计参考」。 后端是 Python,Pi 是 TypeScript 且无官方 Python 实现;Pi 不内置 MCP 这条在「工具=进程内 Python 函数」前提下变成无关,但反过来要对技术方案 §3.3「工具面走开放工具协议」做一次显式裁决。附录 B 按新前提重打分:pydantic-ai 4.45 第一、自建薄(借 Pi 设计)4.33 第二,两者差在噪声内、取舍由「愿不愿用第三方抽象换一两千行自维护代码」这条组织判断定;Claude Agent SDK、DeepSeek Harness、Anthropic tool_runner 因「要拉子进程」或「走不了公司 OpenAI 兼容网关」不过硬门槛。详见 §四。
  3. 与 0904 调研(50 页)的关系要如实讲:那页的结论「沿用 daemon+Claude Agent SDK 4.45 分」建立在「运行环境层=daemon」的前提上,没有把成本与首响作为打分维度;它预留的唯一翻盘出口「daemon 不可复用」指的是组织条件。这次不是那个出口被触发,而是补充了当时遗漏的两条约束(C 端首响、短会话成本形状)后的重评。汇报时不能说「旧结论早已覆盖」,要说「按旧文预留的复核路径启动,并补上遗漏的约束」(附录 D 第 11 条与第二部分第 4 节)。
  4. 业界一手证据一边倒:OpenAI/Anthropic/AWS/Google 四家的参考架构里,沙箱都是 agent 按需调用的工具或长任务专用环境,不是助手本身的宿主;Anthropic 把 harness 从容器里拿出来后 p50 TTFT 降约 60%、p95 降超 90%;NN/g 的 10 秒注意力阈值放了 46 年没变,25~60 s 首响是它的 2.5~6 倍、是国产模型自身 TTFT 的 10~20 倍(附录 C)。反证(要跑代码、产文件、长时有状态的场景确实需要沙箱)真实存在,但技术方案 §4.1 已把它切到「资产通道/能力通道」,与 AI 助手「不共用同一个会话、同一份工具权限」(docs/reports/2026-09-AI创业平台技术方案/AI创业平台技术方案.md:455)。
  5. 最该先做的一件事不是写汇报稿,是一天的对照实验:同一网关、同一模型、同一请求,对比「当前可复用的 daemon 引擎路径」与「常驻 Python 最小流式转发路径」的新会话首响,配对 ≥ 20 组(附录 D 第二部分第 5 节给了完整步骤与判据)。它把最大的不确定性(claude-code 引擎路径到底慢不慢)变成数据,也是陈洁最难反驳的东西。
  6. 两处要在汇报前收口的内部张力:(a) 正式设计稿《工作台策划说明》写「AI 执行:优先在会话中直接完成」,与技术方案「生产类内容不由 AI 助手产出」要对齐;(b) 技术方案 §3.1/§8.1 把「每会话独立的进程或容器、预热、跨主机会话恢复」写进运行环境层定义,是以 daemon 为前提的措辞,改方案要同步改写(附录 C 第 5.3 节)。
  7. 陈洁最可能的 12 条反驳已由 Codex 预演(附录 D 第一部分),每条都写了「白晨要用什么证据才站得住」。其中三条本文还没有证据、必须问运维或实测:按环境/服务拆分的真实账单、各环境 spare 实际值与池命中率、claude-code 引擎首响。

一、AI 助手的定位:它是「组织者」,不是「个人助手」

这一节回答「平台的 AI 助手是什么」,全部依据仓库里已定的口径,不是本文新立。

出处 定位原话 对运行底座的含义
对外技术方案术语表(docs/reports/2026-09-AI创业平台技术方案/AI创业平台技术方案.md:15) AI 助手是「用户在平台上的对话入口,是工作链的组织者;经工具读写业务模块,自己不产出内容」 它的工作是判断与调度,不是执行与生产
同文 §3(:181、:241) 「对话立项、项目推进、有边界的通用问答」;「凡它能做的事,用户在界面上点击也能做」 它调用的是与界面相同的模块接口,工具面是平台自己的函数
同文 §3.5(:391、:398) 「生产类内容不直接由 AI 助手产出」;「只承担让用户会用平台、聊得下去的轻问答,凡是需要产出内容或做专业判断的事一律转出去」 不需要文件系统、不需要执行代码、不需要跑外部技能
正式设计稿《工作台策划说明》第三节(docs/prototypes/2026-09-16-AI创业平台设计稿正式版-开发交接/原始交付/工作台策划说明.md:56-68) 「交给团团:统一意图入口」——判断五类意图(讨论咨询/AI 执行/日程提醒/项目创建/查询导航),「必须反馈『我理解你是想……』」,涉及发送、提交、发布、付费、删除等动作「必须先获得用户确认」 每轮是「理解→复述→建议下一步→等确认」,典型的判断型短轮次对话
0903 评审裁决(08 页〈仓库引用;未随包提供〉 第二节) 「资产+运行时=能力」:能力的运行时不放在本平台;只给 skill 不给运行时的按资产处理 需要沙箱的事(代跑外部技能)在能力接入层的资产通道,与 AI 助手是两个问题(技术方案 :455)

结论:平台 AI 助手的本质是「理解需求→拆解任务→匹配能力→请求确认」的判断型组织者。ndclaw 的运行时是为「一个人×一个会话×一个可执行任意工具的沙箱」设计的个人助手底座(36 页 §2〈仓库引用;未随包提供〉)。两者的诉求不同,不是谁好谁坏。「不需要沙箱」的准确说法是「首期不配置每会话通用代码执行沙箱」——身份、数据、凭据、配额、工具权限与故障隔离一条都不少(附录 D 第二部分第 3 节有「哪些未来需求会把沙箱带回来、放在哪」的表)。

一处要在设计稿上收口的张力:策划说明第 62 行写「AI 执行:优先在会话中直接完成」,而技术方案定「生产类内容不由 AI 助手产出」。本文按技术方案口径理解「会话内直接完成」为轻量判断类回答(草拟、总结、提取),凡需产出作品的仍转 AI 员工;这条需在向上汇报前与产品侧对齐,否则「不需要沙箱」的前提会被这句话反问。

二、ndclaw 运行时的延迟与成本:证据与正确的论点(附录 A)

2.1 延迟【事实】

daemon README「冷启动延迟优化」节(~/AI-Hub-Project/agent-hub-daemon/README.md:548-568):

路径 用户拿到 wsUrl 首轮 TTFT 点击→第一个字 第二轮起
冷(started) ~42 s ~18 s ~60 s 3~7 s
预热池(claimed) ~6 s ~18 s ~25 s 3~7 s

18 s 的首轮 TTFT 来自 OpenClaw 进程内懒初始化(acpx runtime、bedrock 探测在中国区必失败要等超时、插件注册)+ Ark 首 token ~5.5 s;README 明说「warm pool 也帮不了」,「claim 后先跑一次假对话」已试过并回退。A2A 路径专家冷启动首次调用约 200 s。claude-code 引擎没有单独的延迟数据(只有健康检查 start_period 90 s 对 300 s 这一旁证)。

2.2 成本【事实+推断】

2.3 正确的论点

「人均 100 元」这个除法在方向上不成立,陈洁一句「多接 10 个用户边际成本≈0」就能打掉。站得住的是形状:

  1. 容器费按墙钟计、含拉镜像与空闲等待;token 费按工作量计,用户不说话为零。C 端「大量短对话、长时间无人」与前者不匹配。
  2. 要把 daemon 改成适合短对话,只有三类改动:缩短空闲回收、扩大预热池、共享常驻容器。前两类不改变成本形状与 18 s 首轮下限,第三类等于放弃「每会话一沙箱」——而这正是 daemon 的全部设计理由(EFS 按会话隔离、STS 作用域凭据、POSIX uid 隔离、单用户 OpenClaw 配置)。
  3. 模型延迟(Ark 首 token ~5.5 s)两条路都一样,不应算在 daemon 头上;模型 token 费两条路也完全相同(都经公司 AI Gateway)。用轻量模型时容器小时费与 token 费同量级(GLM-5.3-Flash 一次 15 轮会话约 ¥0.12 对一小时容器 ¥0.14),技术方案 :431 引用的「token 花费比宿主高一个数量级」只在旗舰价位成立,汇报时不要引它。

三、业界怎么做(附录 C)

厂商 官方口径 出处
OpenAI Agents API 执行环境「hosted sandbox, self-hosted sandbox, or no sandbox」;Agents SDK 的 FunctionTool 是进程内函数,Code Interpreter 是单独计费的 container 工具(20 分钟一档) 附录 C S1~S5
Anthropic Managed Agents 定位「分钟到小时级、要读写文件与跑代码」;工程博客:把 harness 从容器里拿出来、只在需要时拉容器后 p50 TTFT 降约 60%、p95 降超 90%;《Building effective agents》「最成功的实现用简单可组合的模式而不是复杂框架」 S6、S7、S9
AWS AgentCore Runtime(每会话 microVM)与 Code Interpreter 是两个独立计费产品;冷启动均值 2.9 s、预热后 250 ms S10~S12
Google ADK 官方部署路径之一是 Cloud Run 上的普通 FastAPI 容器、多会话共用、会话存数据库;Code Execution 另作沙箱产品 S13~S16

首响预期:NN/g 0.1 s/1 s/10 s 三阈值(超过 10 s 用户注意力离开任务);Artificial Analysis 实测国产模型 TTFT 1.2~2.9 s;CHI 2026 与 Andes 两项研究把首字延迟列为用户挫败与可信度的首要信号。同类「理解需求→匹配供给」产品能找到一手技术描述的两家(Upwork Uma、阿里云智能导购参考架构)都是「模型+平台工具调用循环」,无每用户常驻沙箱。

四、候选:Python 进程内薄 harness(附录 B)

硬门槛两条:①能在平台 FastAPI 进程内以库方式运行、不拉子进程;②能经公司 OpenAI 兼容网关调含 GLM 的模型。三个候选被门槛淘汰,原因都是「不是进程内」或「走不了公司网关」,不是能力问题:Claude Agent SDK 唯一传输是拉起捆绑在 wheel 里的 claude CLI 子进程(二进制 217 MB),官方明说不支持经网关路由到非 Claude 模型;DeepSeek Harness 官方 Python SDK 是「用 JSON-RPC 驱动 dsh 子进程」,架构文档明确拒绝进程内挂载,今天仍标 developer preview;Anthropic SDK 的 tool_runner 请求路径硬编码 Anthropic Messages 协议,且只能调 Claude。

打分(八维:50 页六维保留但 E「协议跟进」从 15% 降到 5%、A/B 各降 5%,新增 G「首响延迟」与 H「常驻成本」各 10%):

候选 总分 门槛 一句话
pydantic-ai(pydantic-ai-slim[openai]) 4.45 过 纯 Python、核心依赖 9 个、确认门完全本地(requires_approval → DeferredToolRequests 落库 → DeferredToolResults 续跑)、已有智谱 GLM 的 provider 与 profile、版本政策明文「minor 不做破坏性变更」(2.0 于 2026-06-23 发布)、遥测 opt-in
自建薄(Python,借 Pi 的 loop 设计) 4.33 过 可移植与不被收割两维满分;新前提把 50 页「要自己重写的六项」砍掉三项(子 agent、技能加载、会话分支)、两项降级(压缩→按轮截断、多模型差异→网关抹平只剩 GLM 的 strict/json_schema),剩 loop+事件+钩子+序列化约 1~2 千行加同等测试
OpenAI Agents SDK 4.05 过 MIT、进程内;但 0.Y 每升即 breaking(6 个月 6 次)、强依赖 mcp、默认往 OpenAI 上报 tracing 要关、Chat Completions 路径静默丢字段
Google ADK 3.80 过 Apache-2.0;核心必装 23 项含 fastapi/uvicorn/otel 与平台叠一层;双向流仅 Gemini;Event 模型是 Gemini 形态
Pi(Node sidecar) 3.15 不过① 无官方 Python;agent 包 6 个月 9 个版本带 Breaking Changes,无 semver 承诺;core 的 runLoop 只有约 130 行、但 core 包不含测试 3 万行,「loop 薄」成立、「包薄」不成立
Anthropic tool_runner/DeepSeek Harness/Claude Agent SDK 3.45/2.95/2.90 不过 见上

读法:pydantic-ai 与自建薄差 0.12 在噪声内,敏感性分析显示两者取舍不由分数定,由一条组织判断定——平台愿不愿意用一个第三方的 Model/Agent 抽象换掉一两千行自维护代码。附录 B 的建议:先用 pydantic-ai 起步,把工具函数、消息历史 JSON、确认门协议三样写成平台自持的边界,两年内若要换成自建,业务面零改动。Pi 的正确位置是设计参考:值得搬到 Python 的是它 loop 的形状(10 种三层事件、阻断/覆盖/停止三种钩子语义、steering 与 follow-up 两个队列、stopReason=length 时整批工具调用判失败不执行、convertToLlm 与 transformContext 两个纯函数边界),不是代码。

与 50 页结论差异的原因是前提变化,不是事实变化:0904 到 0921 被核实的事实没有一条反转;变的是四条前提(运行环境层不再是 daemon、工具面不再以 MCP 为硬约束、确认门等由平台自建、新增首响与常驻两维),而 50 页 §6 改选条件 2 与 4 早已写明这两种前提变化下 Pi 与自建薄会升。50 页当年没评 pydantic-ai(只一句「层次更薄、未入打分表」),是本轮补进来后它拿了第一,这一点要如实讲。

所有候选的首响都是路径分析,没有一个实测过——这是 §零第 5 条实验要补的进程内那一半。

五、Codex 对抗评审要点(附录 D)

Codex 扮演陈洁给了 12 条质询,本文认为最要命的四条是:

质询 本文能否回应 缺什么
「你测的是 OpenClaw,9 月 4 日推荐的是 claude-code 引擎,是不是拿错了被告?」 部分:README 只有 OpenClaw 数据 claude-code 引擎首响实测(§零第 5 条的一天实验)
「你自己 9 月 4 日给在位方案 4.45 分,现在是不是为了换方案重调权重?」 能:旧文没有成本与首响维度,且自己写明结论的条件性 措辞要是「补充遗漏约束后的重评」,不是「旧出口早已覆盖」
「不隔离进程,模型被诱导越权时业务后端的数据库凭据不就暴露了?」 部分:技术方案 §3.2 要求「引擎进程不持有凭据」,把引擎直接嵌进持有数据库凭据的 FastAPI 进程不能原样满足这条 要显式裁决:同进程(放宽为逻辑隔离)还是「无业务凭据的常驻引擎服务+受控工具服务」;后者仍不要求每会话一容器
「预热池加大、池内提前初始化,延迟不就解决了?」 能:README 记录假对话方案净时间不变、池内初始化因安全风险未做 要问运维当前 spare、池命中率、引擎版本,不能拿历史 README 当线上指标

Codex 的独立判断与本文一致的部分:方向对;「选 Pi」应改口;「不需要沙箱」要改成「首期不配置每会话通用执行沙箱」并列出未来触发表;先做一天实验再谈替换。不一致的部分:Codex 认为「daemon 优化并复用」应保留为首期路线之一直到实测证否,本文认为即使 claude-code 引擎首响达标,成本形状与前端绑定 OpenClaw/daemon 私有协议两条仍成立——这一分歧留给白晨定。

六、向上汇报提纲(草案,待与白晨对齐)

顺序按「先定位、再约束、再旧结论的条件、再新证据、最后只要一个小决定」:

  1. 平台 AI 助手是什么(1 页):组织者,不产出内容,五类意图,每轮等确认。引技术方案与正式设计稿原话,不引本文。
  2. ndclaw 继续承担什么(半页):AI 员工经 A2A 接入,资产通道代跑外部技能——生产能力接入 ndclaw 的方向不变。这一页放在前面,是为了让陈洁听到「不是抛弃 ndclaw」。
  3. 助手服务的三条约束(1 页):C 端首响目标(建议 ≤ 3 s 首字,由产品侧确认)、成本随对话量而非墙钟增长、前端不绑私有协议。附 NN/g 阈值与四家厂商参考架构一句话。
  4. 0904 调研说了什么、没说什么(半页):4.45 分的前提与两个遗漏维度;「团团自建」与「复用运行设施」本来就在不同层。
  5. ndclaw 运行时在这三条约束下的数据(1 页):延迟表、成本形状、三类改法及其代价(第三类=放弃沙箱)。
  6. 候选与推荐(1 页):附录 B 的矩阵收成一张表,推荐+第二选择+Pi 作设计参考。
  7. 只要一个决定(半页):批准一天对照实验+向运维索取账单与池配置;实验后再决定「继续优化复用」还是「进入薄层实施评估」。不在这次会上要「抛弃 ndclaw」的批准。

七、待白晨定的分岔

# 分岔 选项 本文倾向
1 引擎放哪 A 同 FastAPI 进程(凭据边界改为逻辑隔离,需修技术方案 §3.2/§8.1);B 无业务凭据的常驻引擎服务+受控工具服务(多一跳,守住原条文) B,理由是不用改安全条文、且仍零沙箱
2 工具面协议 A 进程内 Python 函数(放弃 §3.3「开放工具协议」措辞);B 函数外再包一层开放协议适配器 A 先做,契约(类型化参数、调用身份、幂等键、确认版本)不省
3 与陈洁谈的落点 A 要「换底座」的批准;B 要「一天实验+账单」的批准 B
4 设计稿「AI 执行在会话内完成」 A 收窄为判断类回答;B 保留并承认部分产出在助手内 A,否则「不需要沙箱」前提松动
5 Codex 与本文的分歧:claude-code 引擎若首响达标是否仍换 A 仍换(成本形状+协议绑定);B 不换 A,但要等实验数据再说

八、本轮没做、不冒称做了的事

查看带行号的原始 Markdown(共 134 行)
1# AI 助手运行底座重评:结论、证据与汇报提纲(草案)
2
3> 性质:**工作层调研与汇报准备件**,不是对外稿,不改既定口径。发起:白晨 2026-09-21 口述(要说服陈洁(Ricky,部门研发负责人)同意「平台 AI 助手不跑在 ndclaw 运行时上、改用轻量 harness」)。本文先判断主张是否成立,再给证据,最后给汇报提纲;**向上汇报稿另写**,等白晨与本文对齐后再出。
4> 取证日期 2026-09-21。四份附录各自独立取证:[附录 A](附录A-ndclaw运行时成本与延迟考古.md) 是 `~/AI-Hub-Project/` 只读代码考古+AWS 中国区官网定价;[附录 B](附录B-进程内薄harness候选调研.md) 是 Python 进程内薄 harness 候选的一手取证;[附录 C](附录C-业界证据-沙箱必要性首响与成本.md) 是四家厂商官方口径、定价、首响研究与同类产品;[附录 D](附录D-Codex独立评审-扮演陈洁质询与独立判断.md) 是 Codex 经 orca 独立写的对抗评审(扮演陈洁的 12 条质询+独立判断+最小实验)。
5> 标注:【事实】有一手来源;【推断】基于事实的推理;【待验证】需实测或问人。仓库内引用写 `路径:行号`。
6
7## 零、一页结论
8
91. **白晨的方向成立,但三条主张要各自修正一处,否则在陈洁面前站不住。**
10   - 「定位不需要沙箱」:**成立**,且不是新主张——对外技术方案 §3 已定 AI 助手是「组织者,自己不产出内容」,0902 的 36 页已建议「团团平台自建、AI 员工经 A2A 接 ndclaw」。要补的是「首期工具白名单里没有代码执行、浏览器、任意上传件解析」这个前提(附录 D 第 8 条)。
11   - 「冷启动差」:**成立且有一手证据**(daemon README 实测:冷路径点击到第一个字约 60 s、预热池约 25 s、第二轮起 3~7 s;18 s 首轮 TTFT 来自 OpenClaw 进程内懒初始化,预热池帮不上)。要补的是:这组数字是 OpenClaw 引擎的历史记录,claude-code 引擎**没有数据**——陈洁可以问「你是不是拿错了被告」(附录 D 第 4 条)。
12   - 「贵,人均 100 元/月」:**不成立,要换论点**。按 AWS 中国区单价,100 个月活、每人每天 3 次短对话的容器可变成本只有 ¥300~¥1,500/月(人均 ¥3~¥15);口述的「1 万元/月」按仓库里的 CDK 定义反推,大头是**固定设施 × 五套环境**(单环境固定部分约 ¥1,900~¥2,300,其中接口型 VPC Endpoint 就 ¥1,134)。站得住的论点是**成本形状**:短对话为 30 分钟空闲回收买单(一次 5 分钟对话计费约 36 分钟,86% 在空转)、1 分钟起计、浏览器标签页不关容器永不空闲、200 任务硬上限(附录 A)。
132. **「选 Pi」要改口为「Python 进程内(或无凭据常驻)薄 harness,Pi 只是设计参考」。** 后端是 Python,Pi 是 TypeScript 且无官方 Python 实现;Pi 不内置 MCP 这条在「工具=进程内 Python 函数」前提下变成无关,但反过来要对技术方案 §3.3「工具面走开放工具协议」做一次显式裁决。附录 B 按新前提重打分:**pydantic-ai 4.45 第一、自建薄(借 Pi 设计)4.33 第二**,两者差在噪声内、取舍由「愿不愿用第三方抽象换一两千行自维护代码」这条组织判断定;Claude Agent SDK、DeepSeek Harness、Anthropic `tool_runner` 因「要拉子进程」或「走不了公司 OpenAI 兼容网关」不过硬门槛。详见 §四。
143. **与 0904 调研(50 页)的关系要如实讲**:那页的结论「沿用 daemon+Claude Agent SDK 4.45 分」建立在「运行环境层=daemon」的前提上,**没有把成本与首响作为打分维度**;它预留的唯一翻盘出口「daemon 不可复用」指的是组织条件。这次不是那个出口被触发,而是**补充了当时遗漏的两条约束(C 端首响、短会话成本形状)后的重评**。汇报时不能说「旧结论早已覆盖」,要说「按旧文预留的复核路径启动,并补上遗漏的约束」(附录 D 第 11 条与第二部分第 4 节)。
154. **业界一手证据一边倒**:OpenAI/Anthropic/AWS/Google 四家的参考架构里,沙箱都是 agent 按需调用的**工具**或长任务专用环境,不是助手本身的宿主;Anthropic 把 harness 从容器里拿出来后 p50 TTFT 降约 60%、p95 降超 90%;NN/g 的 10 秒注意力阈值放了 46 年没变,25~60 s 首响是它的 2.5~6 倍、是国产模型自身 TTFT 的 10~20 倍(附录 C)。反证(要跑代码、产文件、长时有状态的场景确实需要沙箱)真实存在,但技术方案 §4.1 已把它切到「资产通道/能力通道」,与 AI 助手「不共用同一个会话、同一份工具权限」(`docs/reports/2026-09-AI创业平台技术方案/AI创业平台技术方案.md:455`)。
165. **最该先做的一件事不是写汇报稿,是一天的对照实验**:同一网关、同一模型、同一请求,对比「当前可复用的 daemon 引擎路径」与「常驻 Python 最小流式转发路径」的新会话首响,配对 ≥ 20 组(附录 D 第二部分第 5 节给了完整步骤与判据)。它把最大的不确定性(claude-code 引擎路径到底慢不慢)变成数据,也是陈洁最难反驳的东西。
176. **两处要在汇报前收口的内部张力**:(a) 正式设计稿《工作台策划说明》写「AI 执行:优先在会话中直接完成」,与技术方案「生产类内容不由 AI 助手产出」要对齐;(b) 技术方案 §3.1/§8.1 把「每会话独立的进程或容器、预热、跨主机会话恢复」写进运行环境层定义,是以 daemon 为前提的措辞,改方案要同步改写(附录 C 第 5.3 节)。
187. **陈洁最可能的 12 条反驳已由 Codex 预演**(附录 D 第一部分),每条都写了「白晨要用什么证据才站得住」。其中三条本文还没有证据、必须问运维或实测:按环境/服务拆分的真实账单、各环境 `spare` 实际值与池命中率、claude-code 引擎首响。
19
20## 一、AI 助手的定位:它是「组织者」,不是「个人助手」
21
22这一节回答「平台的 AI 助手是什么」,全部依据仓库里已定的口径,不是本文新立。
23
24| 出处 | 定位原话 | 对运行底座的含义 |
25|---|---|---|
26| 对外技术方案术语表(`docs/reports/2026-09-AI创业平台技术方案/AI创业平台技术方案.md:15`) | AI 助手是「用户在平台上的对话入口,是工作链的**组织者**;经工具读写业务模块,**自己不产出内容**」 | 它的工作是判断与调度,不是执行与生产 |
27| 同文 §3(`:181`、`:241`) | 「对话立项、项目推进、有边界的通用问答」;「凡它能做的事,用户在界面上点击也能做」 | 它调用的是与界面相同的模块接口,工具面是平台自己的函数 |
28| 同文 §3.5(`:391`、`:398`) | 「生产类内容不直接由 AI 助手产出」;「只承担让用户会用平台、聊得下去的轻问答,凡是需要产出内容或做专业判断的事一律转出去」 | 不需要文件系统、不需要执行代码、不需要跑外部技能 |
29| 正式设计稿《工作台策划说明》第三节(`docs/prototypes/2026-09-16-AI创业平台设计稿正式版-开发交接/原始交付/工作台策划说明.md:56-68`) | 「交给团团:统一意图入口」——判断五类意图(讨论咨询/AI 执行/日程提醒/项目创建/查询导航),「必须反馈『我理解你是想……』」,涉及发送、提交、发布、付费、删除等动作「必须先获得用户确认」 | 每轮是「理解→复述→建议下一步→等确认」,典型的判断型短轮次对话 |
30| 0903 评审裁决([08 页](../../../wiki/08-技术方案评审与待决策裁决-0903凌晨对谈.md) 第二节) | 「资产+运行时=能力」:能力的运行时不放在本平台;只给 skill 不给运行时的按资产处理 | 需要沙箱的事(代跑外部技能)在**能力接入层的资产通道**,与 AI 助手是两个问题(技术方案 `:455`) |
31
32**结论**:平台 AI 助手的本质是「理解需求→拆解任务→匹配能力→请求确认」的**判断型组织者**。ndclaw 的运行时是为「一个人×一个会话×一个可执行任意工具的沙箱」设计的个人助手底座([36 页 §2](../../../archive/wiki过时页/wiki-过时页-0908归档/36-ndclaw复用可行性调研.md))。两者的诉求不同,不是谁好谁坏。**「不需要沙箱」的准确说法是「首期不配置每会话通用代码执行沙箱」**——身份、数据、凭据、配额、工具权限与故障隔离一条都不少(附录 D 第二部分第 3 节有「哪些未来需求会把沙箱带回来、放在哪」的表)。
33
34**一处要在设计稿上收口的张力**:策划说明第 62 行写「AI 执行:优先在会话中直接完成」,而技术方案定「生产类内容不由 AI 助手产出」。本文按技术方案口径理解「会话内直接完成」为轻量判断类回答(草拟、总结、提取),凡需产出作品的仍转 AI 员工;这条需在向上汇报前与产品侧对齐,否则「不需要沙箱」的前提会被这句话反问。
35
36## 二、ndclaw 运行时的延迟与成本:证据与正确的论点(附录 A)
37
38### 2.1 延迟【事实】
39
40daemon README「冷启动延迟优化」节(`~/AI-Hub-Project/agent-hub-daemon/README.md:548-568`):
41
42| 路径 | 用户拿到 wsUrl | 首轮 TTFT | 点击→第一个字 | 第二轮起 |
43|---|---|---|---|---|
44| 冷(`started`) | ~42 s | ~18 s | **~60 s** | 3~7 s |
45| 预热池(`claimed`) | ~6 s | ~18 s | **~25 s** | 3~7 s |
46
4718 s 的首轮 TTFT 来自 OpenClaw 进程内懒初始化(acpx runtime、bedrock 探测在中国区必失败要等超时、插件注册)+ Ark 首 token ~5.5 s;README 明说「warm pool 也帮不了」,「claim 后先跑一次假对话」已试过并回退。A2A 路径专家冷启动首次调用约 200 s。**claude-code 引擎没有单独的延迟数据**(只有健康检查 `start_period` 90 s 对 300 s 这一旁证)。
48
49### 2.2 成本【事实+推断】
50
51- 【事实】部署在 AWS 宁夏区;OpenClaw 引擎容器 1 vCPU/2 GiB(¥0.26/h,常驻 ¥187/月),claude-code 引擎 2 vCPU/4 GiB(¥0.52/h);预热池容器按全价空转;Router 每 60 s 扫描、1800 s 无帧回收;**上游到浏览器的任何帧都刷新活跃时间**,OpenClaw 网关每 30 s 广播 `tick`【推断,待抓帧】→ 标签页不关容器永不空闲。
52- 【推断】一次「聊 5 分钟就走」计费约 36 分钟,有效利用率 14%,单次 ¥0.16(1/2 规格)。100 月活、每人每天 3 次短对话:可变成本 **¥300~¥1,500/月,人均 ¥3~¥15**。
53- 【推断】单环境固定部分 ¥1,900~¥2,300/月(接口型 Endpoint ¥1,134、NAT ¥266、ALB ¥115、Router/LLM Proxy/watcher 常驻容器);daemon 有五套环境,固定部分合计 ¥4,100~¥9,700,**「约 1 万元/月」的大头是固定设施 × 环境数,不是 80 个用户的容器时长**。仓库里没有账单、容量或月活数据可印证【待验证:问运维要按环境/服务拆分的账单】。
54
55### 2.3 正确的论点
56
57「人均 100 元」这个除法在方向上不成立,陈洁一句「多接 10 个用户边际成本≈0」就能打掉。站得住的是**形状**:
581. 容器费按墙钟计、含拉镜像与空闲等待;token 费按工作量计,用户不说话为零。C 端「大量短对话、长时间无人」与前者不匹配。
592. 要把 daemon 改成适合短对话,只有三类改动:缩短空闲回收、扩大预热池、共享常驻容器。前两类不改变成本形状与 18 s 首轮下限,第三类等于放弃「每会话一沙箱」——而这正是 daemon 的全部设计理由(EFS 按会话隔离、STS 作用域凭据、POSIX uid 隔离、单用户 OpenClaw 配置)。
603. 模型延迟(Ark 首 token ~5.5 s)两条路都一样,不应算在 daemon 头上;模型 token 费两条路也完全相同(都经公司 AI Gateway)。**用轻量模型时容器小时费与 token 费同量级**(GLM-5.3-Flash 一次 15 轮会话约 ¥0.12 对一小时容器 ¥0.14),技术方案 `:431` 引用的「token 花费比宿主高一个数量级」只在旗舰价位成立,汇报时不要引它。
61
62## 三、业界怎么做(附录 C)
63
64| 厂商 | 官方口径 | 出处 |
65|---|---|---|
66| OpenAI | Agents API 执行环境「hosted sandbox, self-hosted sandbox, or **no sandbox**」;Agents SDK 的 `FunctionTool` 是进程内函数,Code Interpreter 是单独计费的 container 工具(20 分钟一档) | 附录 C S1~S5 |
67| Anthropic | Managed Agents 定位「分钟到小时级、要读写文件与跑代码」;工程博客:把 harness 从容器里拿出来、只在需要时拉容器后 **p50 TTFT 降约 60%、p95 降超 90%**;《Building effective agents》「最成功的实现用简单可组合的模式而不是复杂框架」 | S6、S7、S9 |
68| AWS | AgentCore Runtime(每会话 microVM)与 Code Interpreter 是两个独立计费产品;冷启动均值 2.9 s、预热后 250 ms | S10~S12 |
69| Google | ADK 官方部署路径之一是 Cloud Run 上的普通 FastAPI 容器、多会话共用、会话存数据库;Code Execution 另作沙箱产品 | S13~S16 |
70
71首响预期:NN/g 0.1 s/1 s/**10 s** 三阈值(超过 10 s 用户注意力离开任务);Artificial Analysis 实测国产模型 TTFT 1.2~2.9 s;CHI 2026 与 Andes 两项研究把首字延迟列为用户挫败与可信度的首要信号。同类「理解需求→匹配供给」产品能找到一手技术描述的两家(Upwork Uma、阿里云智能导购参考架构)都是「模型+平台工具调用循环」,无每用户常驻沙箱。
72
73## 四、候选:Python 进程内薄 harness(附录 B)
74
75**硬门槛两条**:①能在平台 FastAPI 进程内以库方式运行、不拉子进程;②能经公司 OpenAI 兼容网关调含 GLM 的模型。三个候选被门槛淘汰,原因都是「不是进程内」或「走不了公司网关」,不是能力问题:Claude Agent SDK 唯一传输是拉起捆绑在 wheel 里的 `claude` CLI 子进程(二进制 217 MB),官方明说不支持经网关路由到非 Claude 模型;DeepSeek Harness 官方 Python SDK 是「用 JSON-RPC 驱动 `dsh` 子进程」,架构文档明确拒绝进程内挂载,今天仍标 developer preview;Anthropic SDK 的 `tool_runner` 请求路径硬编码 Anthropic Messages 协议,且只能调 Claude。
76
77**打分**(八维:50 页六维保留但 E「协议跟进」从 15% 降到 5%、A/B 各降 5%,新增 G「首响延迟」与 H「常驻成本」各 10%):
78
79| 候选 | 总分 | 门槛 | 一句话 |
80|---|---|---|---|
81| **pydantic-ai**(`pydantic-ai-slim[openai]`) | **4.45** | 过 | 纯 Python、核心依赖 9 个、确认门完全本地(`requires_approval` → `DeferredToolRequests` 落库 → `DeferredToolResults` 续跑)、已有智谱 GLM 的 provider 与 profile、版本政策明文「minor 不做破坏性变更」(2.0 于 2026-06-23 发布)、遥测 opt-in |
82| **自建薄(Python,借 Pi 的 loop 设计)** | **4.33** | 过 | 可移植与不被收割两维满分;新前提把 50 页「要自己重写的六项」砍掉三项(子 agent、技能加载、会话分支)、两项降级(压缩→按轮截断、多模型差异→网关抹平只剩 GLM 的 strict/json_schema),剩 loop+事件+钩子+序列化约 1~2 千行加同等测试 |
83| OpenAI Agents SDK | 4.05 | 过 | MIT、进程内;但 `0.Y` 每升即 breaking(6 个月 6 次)、强依赖 `mcp`、默认往 OpenAI 上报 tracing 要关、Chat Completions 路径静默丢字段 |
84| Google ADK | 3.80 | 过 | Apache-2.0;核心必装 23 项含 fastapi/uvicorn/otel 与平台叠一层;双向流仅 Gemini;Event 模型是 Gemini 形态 |
85| Pi(Node sidecar) | 3.15 | 不过① | 无官方 Python;agent 包 6 个月 9 个版本带 Breaking Changes,无 semver 承诺;core 的 `runLoop` 只有约 130 行、但 core 包不含测试 3 万行,「loop 薄」成立、「包薄」不成立 |
86| Anthropic `tool_runner`/DeepSeek Harness/Claude Agent SDK | 3.45/2.95/2.90 | 不过 | 见上 |
87
88**读法**:pydantic-ai 与自建薄差 0.12 在噪声内,敏感性分析显示两者取舍**不由分数定,由一条组织判断定**——平台愿不愿意用一个第三方的 `Model`/`Agent` 抽象换掉一两千行自维护代码。附录 B 的建议:先用 pydantic-ai 起步,把**工具函数、消息历史 JSON、确认门协议**三样写成平台自持的边界,两年内若要换成自建,业务面零改动。**Pi 的正确位置是设计参考**:值得搬到 Python 的是它 loop 的形状(10 种三层事件、阻断/覆盖/停止三种钩子语义、steering 与 follow-up 两个队列、`stopReason=length` 时整批工具调用判失败不执行、`convertToLlm` 与 `transformContext` 两个纯函数边界),不是代码。
89
90**与 50 页结论差异的原因是前提变化,不是事实变化**:0904 到 0921 被核实的事实没有一条反转;变的是四条前提(运行环境层不再是 daemon、工具面不再以 MCP 为硬约束、确认门等由平台自建、新增首响与常驻两维),而 50 页 §6 改选条件 2 与 4 早已写明这两种前提变化下 Pi 与自建薄会升。50 页当年没评 pydantic-ai(只一句「层次更薄、未入打分表」),是本轮补进来后它拿了第一,**这一点要如实讲**。
91
92**所有候选的首响都是路径分析,没有一个实测过**——这是 §零第 5 条实验要补的进程内那一半。
93
94## 五、Codex 对抗评审要点(附录 D)
95
96Codex 扮演陈洁给了 12 条质询,本文认为**最要命的四条**是:
97
98| 质询 | 本文能否回应 | 缺什么 |
99|---|---|---|
100| 「你测的是 OpenClaw,9 月 4 日推荐的是 claude-code 引擎,是不是拿错了被告?」 | 部分:README 只有 OpenClaw 数据 | **claude-code 引擎首响实测**(§零第 5 条的一天实验) |
101| 「你自己 9 月 4 日给在位方案 4.45 分,现在是不是为了换方案重调权重?」 | 能:旧文没有成本与首响维度,且自己写明结论的条件性 | 措辞要是「补充遗漏约束后的重评」,不是「旧出口早已覆盖」 |
102| 「不隔离进程,模型被诱导越权时业务后端的数据库凭据不就暴露了?」 | 部分:技术方案 §3.2 要求「引擎进程不持有凭据」,把引擎直接嵌进持有数据库凭据的 FastAPI 进程**不能原样满足这条** | 要显式裁决:同进程(放宽为逻辑隔离)还是「无业务凭据的常驻引擎服务+受控工具服务」;后者仍不要求每会话一容器 |
103| 「预热池加大、池内提前初始化,延迟不就解决了?」 | 能:README 记录假对话方案净时间不变、池内初始化因安全风险未做 | 要问运维当前 `spare`、池命中率、引擎版本,不能拿历史 README 当线上指标 |
104
105Codex 的独立判断与本文一致的部分:方向对;「选 Pi」应改口;「不需要沙箱」要改成「首期不配置每会话通用执行沙箱」并列出未来触发表;先做一天实验再谈替换。**不一致的部分**:Codex 认为「daemon 优化并复用」应保留为首期路线之一直到实测证否,本文认为即使 claude-code 引擎首响达标,成本形状与前端绑定 OpenClaw/daemon 私有协议两条仍成立——这一分歧留给白晨定。
106
107## 六、向上汇报提纲(草案,待与白晨对齐)
108
109顺序按「先定位、再约束、再旧结论的条件、再新证据、最后只要一个小决定」:
110
1111. **平台 AI 助手是什么**(1 页):组织者,不产出内容,五类意图,每轮等确认。引技术方案与正式设计稿原话,不引本文。
1122. **ndclaw 继续承担什么**(半页):AI 员工经 A2A 接入,资产通道代跑外部技能——**生产能力接入 ndclaw 的方向不变**。这一页放在前面,是为了让陈洁听到「不是抛弃 ndclaw」。
1133. **助手服务的三条约束**(1 页):C 端首响目标(建议 ≤ 3 s 首字,由产品侧确认)、成本随对话量而非墙钟增长、前端不绑私有协议。附 NN/g 阈值与四家厂商参考架构一句话。
1144. **0904 调研说了什么、没说什么**(半页):4.45 分的前提与两个遗漏维度;「团团自建」与「复用运行设施」本来就在不同层。
1155. **ndclaw 运行时在这三条约束下的数据**(1 页):延迟表、成本形状、三类改法及其代价(第三类=放弃沙箱)。
1166. **候选与推荐**(1 页):附录 B 的矩阵收成一张表,推荐+第二选择+Pi 作设计参考。
1177. **只要一个决定**(半页):批准一天对照实验+向运维索取账单与池配置;实验后再决定「继续优化复用」还是「进入薄层实施评估」。不在这次会上要「抛弃 ndclaw」的批准。
118
119## 七、待白晨定的分岔
120
121| # | 分岔 | 选项 | 本文倾向 |
122|---|---|---|---|
123| 1 | 引擎放哪 | A 同 FastAPI 进程(凭据边界改为逻辑隔离,需修技术方案 §3.2/§8.1);B 无业务凭据的常驻引擎服务+受控工具服务(多一跳,守住原条文) | B,理由是不用改安全条文、且仍零沙箱 |
124| 2 | 工具面协议 | A 进程内 Python 函数(放弃 §3.3「开放工具协议」措辞);B 函数外再包一层开放协议适配器 | A 先做,契约(类型化参数、调用身份、幂等键、确认版本)不省 |
125| 3 | 与陈洁谈的落点 | A 要「换底座」的批准;B 要「一天实验+账单」的批准 | B |
126| 4 | 设计稿「AI 执行在会话内完成」 | A 收窄为判断类回答;B 保留并承认部分产出在助手内 | A,否则「不需要沙箱」前提松动 |
127| 5 | Codex 与本文的分歧:claude-code 引擎若首响达标是否仍换 | A 仍换(成本形状+协议绑定);B 不换 | A,但要等实验数据再说 |
128
129## 八、本轮没做、不冒称做了的事
130
131- 没有跑任何实测(首响、抓 `tick` 帧、账单);所有延迟数字是 daemon README 的历史记录。
132- 没有改技术方案、`sources/`、`~/AI-Hub-Project/` 与应用代码;没有提交推送。
133- AWS 中国区定价只有官网一个一手来源(中英文页数值一致),第二独立来源因搜索配额耗尽未取得。
134- 陈洁本人没有发言;附录 D 第一部分是模拟质询。

2026 年 9 月 21—27 日工作汇报附件 · 取证日期 2026-09-28 · 原文 SHA-256:89450b3f1de8c87574d4ec2a60061dab7049634aef79a3470221bc6ea65e3462