跳到主要内容

buildBasePrompt()

buildBasePrompt() 为 Coding Agent 构建共享的基础系统 Prompt,即让 Agent 成为优秀编程助手的行为指令。它接收描述当前环境(项目、平台、Git 分支、模式和模型)的 PromptContext,并以字符串形式返回 Prompt。

产品特定字符串通过 productNamecoAuthorNamecoAuthorEmail 参数化,因此无需 Fork 即可更换 Prompt 和 Commit Trailer 中的品牌。这些字段默认为 "Mastra Code" / "noreply@mastra.ai",因此现有调用方的输出保持不变。

为 Agent 构建运行时定义的指令时,可将它与 createCodingAgent() 配合使用。

用法示例
用法示例的直接链接

根据 PromptContext 构建基础 Prompt:

src/mastra/prompt.ts
import { buildBasePrompt } from '@mastra/core/coding-agent'

const prompt = buildBasePrompt({
projectPath: process.cwd(),
projectName: 'my-app',
gitBranch: 'main',
platform: process.platform,
date: new Date().toDateString(),
mode: 'build',
modelId: 'openai/gpt-5',
toolGuidance: '',
})

如需更换 Prompt 品牌,请传入产品和共同作者字段:

const prompt = buildBasePrompt({
// ...environment fields
productName: 'Acme Coder',
coAuthorName: 'Acme Bot',
coAuthorEmail: 'bot@acme.dev',
})

参数
参数的直接链接

buildBasePrompt() 接收一个 PromptContext 对象。

projectPath:

string
项目根目录的绝对路径。

projectName:

string
项目的显示名称。

gitBranch?:

string
当前 Git 分支(如果项目是 Git 仓库)。

platform:

string
操作系统平台(例如 process.platform 的值)。

commonBinaries?:

{ name: string; path: string | null }[]
在系统中检测到的常见二进制文件;每项包含名称和解析后的路径(未找到时为 null)。

date:

string
注入 Prompt 的当前日期字符串。

mode:

string
当前启用的 Agent 模式(例如 "build" 或 "plan")。

modelId?:

string
当前启用模型的标识符;如果提供,会包含在 Commit 的 Co-Authored-By 行中。

activePlan?:

{ title: string; plan: string; approvedAt: string } | null
当前已批准的 Plan(如果有)。

toolGuidance:

string
附加到 Prompt 的 Tool 使用指南部分。

productName?:

string
= Mastra Code
Prompt 标题中使用的显示名称。

coAuthorName?:

string
= Mastra Code
Commit 的 Co-Authored-By 行中使用的名称。

coAuthorEmail?:

string
= noreply@mastra.ai
Commit 的 Co-Authored-By 行中使用的电子邮件地址。

返回值
返回值的直接链接

prompt:

string
Coding Agent 的基础系统 Prompt。