DeepSeek Harness 架构:Agent-Loop 工作原理
一、整体定位:一个"日志驱动"的反应式状态机
ReactLoopAgent(packages/core/agent-loop/src/agent.ts)不是传统意义上的 while-loop 脚本,它是一个三态相机 + 事件日志回放器的复合体:
Phase = idle | maintenance | running
idle:驱动器不存在,lastTurn记住上次进度maintenance:独占的维护窗口(如 compaction),持有独立 AbortControllerrunning:驱动器存活,turn/step计数 +wakeRequested闩锁
关键设计:同一时刻只有一个驱动器 promise(activityDone),wakeDriver() 在驱动器存活时只设置闩锁而不重入,在 maintenance 或被 abort 的活动期间则把唤醒"挂账",等收敛时重放(agent.ts:172-193)。这解决了 agent 系统最难的问题之一——唤醒信号的丢失与重入——用一个 latch 而不是消息队列。
二、输入侧:双通道 Inbox 的持久化设计
所有输入通过四个动词进来(agent.ts:113-132):






