公共微代理:赋能全局范围内的 OpenHands 指导

公共微代理为每位 OpenHands 用户提供专门的上下文和能力,无论你使用的是哪个代码仓库。与针对特定仓库的微代理不同,公共微代理提供一种全球通用的专业知识和一致工作流程,为所有用户共享。


🌍 什么是公共微代理?

公共微代理为所有仓库提供专门知识和能力支持。它们主要分为两种形式:

  • 知识微代理:
    当你在对话中使用触发词时,这类微代理会自动激活。例如,当你提到 “git” 或 “docker” 时,对应的知识微代理会提供详细的指导和最佳实践建议。
  • 任务微代理:
    这类微代理需要用户主动调用,以引导你完成特定的工作流程。当需要分步支持——比如更新拉取请求描述或管理代码评审时,任务微代理可以确保过程的一致性和高效性。

这两种类型的微代理在语法和结构上与仓库专属微代理一致,均使用带有 YAML 前言的 Markdown 文件进行定义。它们存放在官方 OpenHands 仓库中,并遵循以下目录结构:

  • 知识微代理存放在 microagents/knowledge/ 目录中
  • 任务微代理存放在 microagents/tasks/ 目录中

🔧 公共微代理的工作原理

当你在 OpenHands 中发出指令或提问时,公共微代理会始终保持待命:

  • 它们会监控输入的命令,检视其中的触发词,一旦使用了相关关键词,便会激活相应的微代理。
  • 一旦激活,这些微代理会应用其专门的知识和能力,为你提供符合最佳实践的一致性指导。
  • 它们严格遵循 YAML 前言中定义的具体指南和限制,确保其行为能够无缝融入你的工作流程。

与基于仓库配置加载的仓库专属微代理不同,公共微代理具有全球可用性。这意味着不论你正在处理哪个项目,所有用户都能从这一共享的专业知识库中获益。


📝 如何贡献公共微代理

公共微代理不仅是一个极为实用的工具,它们还是一个协作资源。OpenHands 鼓励开发者通过创建和共享自己的公共微代理来为这一库做出贡献。下面是如何参与:

1. 规划你的公共微代理

在开始编写之前,请考虑:

  • 你的微代理将解决哪一个特定问题或用例?
  • 它应当提供哪些独特能力或专业知识?
  • 哪些触发词适合用来激活你的微代理?
  • 该微代理应该遵循哪些限制或指导原则?

2. 创建文件

  • 为你的 Markdown 文件选择一个描述性名称。
  • 将文件放置于合适的目录中:
    • 使用 microagents/knowledge/ 目录来存放知识微代理。
    • 使用 microagents/tasks/ 目录来存放任务微代理。
  • 确保文件遵循文档中规定的正确语法和结构。

3. 测试微代理

  • 使用各种提示语测试你的微代理。
  • 验证触发词能否正确激活该微代理。
  • 确认其提供的指导是否清晰、全面,并且与已有微代理不存在冲突。

4. 提交 Pull Request

  • 提交包含你的新微代理文件的 Pull Request。
  • 如有需要,更新相关文档。
  • 提供该微代理用途和能力的明确描述。

有关详细说明,请参阅 OpenHands 仓库中的官方 CONTRIBUTING.md 文件。


🔍 公共微代理的最佳实践

在设计公共微代理时,请考虑以下几点以确保其有效且用户友好:

  • 明确范围:
    确保每个微代理聚焦于特定领域或任务。
  • 明确指令:
    提供清晰、毫不含糊的指导,避免产生混淆。
  • 实用示例:
    包含能够说明常见用例的实际示例。
  • 安全至上:
    加入必要的警告或约束,以防止滥用。
  • 集成意识:
    考虑微代理如何与 OpenHands 内的其他组件协同工作,确保无缝集成。

🌟 最后感言

公共微代理是 OpenHands 生态系统的核心组成部分。通过提供一个共享的、领域专属的专业知识与工作流程支持库,它们帮助保持一致的开发实践,并提升每位用户的整体辅助质量。无论你是一位希望简化任务流程的开发者,还是一位热衷于分享专业知识的贡献者,公共微代理都为优化软件开发流程提供了一种强大且协作的方式。

祝你编码愉快,愿公共微代理的集体智慧在你每一步前行中指引方向!

评论

发表回复

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 知差(chai)网