You need to enable JavaScript to run this app.
文档中心
AgentKit

AgentKit

复制全文
下载 pdf
进阶入门:存量 Agent 迁移
存量 Agent 迁移原理
复制全文
下载 pdf
存量 Agent 迁移原理
两种迁移方式:高代码与低代码​
同一个 agentkit migrate 入口内置两条承载路径,由 --framework 决定走向。选择的依据只有一条:客户交付物是可加载的框架源代码,还是低代码平台的 DSL / 导出工程。​
​​​
高代码方式(结构化框架迁移)​
面向 LangChain、LangGraph、ADK、Strands、Bedrock AgentCore。在本地执行,在原项目旁生成 AgentKit 承载层——简单调用生成 wrapper,依赖运行时行为时生成 bridge。​
  • 源代码保留,最小侵入,不静态改写业务源码​
  • 生成物写到项目根目录,默认 AgentkitAgentServerApp​
  • 一条命令 agentkit migrate --framework <fw> --entry <入口> 完成​
低代码方式(平台迁移)​
面向 Dify(--framework dify)和 Any 任意框架(--framework any)。走远端 sandbox 任务,由 Codex 驱动转换。​
  • create 上传源码、启动 Codex;status 查询并下载产物​
  • 先生成迁移画像,再做 DSL 原生转换 / Hybrid 迁移 / 从 Spec 重建​
  • 产出 AgentKit + VeADK 原生项目,自动生成测评集​
  • 产物必须输出到源码目录外侧(如 ../agentkit-output)​
​
​
两者的本质差异是「包装」还是「重建」:​
  • 高代码:把原有可运行代码作为源对象加载并在旁侧包一层协议转换,业务代码原样保留。​
  • 低代码:没有可直接加载的运行对象,Codex 在 sandbox 内分析平台配置后按 AgentKit 最佳实践重新生成工程,保留的是业务身份、输入语义和工具边界,而不是原始文件。​
接管边界与保留边界​
迁移的边界在两个层面:一是 AgentKit 与原框架的通用分层,二是两种方式在各框架上的具体接管项与保留项。​
说明​
高代码的保留边界是「原始可运行代码」,AgentKit 只在旁侧包协议;低代码的保留边界是「业务语义」,AgentKit 负责按语义重建整个工程。强平台绑定、低置信度的能力会进入迁移计划并提示人工确认,不做外部应用托管转发。​
通用分层:AgentKit 接管什么,框架保留什么​
AgentKit 统一接管层​
  • 服务入口与协议:/run、/run_sse、session、A2A​
  • 运行与部署配置:runtime 名称、env 映射、Dockerfile​
  • 用户 / 会话上下文​
  • 流式事件规范化​
  • 可观测:OTel / APMPlus 采集​
原框架保留层​
  • 业务编排逻辑与 prompt​
  • Agent / Graph 状态与执行模型​
  • 工具与生态依赖​
  • 模型调用方式(可选 --model-id 替换为 ARK 模型)​
  • 原框架的业务语义​
