mcpField
A
assistant-presets

assistant-presets

github.com/itallstartedwithaideaAgent 工作流4475 次安装28 周前更新
代码仓库

关于 assistant-presets

Assistant Presets 用于创建、评估和部署面向特定领域的 AI 助手配置。它将提示词、示例、模型参数、工具、输出约束和基准测试组合起来,并支持版本管理与 A/B 测试。

主要功能

  1. 01可复用的助手配置
  2. 02系统提示词与少样本示例
  3. 03模型参数和工具设置
  4. 04输出约束与基准测试
  5. 05版本管理和 A/B 测试

适用场景

  1. 01配置领域专用 AI 助手
  2. 02统一团队内的助手行为
  3. 03构建可复用预设库
  4. 04测试不同的助手配置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill assistant-presets

安装后在 Claude Code 中输入/assistant-presets确认已加载。

详细介绍

助手预设

属于 Agent Skills™,由 googleadsagent.ai™ 提供

描述

助手预设提供了一个框架,用于创建、测试和部署面向特定领域任务的专用 AI 助手配置。每个预设都会将系统提示词、模型参数、工具访问权限、输出格式约束和质量基准封装为可复用、可版本管理的产物,将通用大模型转变为领域专家。

未经配置的大模型是通才。精心设计的预设可以将其变为专家:标记责任条款的法律合同审阅员、遵循诊断流程的医疗分诊助手、执行团队规范的代码审阅员,或遵循公司语气指南的客户支持 Agent。实用 AI 助手与令人沮丧的助手之间的差别,几乎完全取决于预设配置。

此技能将构建高质量预设的流程规范化:定义角色和约束、编写少样本示例、指定输出格式、选择合适的模型参数(temperature、top-p、max tokens),并根据预期输入和输出基准进行验证。预设采用版本控制,并在部署前进行 A/B 测试。

适用场景

  • 创建特定领域的 AI 助手(法律、医疗、金融、代码审阅)
  • 在团队或组织中统一 AI 行为
  • 构建可复用的助手配置库
  • 针对特定用例优化系统提示词
  • 对不同的助手配置进行 A/B 测试
  • 用户请求“自定义助手”、“角色”或“系统提示词”

工作原理

graph TD
    A[Define Domain + Task] --> B[Write System Prompt]
    B --> C[Add Few-Shot Examples]
    C --> D[Configure Parameters]
    D --> E[Define Output Format]
    E --> F[Create Benchmark Dataset]
    F --> G[Evaluate Against Benchmark]
    G --> H{Quality Threshold Met?}
    H -->|No| I[Iterate on Prompt]
    I --> B
    H -->|Yes| J[Version + Deploy]
    J --> K[A/B Test in Production]
    K --> L[Monitor + Maintain]

预设开发周期是迭代式的:编写、基准测试、优化。每次迭代都会进行版本管理,以便发现并回退回归问题。生产环境中的预设会与上一版本进行 A/B 测试,以验证是否有所改进。

实现

interface AssistantPreset {
  id: string;
  version: string;
  name: string;
  description: string;
  domain: string;
  systemPrompt: string;
  fewShotExamples: Array<{ input: string; output: string }>;
  parameters: {
    model: string;
    temperature: number;
    topP: number;
    maxTokens: number;
    stopSequences?: string[];
  };
  outputFormat: {
    type: "text" | "json" | "markdown" | "structured";
    schema?: Record<string, unknown>;
  };
  tools: string[];
  guardrails: {
    maxResponseLength: number;
    blockedTopics: string[];
    requiredDisclaimer?: string;
  };
}

const codeReviewPreset: AssistantPreset = {
  id: "code-review-v3",
  version: "3.1.0",
  name: "Code Reviewer",
  description: "Reviews code for correctness, security, and maintainability",
  domain: "software-engineering",
  systemPrompt: `You are a senior code reviewer. Review the provided code diff with these priorities:
1. Correctness: Does it do what it claims?
2. Security: Are inputs validated? Secrets protected?
3. Performance: Any obvious bottlenecks?
4. Maintainability: Clear naming? Reasonable complexity?

Format findings as:
- [SEVERITY] file:line - Description
- Suggested fix: ...

Severities: CRITICAL, HIGH, MEDIUM, LOW`,
  fewShotExamples: [
    {
      input: "```diff\n+const data = JSON.parse(userInput)\n```",
      output: "[CRITICAL] app.ts:12 - Parsing untrusted user input without try-catch\n- Suggested fix: Wrap in try-catch with input validation",
    },
  ],
  parameters: { model: "claude-sonnet-4-20250514", temperature: 0.2, topP: 0.9, maxTokens: 4096 },
  outputFormat: { type: "markdown" },
  tools: ["read_file", "grep", "git_diff"],
  guardrails: {
    maxResponseLength: 5000,
    blockedTopics: [],
    requiredDisclaimer: undefined,
  },
};

class PresetBenchmark {
  constructor(
    private preset: AssistantPreset,
    private testCases: Array<{ input: string; expectedPatterns: string[] }>
  ) {}

  async evaluate(llm: LLMClient): Promise<{ score: number; failures: string[] }> {
    const failures: string[] = [];
    let passed = 0;

    for (const tc of this.testCases) {
      const response = await llm.generate(this.preset.systemPrompt, tc.input, this.preset.parameters);
      const allPresent = tc.expectedPatterns.every(p => response.includes(p));
      if (allPresent) passed++;
      else failures.push(`Input "${tc.input.slice(0, 50)}..." missing expected patterns`);
    }

    return { score: passed / this.testCases.length, failures };
  }
}

最佳实践

  • 将系统提示词写成指令,而非描述——“你负责审阅代码”,而不是“这是一个代码审阅员”
  • 添加 2-5 个少样本示例,展示所需的确切输出格式
  • 对事实类/分析类任务,将 temperature 设为 0.1-0.3;对创意类任务,将其设为 0.7-0.9
  • 为面向用户的助手定义护栏(禁止讨论的主题、最大长度、必需的免责声明)
  • 为每次预设变更创建版本,并维护变更日志
  • 部署新版本前,至少使用 20 个测试用例进行基准测试

平台兼容性

平台支持情况备注
Cursor完全支持规则 + 预设系统
VS Code完全支持自定义助手配置
Windsurf完全支持Cascade 预设支持
Claude Code完全支持AGENTS.md 角色配置
Cline完全支持自定义指令集
aider部分支持支持规范文件

相关技能

关键词

assistant-presets system-prompt persona domain-specific few-shot prompt-engineering a-b-testing guardrails


© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License

评论

支持 Markdown