Chuyển đến nội dung chính

Bài 15: Domain Packs — Industry-specific AI Bundles

Thiết kế Domain Pack architecture: pack definition, specialized tools, domain-specific prompts. Build packs cho Healthcare, Legal, Finance, Education. Auto-activation, pack marketplace.

🧠 AI & ML — Bài 14 Bài 15: Domain Packs — Industry-specific AI Bundles

Xây dựng AI Agent Platform từ Zero — Thực chiến với xClaw

Phần 5: Skills, Domains & Plugins

xdev.asia

Giới thiệu

Domain Packs là pre-built bundles gồm skills + tools + prompts đặc thù cho ngành cụ thể. Thay vì agent generic, user chọn "Healthcare Pack" và ngay lập tức có medical tools, clinical prompts, HIPAA compliance checks.


1. Domain Pack Architecture

// packages/domains/src/types.ts
export interface DomainPack {
  id: string;
  name: string;
  slug: string;
  description: string;
  version: string;
  icon: string;
  color: string;
  skills: SkillDefinition[];
  systemPrompt: string;              // Domain-specific base prompt
  suggestedQuestions: string[];       // Quick-start examples
  complianceRules?: ComplianceRule[];
  requiredPermissions?: string[];
}

export interface ComplianceRule {
  id: string;
  name: string;
  description: string;
  check: (message: string) => boolean;
  action: 'warn' | 'block' | 'redact';
}

2. Healthcare Domain Pack

// packages/domains/src/packs/healthcare.ts
export const healthcarePack: DomainPack = {
  id: 'healthcare',
  name: 'Healthcare & Medical',
  slug: 'healthcare',
  description: 'Medical AI assistant with clinical tools and HIPAA compliance',
  version: '1.0.0',
  icon: '🏥',
  color: '#10b981',

  systemPrompt: `You are a medical AI assistant. Guidelines:
- Always cite medical sources (PubMed, clinical guidelines)
- Include appropriate disclaimers for medical advice
- Follow HIPAA compliance for patient data
- Use ICD-10 codes when relevant
- Recommend professional consultation for diagnoses`,

  suggestedQuestions: [
    'Explain the mechanism of action of metformin',
    'What are the differential diagnoses for chest pain?',
    'Summarize the latest guidelines for hypertension management',
  ],

  skills: [
    defineSkill({
      id: 'medical-search',
      name: 'Medical Literature Search',
      description: 'Search PubMed and medical databases',
      version: '1.0.0',
      tools: [
        {
          definition: {
            name: 'pubmed_search',
            description: 'Search PubMed for medical literature',
            parameters: {
              type: 'object',
              properties: {
                query: { type: 'string', description: 'Medical search query' },
                maxResults: { type: 'number', description: 'Max results (1-20)' },
              },
              required: ['query'],
            },
          },
          handler: pubmedSearchHandler,
        },
        {
          definition: {
            name: 'drug_interaction_check',
            description: 'Check for drug-drug interactions',
            parameters: {
              type: 'object',
              properties: {
                drugs: { type: 'string', description: 'Comma-separated drug names' },
              },
              required: ['drugs'],
            },
          },
          handler: drugInteractionHandler,
        },
        {
          definition: {
            name: 'icd10_lookup',
            description: 'Look up ICD-10 diagnosis codes',
            parameters: {
              type: 'object',
              properties: {
                query: { type: 'string', description: 'Condition or symptom' },
              },
              required: ['query'],
            },
          },
          handler: icd10LookupHandler,
        },
      ],
    }),
  ],

  complianceRules: [
    {
      id: 'hipaa-phi',
      name: 'HIPAA PHI Detection',
      description: 'Detect and redact Protected Health Information',
      check: (message) => {
        // Detect SSN, patient IDs, etc.
        return /\b\d{3}-\d{2}-\d{4}\b/.test(message) ||
               /patient\s+id:\s*\w+/i.test(message);
      },
      action: 'redact',
    },
  ],
};

3. Domain Pack Registry

// packages/domains/src/domain-registry.ts
export class DomainRegistry {
  private packs = new Map<string, DomainPack>();

  register(pack: DomainPack) {
    this.packs.set(pack.id, pack);
  }

  get(id: string): DomainPack | undefined {
    return this.packs.get(id);
  }

  listAll(): DomainPack[] {
    return Array.from(this.packs.values());
  }

  // Activate domain for a session
  activateForSession(
    domainId: string,
    sessionId: string,
    skillManager: SkillManager,
  ): void {
    const pack = this.packs.get(domainId);
    if (!pack) throw new Error(`Domain pack not found: ${domainId}`);

    // Register all skills from the pack
    for (const skill of pack.skills) {
      skillManager.register(skill);
      skillManager.activate(sessionId, skill.id);
    }
  }
}

4. Available Domain Packs trong xClaw

PackToolsUse Case
HealthcarePubMed search, Drug interactions, ICD-10Medical AI assistant
LegalCase law search, Contract analysis, ComplianceLegal research
FinanceMarket data, Financial analysis, Risk scoringFinancial advisor
EducationQuiz generator, Curriculum builder, GradingEdTech AI
DevOpsLog analysis, Infrastructure check, AlertManagerSRE assistant
Customer SupportTicket search, FAQ retrieval, Sentiment analysisSupport bot
ContentSEO analysis, Content calendar, Social post genContent marketing
HRResume parser, Job matching, Interview questionsHR automation
E-commerceProduct search, Price comparison, Review analysisShopping assistant
Data AnalysisSQL generation, Chart creation, Statistical testsData analyst
ResearchPaper search, Citation manager, Literature reviewAcademic research
CreativeImage prompts, Story generator, Brand namingCreative AI
SecurityCVE lookup, SIEM analysis, Threat intelligenceSecurity analyst

5. Tổng kết

  • Domain Packs = pre-built bundles (skills + prompts + compliance)
  • Registry pattern — plug-and-play activation
  • Compliance rules — domain-specific safety checks
  • Scalability — mỗi pack là independent package, có thể publish riêng

Bài tiếp theo: Plugin System & MCP Protocol.