​
高代码方式:各框架的接管边界与保留边界​
高代码方式下 AgentKit 在旁侧承载入口,业务执行仍由原框架代码完成,因此保留边界即原有可运行逻辑。​
​
框架​
AgentKit 接管边界​
原框架保留边界​
LangChain​
统一标准化/run、流式/run_sse接口、session会话管理、流式事件输出​
完整保留 Runnable、可调用函数 callable、LCEL 编排链路、智能体执行器 agent executor;未开启兼容模式(--compat)时,原有 HTTP 调用接口需小幅改造适配​
LangGraph compiled graph​
统一承载入口通信协议,主动暴露流式节点(stream node)、人工中断交互(interrupt)能力​
保留对话消息状态 messages state、自定义入参标识 input key、原图执行逻辑;完整 HITL resume 协议不自动生成,复杂持久化需用户配置​
LangGraph Server​
在原有服务上挂载一套标准 AgentKit 协议路由,双协议共存​
完整保留官方 LangGraph 配置文件、原生接口(会话/threads / 流式任务接口/runs/stream),新旧两套接口可同时对外提供服务​
ADK​
由AgentkitAgentServerApp 统一承载 /run、/run_sse、session 会话管理、A2A 跨智能体通信能力​
原有工具 ADK tools、回调函数 callbacks、子智能体 sub-agent 调度逻辑全部保留;A2A 能力依赖 ADK 实验性功能,后续版本更新可能存在变动​
Strands​
按独立会话 session新建智能体实例 agent,统一封装标准化通信协议​
全部 Strands 业务逻辑、自定义工具不变;建议使用零参数 factory 作为项目启动入口 entry,规避会话数据串扰​
Bedrock AgentCore​
新增标准 AgentKit 协议,同时兼容保留原/ping健康检测、/invocations调用接口​
智能体核心业务逻辑不变;鉴权 IAM、工作负载身份 workload identity、记忆存储 Memory、网关 Gateway、MCP 工具、登录凭证等平台侧能力,仍由原项目和部署环境负责​
​
低代码方式:接管边界与保留边界​
低代码没有可加载的运行对象,AgentKit 接管的是整个运行工程的重建与承载:Codex 在 sandbox 内把平台配置重建为 AgentKit + VeADK 原生项目,再由 AgentKit 提供统一协议、部署和可观测。​
​
场景​
AgentKit 接管边界​
保留边界​
Dify​
自动解析工作流 workflow、对话流程 chatflow、提示词 prompt、工具、模型配置;基于 VeADK+AgentKit 重构整套运行工程,同步输出迁移文档、接口契约、自动化测试用例​
保留业务定位、输入语义逻辑、工具调用规则;采用语义重构方案,不直接封装原项目​
any(任何 Agent 框架,兜底方案)​
Codex 工具对源码做动静代码分析,按 VeADK 标准重建工程,自动生成配套测评集​
保留原有核心业务逻辑、输入输出语义、工具能力、部署特性;迁移验收标准为业务核心能力完全对齐,不只是实现基础对话​
​
迁移原理​
迁移不改写业务逻辑,而是在项目旁边生成 AgentKit 承载层。原项目的 Agent、Graph、ADK root_agent、Strands agent 或 BedrockAgentCoreApp entrypoint 仍作为源对象加载;AgentKit SDK bridge 负责把输入、输出、流式事件、session 和兼容路由转换到 AgentKit 协议。​
​
Source project​
└─ agentkit migrate​
└─ generated agentkit_app.py​
├─ default: AgentkitAgentServerApp​
│ └─ /run /run_sse /session /A2A​
└─ --server-mode langgraph: AgentkitLangGraphServerApp​
├─ AgentKit routes​
└─ native LangGraph Server routes​
​
  • 高代码迁移方案​
  • 自动生成 agentkit_app.py,文件会加载用户原有 entry 入口并创建承载服务应用。​
  • 简单调用场景:生成轻量 wrapper 实现请求转发。​
  • 依赖会话 session、run_async、/run_sse、流式事件 stream event、A2A 等运行时能力时,自动生成 framework bridge 适配层;全程保留原框架原生执行链路不变。​
  • 低代码迁移方案​
  • 源项目在远端 sandbox 内完成解析,由 Codex 基于 VeADK + AgentKit 标准重建全新工程;输出产物为独立完整项目,并非对原有源码做简单封装包装。​
  • 可观测性统一规范​
  • 迁移产出物默认接入 AgentKit runtime OTel / APMPlus 采集链路,请求 span、framework bridge span、核心 metrics 统一挂载至同一条 trace 追踪链路。​
  • migrate 迁移工具不会静态修改原项目内 LangSmith、Strands telemetry、ADK telemetry 或自定义 OpenTelemetry 初始化代码。​
  • 若检测到上述埋点逻辑,会记录至 migration-plan.json,同时输出边界适配提示。​
最近更新时间:2026.07.28 19:37:05
这个页面对您有帮助吗?
有用
有用
无用
无用