当前位置: 首页 > news >正文

10 AgentSkills 与 Agent 编排框架的深度融合

10 AgentSkills 与 Agent 编排框架的深度融合

关键词:Agent 编排、AutoGen、CrewAI、LangGraph、多 Agent 协作、A2A 协议、技能互操作性、AgentSkills 未来演进、动态技能发现、Agent 编排框架集成


一、编排的挑战:让多个 Agent 协同工作

单个 Agent 能力再强,也有完成复杂任务的上限。真正高难度的工作——比如"完成一个需要产品设计、技术评审、开发实现和测试验证的完整功能"——需要多个专业 Agent 协同完成。

但多 Agent 协作引入了新的复杂度:

  • 能力对齐:每个 Agent 用什么工具做什么事?边界在哪里?
  • 状态共享:Agent A 的输出如何准确传给 Agent B?
  • 技能复用:如果两个 Agent 都需要做代码审查,能不能用同一套标准?
  • 编排语言:如何描述 Agent 之间的协作流程,既能让人理解,又能让机器执行?

Agent Skills 在这个场景里的定位是:作为 Agent 能力的标准化语言,让不同 Agent 共享同一套技能描述,消除能力层面的不一致。


二、AgentSkills 在编排中的角色

可以把 AgentSkills 理解为多 Agent 系统里的"职位说明书"(Job Description)。当你要组建一个团队:

  • 产品 Agent:持有spec-writinguser-story-generationroadmap-planning技能
  • 架构 Agent:持有system-designtech-reviewadr-writing技能
  • 开发 Agent:持有code-generationtest-writingpr-description技能
  • QA Agent:持有test-planningbug-triageregression-check技能

每个 Agent 的能力边界清晰,技能包可以独立开发和版本控制,跨 Agent 的协作接口自然形成。


三、与 AutoGen 集成

AutoGen 是微软推出的多 Agent 对话框架,核心机制是让多个可对话 Agent 通过消息传递协作完成任务。

3.1 基础集成:技能作为 Agent 能力扩展

importautogenfromagentskills_coreimportSkillRegistryfromagentskills_fsimportLocalFileSystemSkillProviderfromagentskills_langchainimportget_tools_usage_instructionsfrompathlibimportPathasyncdefbuild_autogen_team():# 初始化技能注册表registry=SkillRegistry()provider=LocalFileSystemSkillProvider(Path("./skills"))awaitregistry.register_from_provider(provider)# 获取技能目录(注入系统提示的发现层)skills_catalog=awaitregistry.get_skills_catalog(format="xml")# 获取工具使用指令usage_instructions=get_tools_usage_instructions(registry)# 配置各 Agent 的技能architect_skills="\n".join([awaitregistry.load_skill_instructions("system-design"),awaitregistry.load_skill_instructions("tech-review"),])dev_skills="\n".join([awaitregistry.load_skill_instructions("code-generation"),awaitregistry.load_skill_instructions("test-writing"),])# 创建专业化 Agentarchitect_agent=autogen.AssistantAgent(name="架构师",system_message=f"""你是一个专业的系统架构师。 你的核心技能:{architect_skills}通用可用技能:{skills_catalog}{usage_instructions}""",llm_config={"model":"claude-opus-4-5","temperature":0},)developer_agent=autogen.AssistantAgent(name="开发工程师",system_message=f"""你是一个全栈开发工程师。 你的核心技能:{dev_skills}通用可用技能:{skills_catalog}""",llm_config={"model":"claude-opus-4-5","temperature":0.1},)user_proxy=autogen.UserProxyAgent(name="产品经理",human_input_mode="NEVER",code_execution_config={"work_dir":"./output"},)# 定义协作流程groupchat=autogen.GroupChat(agents=[user_proxy,architect_agent,developer_agent],messages=[],max_round=20,speaker_selection_method="auto",)manager=autogen.GroupChatManager(groupchat=groupchat)returnuser_proxy,manager# 启动多 Agent 协作asyncdefmain():user_proxy,manager=awaitbuild_autogen_team()awaituser_proxy.a_initiate_chat(manager,message="设计并实现一个用户身份认证模块,需要包括设计文档、代码实现和单元测试。",)

