CodingAgentHarness:CodingAgent 接入 Harness 的适配分层

CodingAgentHarness:CodingAgent 接入 Harness 的适配分层 由 Archify 生成的架构图。 CodingAgentHarness · run/resume/deliver/runReady · 架构组件 CodingAgentHarness run/resume/deliver/runReady AgentHarness · 租约/切片/结果映射 · Harness 引擎与台账 · engine AgentHarness 租约/切片/结果映射 engine HarnessExecutionAdapter · ai4j-coding · open/run/snapshot · 适配层(ai4j-coding):每切片开一个真实 CodingSession · adapter HarnessExecutionAdapter ai4j-coding · open/run/snapshot adapter CodingSession · 每切片真实会话 · 照旧 · 适配层(ai4j-coding):每切片开一个真实 CodingSession · adapter CodingSession 每切片真实会话 · 照旧 adapter HarnessStore · File/JDBC · HarnessState · Harness 引擎与台账 · ledger HarnessStore File/JDBC · HarnessState ledger Harness 覆盖层 · Registry/Executor/Interceptor/Prompts · 适配层(ai4j-coding):每切片开一个真实 CodingSession · overlay Harness 覆盖层 Registry/Executor/Interceptor/Prompts overlay applyDelivery · 按 callId 回填待决输出 · 适配层(ai4j-coding):每切片开一个真实 CodingSession · adapter applyDelivery 按 callId 回填待决输出 adapter ① run/deliver ② open() ③ runSingleTurn ④ applyHarnessOverlay ⑤ 注入 context ⑥ harness_*→Gateway ⑦ persistOutcome/事件 ⑧ deliver→applyDelivery 适配层(ai4j-coding):每切片开一个真实 CodingSession Harness 引擎与台账 图例 前端 后端 数据库 安全

门面 vs 引擎

  • • CodingAgentHarness.file(dir)/jdbc(ds,id) 只是把 CodingAgent 包进 AgentHarness;租约、写面、持久化全在引擎侧
  • • run/runTask/resume/deliver/runReady 全部委派给 harness;getGateway() 可直接拿到唯一写面

applyHarnessOverlay 注入

  • • budget→AgentOptions(maxSteps/wallClock/tokenBudget);HarnessToolRegistry 追加 8 个 harness_* 管理工具
  • • HarnessToolExecutor 是强制边界:harness_* 转 Gateway 落账,业务工具照旧;HarnessToolInterceptor 保留宿主拦截器;systemPrompt 追加 HarnessPrompts.instructions(+resumed/+fidelity)

切片状态往返

  • • open 解码 payload.codingSessionState → newSession(sessionId,state);snapshot() → codingSession.exportState() 回写
  • • applyDelivery:按 wait.payload.callId 把 deliver 值回填到 MemorySnapshot 的 pending function_call_output / CodeAct 标记;APPROVAL 写入 HARNESS_APPROVAL_GRANTED 让模型重试