Skip to main content
Loading navigation
Back to prompt library

Mastra AI Agent Core Definition and Tools

Linked challenge: AI-Powered Productivity Agent for Enterprise Cost Optimization

Prompt source

implementation49 lines7 sectionsNo variables1 code block
Using Mastra AI, define a primary `ProductivityOptimizerAgent`. This agent should be capable of: 
1. Retrieving documents from a RAG system.
2. Analyzing structured and unstructured data using an LLM (Phi-3).
3. Triggering external automation workflows via Lyzr. 
Provide the TypeScript code for the Mastra AI agent initialization, including defining these tool interfaces. Assume Phi-3 is accessible via `phi3.generate(prompt)` and Lyzr tools are accessible via a `lyzrClient.triggerWorkflow(name, params)`.

```typescript
import { createAgent, createTool } from '@mastra-ai/core';

const phi3Tool = createTool('phi3_analyzer', {
  description: 'Analyzes data using the Phi-3 LLM.',
  input: { type: 'string', name: 'prompt' },
  output: { type: 'string' },
  handler: async ({ prompt }) => {
    // Simulate Phi-3 API call via Oracle OCI Generative AI
    return `Analysis result for: ${prompt} (simulated by Phi-3)`;
  },
});

const ragTool = createTool('rag_retriever', {
  description: 'Retrieves relevant documents from a vector database.',
  input: { type: 'string', name: 'query' },
  output: { type: 'array', items: { type: 'string' } },
  handler: async ({ query }) => {
    // Simulate RAG query to Pinecone/Chroma
    return [`Doc related to ${query}`];
  },
});

const lyzrWorkflowTool = createTool('lyzr_workflow_trigger', {
  description: 'Triggers an automation workflow in Lyzr.',
  input: {
    type: 'object',
    properties: {
      workflowName: { type: 'string' },
      parameters: { type: 'object' },
    },
  },
  output: { type: 'boolean' },
  handler: async ({ workflowName, parameters }) => {
    // Simulate Lyzr API call
    console.log(`Triggering Lyzr workflow: ${workflowName} with params:`, parameters);
    return true;
  },
});

const ProductivityOptimizerAgent = createAgent({
  id: 'productivity_optimizer',
  model: 'phi-3',
  tools: [phi3Tool, ragTool, lyzrWorkflowTool],
  // ... define initial state and goals
});

export { ProductivityOptimizerAgent };
```