四、与 CrewAI 集成

CrewAI 把 Agent 协作建模为"团队(Crew)执行任务(Task)"的模式,每个 Agent 是团队成员,每个 Task 是分配给某个 Agent 的具体工作。

AgentSkills 可以很自然地映射到 CrewAI 的 Task 执行模板上——技能的 SKILL.md 就是任务的执行标准。

fromcrewaiimportAgent,Task,Crew,Processfromagentskills_coreimportSkillRegistryfrompathlibimportPathasyncdefbuild_crewai_team():registry=SkillRegistry()provider=LocalFileSystemSkillProvider(Path("./skills"))awaitregistry.register_from_provider(provider)# 加载各技能的完整指令code_review_skill=awaitregistry.load_skill("code-review")security_audit_skill=awaitregistry.load_skill("security-audit")perf_review_skill=awaitregistry.load_skill("performance-review")# 创建专业化 Agent(技能指令内嵌到 goal 和 backstory 里)code_reviewer=Agent(role="代码审查工程师",goal="按照团队编码标准,执行全面的代码质量审查",backstory=f"""你是一个经验丰富的代码审查工程师。 审查标准与流程:{code_review_skill.instructions}""",verbose=True,allow_delegation=False,)security_engineer=Agent(role="安全工程师",goal="识别代码中的安全漏洞,提供修复建议",backstory=f"""你是一个专注于应用安全的工程师。 安全审计流程:{security_audit_skill.instructions}""",verbose=True,allow_delegation=False,)# 创建任务(技能即任务模板)code_review_task=Task(description=""" 对以下 Pull Request 进行代码审查: {pr_diff} 按照代码审查技能的流程和标准执行,输出结构化审查报告。 """,agent=code_reviewer,expected_output="包含问题列表和建议的 Markdown 格式审查报告",)security_task=Task(description=""" 对同一 Pull Request 进行安全专项审查: {pr_diff} 重点关注 OWASP Top 10 中的漏洞类型。 """,agent=security_engineer,expected_output="安全问题列表,每个问题包含风险等级和修复建议",context=[code_review_task],# 依赖代码审查结果)# 组建团队review_crew=Crew(agents=[code_reviewer,security_engineer],tasks=[code_review_task,security_task],process=Process.sequential,verbose=True,)returnreview_crew

五、与 LangGraph 集成

LangGraph 用有向图来描述 Agent 的执行流程,每个节点是一个执行步骤,边定义控制流。AgentSkills 在这里映射为节点的执行逻辑。

fromlanggraph.graphimportStateGraph,ENDfromlanggraph.prebuiltimportToolExecutorfromagentskills_coreimportSkillRegistryfromtypingimportTypedDict,List,OptionalclassReviewState(TypedDict):pr_diff:strcode_review_result:Optional[str]security_result:Optional[str]final_report:Optional[str]messages:List[dict]asyncdefbuild_review_graph(registry:SkillRegistry)->StateGraph:# 加载技能code_review_skill=awaitregistry.load_skill("code-review")security_skill=awaitregistry.load_skill("security-audit")report_skill=awaitregistry.load_skill("report-generation")# 创建图workflow=StateGraph(ReviewState)# 定义节点(每个节点对应一个技能)asyncdefcode_review_node(state:ReviewState)->ReviewState:"""代码审查节点:使用 code-review 技能"""prompt=f"""{code_review_skill.instructions}待审查代码:{state['pr_diff']}"""result=awaitllm.ainvoke(prompt)return{"code_review_result":result.content}asyncdefsecurity_node(state:ReviewState)->ReviewState:"""安全审计节点:使用 security-audit 技能"""prompt=f"""{security_skill.instructions}代码审查上下文:{state['code_review_result']}待审查代码:{state['pr_diff']}"""result=awaitllm.ainvoke(prompt)return{"security_result":result.content}asyncdefreport_node(state:ReviewState)->ReviewState:"""报告生成节点:使用 report-generation 技能"""prompt=f"""{report_skill.instructions}代码审查结果:{state['code_review_result']}安全审计结果:{state['security_result']}生成综合审查报告。 """result=awaitllm.ainvoke(prompt)return{"final_report":result.content}# 添加节点workflow.add_node("code_review",code_review_node)workflow.add_node("security_audit",security_node)workflow.add_node("generate_report",report_node)# 定义控制流workflow.set_entry_point("code_review")workflow.add_edge("code_review","security_audit")workflow.add_edge("security_audit","generate_report")workflow.add_edge("generate_report",END)returnworkflow.compile()

