You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
能通过新的 agent_harness.client.AgentHarnessClient 或 API 创建 invocation
能由 deepagents-backed runtime 执行
能记录 agent_invocation
能记录 agent_execution
能记录 agent_trace_event
能记录至少一次 model_invocation
如果调用工具,能记录 tool_invocation
能完成 output validation
demo agent 至少生成一个可引用的 output validation record
API 建议
Phase 1 可以提供最小 API:
POST /api/v1/agent-harness/invocations
GET /api/v1/agent-harness/invocations/{id}
GET /api/v1/agent-harness/invocations/{id}/events
GET /api/v1/agent-harness/invocations/{id}/executions
GET /api/v1/agent-harness/invocations/{id}/model-invocations
GET /api/v1/agent-harness/invocations/{id}/tool-invocations
背景
当前 PSOP 项目中的
backend/app/agent_harness及其相关对象(如AgentSpec、AgentRun、AgentEvent、AgentModelCall、AgentToolCall、AgentPlanner等)是在较粗糙的 harness 抽象上构建的,不适合作为长期智能体开发底座继续演进。本 issue 的目标是启动 Agent Harness v2 Phase 1:以 deepagents 作为新的核心 agent harness,并利用其底层 LangChain + LangGraph 能力,在现有
backend/app/agent_harness目录下重建 PSOP 的智能体开发与运行基础层。本 issue 只覆盖“智能体相关实现”的重建。PSOP 业务流程、Runtime Kernel、Execution Graph、Session Token、RunEvent、RunTrace 等不属于替换范围。
关键决策
删除或重写旧
agent_harness代码实现AgentPlanner/AgentLoopState/AgentDecision/AgentRunner等实现作为新平台基础。不新增
agent_platform_v2目录目录结构与工程组织必须参考 DeerFlow harness
agentscommunityconfigguardrailsmcpmodelspersistencereflectionruntimesandboxskillssubagentstoolstracinguploadsutilsclient.pyplatform/backends/gateways/profiles风格结构。Agent Harness v2 必须支持可观测、可审计、可回放、可归因的智能体执行闭环
pskill.evaluator、psop.governance和测试反馈闭环提供结构化证据。设计原则
业务模块不直接调用 deepagents
pskill.builderpskill.compilerpskill.testerpskill.runnerpskill.evaluatorpsop.governanceagent_harness基于 deepagents 实现。deepagents 只负责智能体内部如何运行
PSOP 仍然负责平台契约与业务边界
不兼容旧 agent_harness 实现
DeerFlow 参考点与 PSOP 映射
DeerFlow harness 可参考点
client.py:对外稳定 client / facade,隐藏内部 harness 细节。agents/:agent factory、lead agent、thread state、features、middlewares、agent memory 等。runtime/:runs、events、checkpointer、store、stream bridge、journal、serialization、user context 等。tools/:builtins、tool 类型、MCP metadata、skill management、tool sync 等。models/:模型 provider factory、provider patch、credential loader、payload replay 等。persistence/:运行态持久化边界。skills/:skill loading / management。subagents/:子智能体定义与调度。sandbox/:受控执行环境。guardrails/:安全与输出约束。tracing/:执行流、模型调用、工具调用、事件记录。uploads/:文件与多模态输入对象管理。PSOP 映射原则
runtime/映射为 Agent Harness runtime,不是 PSOP Runtime Kernel。tools/映射为 PSOP Tool Gateway wrapper,所有工具仍必须通过 PSOP tool policy / authorization。uploads/映射为 agent workspace / artifact object bridge,不替代 PSOP RunEventPart。skills/映射为 PSOP SkillPackage -> deepagents skill backend。tracing/映射为 agent invocation/execution trace,并最终接入 PSOP Replay 证据链。models/映射为 PSOP model route/provider abstraction,不直接暴露 provider 细节给业务模块。建议目录结构
新的
backend/app/agent_harness应按 DeerFlow 风格组织,而不是按旧 harness 或通用 platform/backend/gateway/profile 拆分。必须避免的结构
不要采用以下此前建议过但未充分参考 DeerFlow 的结构:
这些概念可以存在,但应收敛到 DeerFlow 风格模块中:
runtime/、agents/factory.py、client.py。tools/psop_gateway.py、uploads/artifact_bridge.py、skills/psop_adapter.py。config/agent_manifest.py和config/profiles.py。核心数据模型
Phase 1 可以在
agent_harness/persistence/models.py中定义以下新模型,并通过 Alembic migration 建表。agent_manifest描述一个 PSOP 智能体是什么,而不是直接暴露 deepagents 配置。
关键字段:
idagent_keynamedescriptionstatuscreated_atupdated_atagent_manifest_version关键字段:
idagent_manifest_idversionbackend:deepagentsprofile:long_horizon_builder | runtime_node_agent | evaluator | governance | demo | ...input_schema_jsonoutput_schema_jsonmodel_policy_jsontool_policy_jsonworkspace_policy_jsonmemory_policy_jsonsubagent_policy_jsondeepagents_config_jsonstatuscreated_atagent_invocationPSOP 业务视角的一次智能体调用。
关键字段:
idagent_keyagent_manifest_version_idcaller_kindcaller_idruntime_run_idnullableinput_payload_jsoncontext_refs_jsonstatus:queued | running | succeeded | failed | waiting_tool_authorization | cancelledoutput_payload_jsonerror_messagecreated_atstarted_atended_atagent_execution底层 harness 的实际执行实例。
关键字段:
idagent_invocation_idbackend:deepagentsbackend_thread_idbackend_checkpoint_idprofilestatususage_summary_jsonerror_messagecreated_atstarted_atended_atagent_trace_eventdeepagents / LangGraph stream 的 PSOP 归档投影。
关键字段:
idagent_invocation_idagent_execution_idseq_noevent_kindsource:deepagents | langgraph | psop_tool_gateway | psop_output_validatorpayload_jsonevidence_refs_jsoncreated_at建议 event kinds:
model_invocation关键字段:
idagent_invocation_idagent_execution_idtrace_event_idprovidermodelrouteinput_summary_jsonoutput_summary_jsonusage_jsonlatency_msstatuserror_messageraw_request_refraw_response_refevidence_refs_jsoncreated_attool_invocation关键字段:
idagent_invocation_idagent_execution_idtrace_event_idtool_nametool_providerrequested_args_summary_jsonside_effect_levelpolicy_decision_jsonauthorization_idstatusresult_summary_jsonartifact_refs_jsonevidence_refs_jsonstarted_atended_atcreated_atagent_workspace_object用于映射 deepagents virtual filesystem 与 PSOP artifact/object store。
关键字段:
idagent_invocation_idagent_execution_idpathobject_kindartifact_object_idcontent_hashsize_bytesmetadata_jsonartifact_refs_jsonevidence_refs_jsoncreated_atagent_memory_candidateagent 建议写入的 memory,不直接成为正式 memory。
关键字段:
idagent_invocation_idagent_execution_idmemory_scopecandidate_payload_jsonevidence_refs_jsonstatus:candidate | approved | rejected | promotedcreated_atagent_output_validation关键字段:
idagent_invocation_idagent_execution_idschema_namepasseddiagnostics_jsonvalidated_payload_jsonevidence_refs_jsoncreated_at可观测、审计与优化提案闭环要求
Agent Harness v2 需要把智能体执行过程变成结构化证据,而不只是保存普通日志。后续
pskill.evaluator、psop.governance、测试反馈系统需要基于这些证据生成优化提案。目标优化对象
Agent Harness v2 需要为以下优化对象预留证据与 artifact 引用能力:
需要支撑的闭环
Evidence refs 要求
agent_trace_event.evidence_refs_json以及相关模型中的evidence_refs_json需要能够引用:Artifact refs 要求
agent_workspace_object.artifact_refs_json与tool_invocation.artifact_refs_json需要支持后续指向:Attribution-ready trace 要求
agent_trace_event、model_invocation、tool_invocation需要保留足够字段用于质量归因:Proposal-ready output 要求
Output validation 和 tracing 需要支持后续智能体生成结构化优化提案,例如:
测试反馈优化要求
Phase 1 不实现完整测试反馈闭环,但数据结构必须支持后续流程:
Core flow
业务模块不直接调用 deepagents,也不依赖 LangGraph thread/checkpoint 细节。
Tool Gateway 要求
所有 deepagents tool call 必须进入 PSOP Tool Gateway:
Phase 1 只需要实现最小闭环:
authorization_required或blocked_not_implementedWorkspace / Uploads 要求
deepagents virtual filesystem 不应直接写宿主机任意路径。
Phase 1 支持:
所有写入对象需要通过
uploads/artifact_bridge.py映射为agent_workspace_object或 PSOP artifact object。Output validation 要求
每个 Agent Manifest Version 必须声明输出 schema。
Phase 1 至少支持:
Demo agent
实现一个最小 demo agent,建议:
验收目标:
agent_harness.client.AgentHarnessClient或 API 创建 invocationagent_invocationagent_executionagent_trace_eventmodel_invocationtool_invocationAPI 建议
Phase 1 可以提供最小 API:
Acceptance Criteria
backend/app/agent_harness代码实现,不继续依赖旧 harness 执行语义。backend/app/agent_platform_v2目录;所有新实现放在backend/app/agent_harness下。agent_harness的模块结构以 DeerFlow harness 顶层组织为蓝本:agents/config/guardrails/mcp/models/persistence/reflection/runtime/sandbox/skills/subagents/tools/tracing/uploads/utils/client.py。client.py作为业务侧唯一入口,不让业务模块直接依赖 deepagents。agents/factory.py,可根据 config/profile 构建 deepagents-backed agent。runtime/runs.py、runtime/events.py、runtime/stream_bridge.py的最小闭环。tools/psop_gateway.py,deepagents 工具调用必须通过 PSOP gateway。uploads/artifact_bridge.py或sandbox/workspace.py,避免 deepagents 直接写任意宿主机路径。guardrails/output.py,并持久化 output validation result。agent_trace_event、model_invocation、tool_invocation、agent_workspace_object均支持 evidence / artifact refs。agent_trace_event。model_invocation,或在 mock model 模式下落库等价调用摘要。agent_harness不替代 Runtime Kernel / Execution Graph。Non-goals / 明确不做
pskill.builder、pskill.runner等正式智能体。agent_platform_v2目录。后续 Phase 参考
Phase 2:基于新的
agent_harness重做pskill.builder,支持 PSkill draft / patch 与 evidence refs。Phase 3:重做
pskill.evaluator与psop.governance,基于 Replay、测试结果和 agent trace 做质量归因与优化提案。Phase 4:重做
pskill.compilerrepair 与pskill.tester,支持 EG patch、测试用例生成、测试失败归因。Phase 5:重做受限 profile 的
pskill.runner,对接 Runtime / Execution Graph 节点执行。Phase 6:建立测试反馈闭环:test failure -> evaluator finding -> governance proposal -> PSkill / EG / TestCase patch -> re-test -> before/after metrics comparison。