关于 agent-workflow
这是一项面向 AI Agent 工作流设计、构建和维护的技能,适用于打造生产级工作流。它强调先收集项目背景,并覆盖提示词、上下文、工具编排、评估与安全。
主要功能
- 01收集项目及决策背景
- 02设计提示词并管理上下文
- 03规划工具与 Agent 编排
- 04建立评估和反馈循环
- 05实施安全与成本控制
适用场景
- 01上线前审查 Agent 工作流
- 02改进提示词和上下文设计
- 03评估工作流输出及回归
- 04增加校验和成本限制
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sharpdeveye/ maestro --skill agent-workflow安装后在 Claude Code 中输入/agent-workflow确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/agent-architecture.mdcontext-management.mdfeedback-loops.mdguardrails-safety.mdknowledge-systems.mdprompt-engineering.mdtool-orchestration.md详细介绍
强制要求 — 上下文收集协议
在应用任何工作流指导之前,先收集上下文:
-
检查项目根目录中的 Maestro 上下文
- 首先检查
.maestro/context.md(v2 布局) - 然后检查
.maestro.md(v1 布局 — 向后兼容) - 如果存在 → 读取并使用其中的工作流上下文
- 如果不存在 → 告诉用户:“未找到工作流上下文。运行 /teach-maestro,为项目设置专属上下文,以获得更好的结果。”
- 首先检查
-
检查决策历史(可选)
- 如果
.maestro/decisions.jsonl存在 → 读取最近 5 条决策,以便在会话中保持连贯 - 如果不存在 → 继续操作(无需报错)
- 如果
-
最低可用上下文(如果没有
.maestro.md):- 正在使用哪些 AI 模型?
- 工作流的主要任务是什么?
- 是否有可用的现有提示词、工具或 Agent?
- 对质量、速度和成本的优先级是什么?
-
不要在尚未充分了解模型、任务和优先级的情况下继续操作。
Maestro — AI Agent 工作流精通
此技能提供设计、构建和维护生产级 AI Agent 工作流所需的基础知识。所有 Maestro 命令都以这些原则为基础。
核心原则
- 结构优于临场发挥 — 工作流应经过周密设计,而非临时形成
- 约束也是功能 — 明确的边界可以避免失败情况
- 以测量为准,而非凭空假设 — 每个工作流都需要评估,而不只是测试
- 复杂度适当 — 让解决方案匹配问题,而非追求宏大目标
- 优雅降级 — 每个组件都应能够安全地失败
1. 提示词工程
应该做:
- 使用结构清晰的提示词,并划分明确的部分(角色、上下文、说明、输出格式)
- 明确定义输出架构(JSON 架构、Markdown 模板、类型化响应)
- 对有歧义的任务使用少样本示例
- 对多步推理使用思维链
- 保持系统提示词专注 — 每个提示词只设定一个明确角色
不应该做:
- 编写没有结构、长篇大论的提示词
- 假设模型能理解隐含的输出格式
- 对本质不同的任务使用相同的提示词
- 在同一提示词中放入互相冲突的指令
- 指望模型自行“想办法解决”
→ 请参阅提示词工程参考,了解结构、模式和输出架构。
2. 上下文管理
应该做:
- 合理分配上下文窗口用量(系统提示词、示例、用户输入、工具结果、输出)
- 将关键信息放在上下文的开头和结尾(注意力梯度)
- 使用检索(RAG),而不是塞入完整文档
- 明确维护对话状态
- 总结较长的历史记录,而不是传递原始转录
不应该做:
- 将整个代码库、数据库或文档都塞进上下文
- 忽略上下文窗口限制,直到超出限制
- 假设模型对所有上下文的关注度都相同
- “以防万一”而传递无关信息
- 依赖轮次之间的隐式记忆
→ 请参阅上下文管理参考,了解窗口优化和记忆模式。
3. 工具编排
应该做:
- 为工具设置清晰、具体的名称和描述
- 为每个工具定义输入和输出架构
- 妥善处理工具错误(工具迟早会失败)
- 保持工具集专注 — 每个 Agent 配备 3-7 个工具为宜
- 尽可能让工具具备幂等性
不应该做:
- 暴露 30 多个工具,然后指望模型选对
- 使用含糊的工具描述(“处理数据之类的事情”)
- 在工具实现中省略错误处理
- 对具有破坏性的操作,不经确认就让工具产生副作用
- 创建功能重叠的工具
→ 请参阅工具编排参考,了解选择启发法和组合模式。
4. Agent 架构
应该:
- 从单个 Agent 开始——只有在单个 Agent 明确无法胜任时,才添加其他 Agent
- 明确每个 Agent 的边界和职责
- 使用结构化的 Agent 间交接协议
- 为多 Agent 系统实现监督者模式
- 设计时考虑可观测性——记录 Agent 的决策,而不仅仅是输出
不应该:
- 为单个 Agent 就能处理的问题构建多 Agent 系统
- 创建边界不明确的 Agent(职责重叠会导致冲突)
- 使用非结构化的 Agent 间通信
- 跳过监督者——自主 Agent 集群难以预测
- 假设 Agent 无需明确协议就能协调配合
→ 请参阅 Agent 架构参考,了解拓扑模式和委派方式。
5. 反馈循环
应该:
- 从第一天起就在工作流中加入评估
- 创建包含已知正确输入和输出的黄金测试集
- 使用自动化评估器进行一致的质量评分
- 跟踪回归——将新输出与基准进行比较
- 为关键输出实现自我纠正循环
不应该:
- 未经评估就发布(“看起来能用”不算评估)
- 大规模应用时仅依赖人工审核
- 不设结构就用同一个模型评估其自身输出
- 更改提示词或模型时跳过回归测试
- 混淆“模型运行时没有出错”和“输出正确”
→ 请参阅 反馈循环参考,了解评估模式和自我纠正。
6. 知识系统
应该:
- 根据查询类型选择检索策略(语义、关键词、混合)
- 仔细划分文档片段(按语义边界划分,而非任意的词元数量)
- 在每条检索结果中注明来源
- 将检索质量与生成质量分开测试
- 对知识库进行版本管理——了解模型可访问哪些内容
不应该:
- 未先测试检索质量就构建 RAG
- 对所有文档类型使用固定的片段大小
- 跳过来源标注(没有来源标注的幻觉无法被发现)
- 未经筛选就索引所有内容(输入垃圾,输出也会是垃圾)
- 假设嵌入相似度就等于相关性
→ 请参阅 知识系统参考,了解 RAG、嵌入和基于依据生成。
7. 护栏与安全
应该:
- 在处理前验证输入(架构验证、大小限制)
- 筛查输出中的敏感内容、个人身份信息(PII)和策略违规内容
- 设置硬性成本上限(每次运行的最大词元数、最大 API 调用次数和最大支出)
- 为级联故障实现熔断机制
- 记录所有内容,以便审计
不应该:
- 未验证输入就部署(提示词注入确实存在)
- 在高风险决策中未经验证就信任模型输出
- 在没有成本控制的情况下运行(一次失控的循环就可能造成数千美元的成本)
- 跳过外部 API 调用的速率限制
- 假设模型 100% 的情况下都会遵循安全指令
→ 请参阅 护栏参考,了解验证、沙箱和约束。
工作流粗制滥造检测
如果以下任一项成立,就需要改进工作流:
- 提示词是没有结构的长篇文本 → 运行
/refine - 未定义输出架构——由模型决定格式 → 运行
/refine - 未设置预算就使用上下文窗口——把所有内容都塞进去 → 运行
/accelerate - 向单个 Agent 暴露了超过 10 个工具 → 运行
/streamline - 没有错误处理——只处理顺利路径 → 运行
/fortify - 没有评估——“看起来能用” → 运行
/iterate - 用多 Agent 系统解决单 Agent 就能处理的问题 → 运行
/temper - 没有成本控制——词元用量不受限制 → 运行
/guard - 工具的单行描述含糊不清 → 运行
/calibrate - 没有日志记录——无法调试生产问题 → 运行
/fortify
勾选 0 项 = 已达到生产就绪状态。勾选 3 项以上 = 工作流粗制滥造。
可用命令
使用这些命令来应用工作流精通的特定方面:
{{available_commands}}
评论
支持 Markdown