六、A2A 协议:Agent 间的技能调用

2026 年,随着 Agent 编排的成熟,一个新的需求浮出水面:Agent 之间如何直接调用彼此的技能?

A2A(Agent-to-Agent)协议是这个方向上的探索。在这个模型里,每个 Agent 不仅是技能的执行者,也是技能的"提供者"——它可以把自己掌握的技能暴露给其他 Agent 调用。

+------------------+ +------------------+ | Orchestrator | | Specialist | | Agent | | Agent | | | A2A 调用| | | "我需要执行 | ------> | 执行 pdf- | | PDF 处理" | | processing 技能 | | | <------ | 返回结果 | +------------------+ +------------------+

结合 AgentSkills,实现思路是:

# Specialist Agent 对外暴露的 A2A 接口classSkillProviderAgent:def__init__(self,registry:SkillRegistry):self.registry=registryasyncdefhandle_skill_request(self,request:A2ARequest)->A2AResponse:"""处理来自其他 Agent 的技能调用请求"""skill=awaitself.registry.load_skill(request.skill_name)ifnotskill:returnA2AResponse(error=f"技能 '{request.skill_name}' 不存在")# 检查调用方权限ifnotself._check_caller_permission(request.caller_id,request.skill_name):returnA2AResponse(error="权限不足")# 执行技能result=awaitself._execute_skill(skill,request.task,request.context)returnA2AResponse(result=result)

这个方向将技能的可移植性从"跨工具平台"延伸到"跨 Agent 实例",是 Agent 生态演进的自然下一步。


七、未来演进趋势

7.1 技能互操作性标准的深化

当前的 AgentSkills 规范更多关注"如何描述技能",未来可能演进到"技能如何互相组合调用"。预期的规范扩展方向:

  • 技能依赖声明:在 frontmatter 里声明依赖的其他技能
  • 技能输入/输出契约:标准化的 JSON Schema 描述技能的输入格式和输出格式
  • 技能组合原语:类似 Pipe/Chain 的技能组合操作符

7.2 动态技能发现与组合

静态技能目录要求提前把技能写好。未来更有意思的方向是:Agent 在运行时根据任务需求动态生成技能,或者把已有技能动态组合成新技能。

任务:"分析用户留存,生成适合 CEO 汇报的 PPT" | v LLM 分析: - 需要"数据分析"技能 ✓(已存在) - 需要"CEO PPT 风格"技能 ✗(不存在) | v 动态技能合成: - 从"报告生成"技能 + "演示文稿格式"技能 + "高层摘要写作"技能 - 自动合成新的"CEO 汇报 PPT"技能 - 保存到用户私有命名空间,供下次复用

7.3 技能市场的成熟

随着 SkillsMP 等技能市场的发展,技能的分发和定价模型将更加完善:

  • 免费/开源技能:社区贡献,公开分发
  • 商业技能:企业购买使用权,按调用量计费
  • 专有技能:企业内部,不对外分发

这个方向让技能变成一种可以交易的知识资产,类似今天的 SaaS 软件市场,但粒度更细。


八、一个完整的多 Agent 协作示例

把上面的内容综合起来,看一个完整的生产场景——用 LangGraph 构建一个自动化 Code Review 流水线:

PR 提交 | v [意图分析 Agent] 识别 PR 类型和重点 | +---(并行执行)---+ v v [代码审查 Agent] [安全审计 Agent] (code-review 技能) (security-audit 技能) | | +-------+-------+ | v [报告合成 Agent] (report-generation 技能) | v 输出综合审查报告 + 自动评论到 PR

这个流水线中:

  • 每个 Agent 持有对应的 AgentSkills 技能
  • 技能确保不同 Agent 使用一致的标准
  • LangGraph 管理控制流和状态共享
  • 整个流水线可以由新的 PR 事件自动触发

九、系列总结

