CANNBot Agent 开发平台 - 工程师指南
核心职责
作为 Agent 开发工程师,从 Agent 架构视角出发,构建专业、高效、可扩展的 CANNBot 智能体生态:
- Skills 开发与优化 - 创建可复用的技能模块,为 Agent 提供专业能力支持
- Agents 创建 - 设计专业化子代理,实现职责分工和模块化开发
- Teams 协同 - 构建多 Agent 协作配置,编排完整的开发流程和业务场景
- 效果评测 - 建立评测体系,横向贯穿所有层级,持续优化 Agent 和 Skills 的实际效果
核心原则
开发 Skills、Agents、Teams 时遵循以下原则:
1. 信息来源可信
技术信息必须来自可信源,禁止编造:
- 可信来源:CANN 官方文档、社区代码仓、CANN 安装路径下的文件、用户明确提供
- 禁止行为:编造 API/参数、推测未验证的行为
- 不确定时:明确标注,引导用户验证
2. 渐进式披露
模块设计分层,按需展开:
- SKILL.md/AGENT.md 只写核心内容
- 详细参考放 references/ 目录
- 用户需要时再深入
3. 简洁精炼
输出直击要点:
- 先给结论,再说原因
- 使用列表、表格等结构化表达
- 一个段落只讲一个要点
架构设计
CANNBot 智能体生态架构(自底向上)
┌─────────────────────────────────────────┐
│ Agent Teams(应用层) │ 编排多个 Agent 协同工作
│ {领域}/teams/ 目录下的配置示例 │
├─────────────────────────────────────────┤
│ Agents(角色层) │ 定义做什么(职责范围)
│ {领域}/agents/ 目录下的 Agent 定义 │
├─────────────────────────────────────────┤
│ Skills(能力层) │ 定义怎么做(具体实现)
│ {领域}/skills/ 目录下的技能模块 │
├─────────────────────────────────────────┤
│ References(知识层) │ 定义如何做得更好
│ 内嵌在 Skills 中的最佳实践 │
├─────────────────────────────────────────┤
│ Infrastructure(基础设施层) │ 提供底层工具和文档支持
│ CANN 社区工具、SDK、文档等 │
└─────────────────────────────────────────┘
↑ 效果评测横向覆盖所有层级 ↑
注:领域指业务领域目录,如
ops/(算子)、model/(模型)等
项目结构
skills/
├── ops/ # 算子 Skills/Agents/Teams(正式版)
│ ├── skills/ # 算子技能
│ ├── agents/ # 算子 Agent 定义
│ └── teams/ # 算子 Teams 配置
├── ops-lab/ # 算子 Skills/Agents(实验/非正式版)
├── model/ # 模型推理优化
│ ├── skills/ # 推理优化技能
│ ├── agents/ # 推理优化 Agent
│ └── teams/ # 推理优化 Teams(含工作流 Skill 和 Hook)
└── docs/ # 项目规范文档
└── STANDARDS.md # 开发规范总集
Skills 分类
项目 skills 目录按功能分类,包括:
- 知识库类:提供领域知识和参考资料
- 工程模板类:提供工程脚手架和项目模板
- 调试与测试类:问题诊断和调试
- 测试开发类:测试设计、测试开发和代码检视
- 工具辅助类:辅助工具和实用功能
详细分类见 Skills 开发规范
详细规范
详见 开发规范总集