用途:面向 Prefect 3 项目的构建、审查与调试,帮助代理避免默认会犯的错误,如过时的 3.x 知识、未查询的实例状态等。Prefect 2.x 不在范围内,建议迁移升级。
主要能力与做法:
- 核实门:在项目环境中确定已安装的 Prefect 版本并检查锁文件固定版本;对版本敏感的主张要用已获取的文档或本地 API/CLI 证据核实并引用来源。部署故障时检查受影响的 worker、flow 镜像、集成或服务端版本,本地 CLI 版本不能代表那些版本。
- 每次回答需说明假设:区分 Cloud 或自托管,以及部署模式(worker 支持的 pool、push/Managed pool 或 serve())。
- 文档查询协议:不确定或任务对版本敏感时,先取索引 https://docs.prefect.io/llms.txt 找到匹配页面,再取该页 URL(链接已含 .md);404 时重新解析索引而非猜 URL;Markdown 被拒绝时去掉 .md 试 HTML;直接查找失败时用网络搜索兜底;优先使用代理的网络抓取而非 shell curl;避免加载整库的 llms-full.txt。
- CLI 优先:部署、work pool、运行、block、profile 等答案在实例中时,通过 CLI 查询;可连接的 Prefect MCP 可提供只读证据;只读查询无需确认,状态变更命令仅在明确任务时执行,破坏性操作需先提示。
- 常用查询:deployment ls/inspect、work-pool ls/inspect、flow-run ls/inspect、block type ls、variable ls、profile ls,用 --help 或文档核实标志。
- 两个非显然动作:审计项目时对比已部署现实与仓库清单;调试运行时先查运行、状态转换和日志再分类原因。
限制与约定:不得猜测 prefect.yaml 形状或 CLI 标志;3.x 中 results、caching、transactions 有变化;以 workers 取代 agents(push、Managed、serve() 除外);不要通过 Deployment 对象创建部署;只读查询与授权变更区分;输出目标字段需脱敏,不显示凭据值。