回顾整个 AgentSkills 系列,我们走过了从规范到生态、从 SDK 到安全、从单技能到多 Agent 编排的完整路径。

核心结论:

  1. AgentSkills 解决的是 Agent 的"执行知识"问题,而不是工具调用问题——这个定位让它和 MCP 形成互补而非竞争关系。

  2. 渐进式披露是这个标准最核心的技术创新,它让"管理大量技能"和"保持上下文精简"不再矛盾。

  3. 生产级技能设计需要工程化思维:单一职责、精准描述、清晰步骤、版本管理、自动化验证。

  4. 企业级部署需要多租户隔离、热重载、分布式缓存,这些都是分布式系统工程的标准实践。

  5. 在 Agent 编排框架中,AgentSkills 作为能力标准化语言,解决多 Agent 协作中的能力对齐问题。

Agent Skills 不是一个终点,而是 AI Agent 从"能力强大但行为不可控"走向"专业可靠且可工程化管理"的重要里程碑。这个生态还在快速演进,现在入场的工程师和团队,将在很大程度上塑造这个标准未来的形态。

http://www.jsqmd.com/news/555727/

相关文章:

  • 通达信数据接口Python化:量化投资数据获取的革命性方案
  • 从人脸解锁到自动驾驶:关键点检测的5个硬核应用与背后的技术栈
  • 构建自主海上防御系统:Mirai Robotics融资420万美元
  • mbed OS版本兼容性补丁设计与HAL适配实践
  • 从C++/Go转Rust,我踩过的那些‘内存安全’的坑(附避坑指南)
  • 虚拟显示器驱动:Windows多屏扩展的创新解决方案
  • 前端集成实战:使用JavaScript与Vue调用国风美学模型生成动态页面素材
  • React Native vs Flutter:一次深入到底的性能对比分析(含原理 + 实战)
  • 实战解析:@JsonFormat、@DateTimeFormat与@JSONField在Java DTO中的精准应用
  • 保姆级教程:手把手教你将YOLOv8训练的.pt模型部署到Android手机(附onnx转换避坑指南)
  • RPCS3汉化补丁系统革新:突破语言壁垒的PS3游戏本地化全指南
  • 简单三角形生成器
  • 手把手教你实现UE4与Vue页面的无缝通信(附完整代码示例)
  • 业务流程自动化与电子签名革新:Odoo重塑企业数字化转型价值
  • AtlasOS解决Windows安装错误:2502/2503代码完全修复指南
  • 计算机毕业设计springboot学生成绩管理系统 基于SpringBoot的高校学业成绩数字化管理平台的设计与实现 SpringBoot框架下的课程考核与学分统计系统开发
  • 3步实现专业级3D建模:突破性AI工具全解析
  • Zabbix监控工程师必备:5个自定义模板开发技巧与自动化运维实战
  • 中医健康管理师/技术培训,全行业认可,守嘉权威教学,入行必备 - 品牌排行榜单
  • HunyuanVideo-Foley环境音生成挑战赛:最佳提示词与生成作品赏析
  • 消息防撤回技术全解析:从原理到实践的即时通讯数据保护方案
  • 别再只当画图工具了!UPPAAL验证器与统计模型检查实战指南
  • Python金融数据接口与量化分析工具:MOOTDX全方位技术指南
  • XXE漏洞原理与防御详解,网络安全XXE漏洞基础知识到安全防御的完整指南,XXE漏洞零基础入门到精通教程
  • 3步激活Mac刘海隐藏功能:让闲置屏幕空间变身智能控制中心
  • 2026年浙江技校,艺术职高/艺术类职高/艺体职高/艺术职高学校/影视化妆职高学校/化妆专业中职/化妆中专,技校厂商推荐 - 品牌推荐师
  • AI开发者必备:PyTorch 2.8镜像在视频生成场景下的完整应用教程
  • 2026年羊绒衫厂家推荐:商务通勤与日常穿搭高性价比羊绒衫源头工厂. - 十大品牌推荐
  • 成本透明化:OpenClaw+GLM-4.7-Flash任务消耗实时监控
  • 免疫共刺激核心靶点解析:CD27(TNFRSF7)的作用机制与药物研发进展