MCPcopy Create free account
hub / github.com/astercloud/aster / buildSystemPrompt

Method buildSystemPrompt

pkg/agent/agent.go:548–674  ·  view source on GitHub ↗

buildSystemPrompt 使用 PromptBuilder 构建 System Prompt

(ctx context.Context)

Source from the content-addressed store, hash-verified

546
547// buildSystemPrompt 使用 PromptBuilder 构建 System Prompt
548func (a *Agent) buildSystemPrompt(ctx context.Context) error {
549 // 创建 PromptBuilder(支持压缩)
550 var builder *PromptBuilder
551 if a.deps.PromptCompressor != nil {
552 builder = NewPromptBuilderWithCompression(a.deps.PromptCompressor)
553 } else {
554 builder = NewPromptBuilder()
555 }
556
557 // 添加基础模块
558 builder.AddModule(&BasePromptModule{})
559
560 // 添加能力说明模块(如果启用)
561 builder.AddModule(&CapabilitiesModule{})
562
563 // 添加专业客观性模块
564 builder.AddModule(&ProfessionalObjectivityModule{})
565
566 // 添加简洁性模块
567 builder.AddModule(&ConcisenessModule{})
568
569 // 添加避免过度工程化模块
570 builder.AddModule(&AvoidOverEngineeringModule{})
571
572 // 添加规划指南模块
573 builder.AddModule(&PlanningWithoutTimelinesModule{})
574
575 // 收集环境信息
576 workDir := "."
577 if a.sandbox != nil {
578 workDir = a.sandbox.WorkDir()
579 }
580 envInfo := collectEnvironmentInfo(ctx, workDir, a.createdAt)
581
582 // 添加环境信息模块
583 builder.AddModule(&EnvironmentModule{})
584
585 // 添加沙箱信息模块
586 builder.AddModule(&SandboxModule{})
587
588 // 添加工具手册模块
589 var toolsManualConfig *types.ToolsManualConfig
590 if a.template.Runtime != nil && a.template.Runtime.ToolsManual != nil {
591 toolsManualConfig = a.template.Runtime.ToolsManual
592 }
593 builder.AddModule(&ToolsManualModule{Config: toolsManualConfig})
594
595 // 添加 Todo 提醒模块
596 var todoConfig *types.TodoConfig
597 if a.template.Runtime != nil && a.template.Runtime.Todo != nil {
598 todoConfig = a.template.Runtime.Todo
599 }
600 builder.AddModule(&TodoReminderModule{Config: todoConfig})
601
602 // 添加代码引用模块
603 builder.AddModule(&CodeReferenceModule{})
604
605 // 添加 Git 安全模块

Callers 1

CreateFunction · 0.95

Calls 11

AddModuleMethod · 0.95
extractRoomInfoMethod · 0.95
extractWorkflowInfoMethod · 0.95
BuildMethod · 0.95
NewPromptBuilderFunction · 0.85
collectEnvironmentInfoFunction · 0.85
WorkDirMethod · 0.65
DebugMethod · 0.65

Tested by

no test coverage detected