Vibe Coding 工作法
先说结论
用 vibe coding 写 Agent,不是让 AI 一次生成完整系统,而是把任务拆成能验证的小块:
| 开发者负责 | AI 适合负责 |
|---|---|
| 定义目标和验收标准 | 生成初版代码 |
| 设计工具边界和 schema | 补充样板代码 |
| 选择状态和存储策略 | 根据错误日志改代码 |
| 审查安全和失败路径 | 生成测试输入和文档 |
| 运行验证命令 | 总结调试结果 |
一个可复制的提示词模板
text
你要帮我实现一个 Mastra Agent 的小功能。
目标:
- [写清楚业务目标]
约束:
- 不新增依赖,除非我明确同意。
- 工具必须有 inputSchema 和 outputSchema。
- 代码要能通过 npm run typecheck。
- 修改后告诉我运行哪个命令验证。
已有结构:
- Agent 放在 src/mastra/agents
- Tool 放在 src/mastra/tools
- Workflow 放在 src/mastra/workflows
请先给出改动文件列表,再写代码。验证清单
AI 写完后不要直接相信。按下面检查:
- 命令是否能跑:
npm run typecheck、对应 Demo 或构建脚本。 - schema 是否和执行函数实际使用的字段一致。
- 工具是否只做一件事,不把业务流程塞进一个工具。
- Agent instructions 是否描述了工具边界,而不是模糊地说“尽量做好”。
- Memory 是否明确
resource和thread。 - Workflow 的步骤输入输出是否能串起来。
- 模型是否集中配置,是否有切换和 fallback 验证方式。
- 请求级变量是否使用
RequestContext,而不是写进长期 Memory。 - 结构化输出是否用 schema 验证,而不是只看文本像不像 JSON。
- 高风险工具是否需要 approval。
- 是否有固定 eval cases 可以比较改动前后。
给 AI 补上下文
Mastra 官方 Build with AI 页面提醒:AI 编程工具可能不了解最新 Mastra API。正式让 AI 写代码前,应提供官方链接或 llms.txt 上下文。
text
请基于以下 Mastra 官方文档回答,不要凭旧 API 猜测:
- Agents: https://mastra.ai/docs/agents/overview
- Tools: https://mastra.ai/docs/agents/using-tools
- Workflows: https://mastra.ai/docs/workflows/overview
- Memory: https://mastra.ai/docs/memory/overview
- Structured output: https://mastra.ai/docs/agents/structured-output
- Models: https://mastra.ai/models
- Request context: https://mastra.ai/docs/server/request-context
- Server deployment: https://mastra.ai/docs/deployment/mastra-server
- Scorers: https://mastra.ai/docs/evals/overview
如果代码用到文档外 API,请标注为未确认。常见反模式
| 反模式 | 后果 | 更好的做法 |
|---|---|---|
| 让 Agent 自己决定所有步骤 | 难以复现和调试 | 明确流程用 Workflow |
| Tool 没有 schema | 模型容易传错参数 | 用 Zod 定义输入输出 |
| 把数据库密钥写进代码 | 泄露风险 | 用环境变量 |
| 每次都新建 thread | 记忆无法连续 | 固定 user/resource 和 session/thread |
| 把全部资料塞进 prompt | 上下文爆炸 | 用 RAG 先检索相关片段 |
| 改完 prompt 只看一次效果 | 质量无法比较 | 用固定 eval cases 回归 |