nanobot 面试通关(三)进阶与生产 20 题
覆盖 Provider 模型路由、多 Agent 委派、产品化与部署等 nanobot 进阶生产面试题,附详细解答。
覆盖 Provider 模型路由、多 Agent 委派、产品化与部署等 nanobot 进阶生产面试题,附详细解答。
DeepSeek Harness 由 Cordis 元框架驱动,核心是「一切皆插件,没有特权内核」。本文先讲 Cordis 的五个概念与服务容器 ctx,再拆开 agent-loop 这个「只是个插件」的默认驱动器:ReactLoopAgent 的 Phase 状态机、kick/turn/step 主循环、以及三路 abort 融合的生命周期熔断。配插件树与状态机图。
工具不是直接执行,而是过一条带把关的流水线:tool/call 事件先于执行被记录,再依次经过 pre-execute 瀑布(钩子·权限·沙箱)、单调守卫、execute 瀑布(超时·重试·指标)、工具本体、post-execute 瀑布、finalizeContent,最终冻结为 tool/result 事件。并发层用独占屏障 + 有界并行池 + 模型序提交编排多工具,abort 时合成 TOOL_ABORTED_BEFORE_DISPATCH 保证 replay 有效。配流水线图。
Harness 的扩展是配置级的,秘密在能力 seam(接口/实现/消费方 三角色)。最精彩的一处:fs、subprocess、shell、terminals、lsp、sandbox 共享同一个沙箱模式与策略(ctx.sandboxPolicy),因此把文件系统与子进程指向远程沙箱,Bash、PTY、LSP 会一次性全部搬走,无需各自 fork。ctx.e2b 用一个共享 SDK 句柄把 fs-e2b 与 subprocess-e2b 收进同一 Linux 运行时。配共享沙箱世界图。
刚发布的 DeepSeek Harness 与已精读的 nanobot 恰好构成一对对照样本:一个用 Cordis 插件树把 Agent 做成可无限替换的生产基座,一个用分层引擎把 Agent 讲透给你看。本文从内核组织、主循环、上下文真相源、工具并发、扩展方式、多 Agent 六个维度逐一对撞,并给出选型建议。配对照架构图。
PocketPilot 是一份可读的个人 Agent Runtime:Python 3.12 + Next.js,成功标准不是「答得更聪明」,而是任务质量、权限正确、过程可看、失败可收。本文先钉死产品论点、分层架构和本系列四篇怎么读,配架构图。
从输入框到气泡:HTTP 立刻返回 task id,Worker 在后台跑有界 Agent 循环,直播走 assistant_delta(不落库),终态才进 SQLite。本文拆 Agent.run / _model_turn,并点明 EventBus 单进程这条产品边界。配消息生命图。
PocketPilot 不按工具名写白名单:路径先过 WorkspaceGuard,再按 capability 后缀分成 ALLOW / REQUIRE_APPROVAL / DENY。写操作在磁盘变更前用异常打断;批准恢复时重建 Guard,下一次 write 还要再批。配策略决策图。
记忆、技能、MCP、cron、webhook 在 PocketPilot 里都不是特权子系统:它们经同一张工具表注册,过同一道策略门,最终仍是一条可审计 Task。评测用 ScriptedProvider 把路径逃逸和拒批锁成 26 个无 LLM 用例。配能力总线图。
墨坊是一份可读的 Java 小店:网关只暴露 8080,商品库、库存、店铺各用各的库。下单先 202 收下,库存经 RabbitMQ 后扣;余额不够再发消息把库存加回去。本文钉死产品论点和分层,配架构图。仓库 https://github.com/GitHub1002/ink-workshop。