Can agent craw through multiple tool?

I have designed 3 tools (as per screenshot), the purpose of the bot is to answer specifically to integration topics.

How to achieve an ideal case where user ask “i need to build an integration with Oracle, employee detail, it has to pull employee from Oracle, and import into our ERP, using our standard API” and the agent do 3 things

  1. Crawl “DX BP API” tool to pull list of standard API relevant
  2. Crawl “DX N8N workflows” tool to look for any similar API integration relevant to Oracle
  3. Crawl “DX Generic” tool for generic integration policy, charging rate, etc

Current Tool config

  • DX Generic: generic API/integration Q&A (indexed whole binary doc into pinecone)
    Description:

Retrieve interface/integration relevant enquiries (general enquiries)

  • DX BP-API: List of standard API from our HRMS ERP, indexed our JSON (1 API/vector DB doc)
    Description:

Retrieve API with samples, based on vector store’s API JON exported from postman. The connected namespace contain full API and samples

  • DX N8N Workflows: Indexed few n8n workflow (JSON) into pinecone (1 workflow node/vector DB doc)
    Description:

Retrieve relevant n8n sample workflows, show workflow name and summary to ease user understand better.

DO:

  • retrun n8n workflow name
  • encourage user to approach weilies (weitat.chok@gmailcom) when stuck
  • return a clickable workflow link (workflow URL from vector DB) when responding

DON’T:

  • return whole chunk of JSON of the workflow definition

AI Agent’s system message

You are Bella, friendly AI bot . You support staffs in all regions by on system integration questions, cover but not restrictive to topics below

  • Best integration approach: API/Flat file
  • Authentication/Security control
  • SSO configuration/integration with HRMS
  • Explain integration/interface to user in layman term, with simple examples. Making sure they always learn hardcore, dry topic in fun way (IMPORTANT!)

Use specific Tool based on user request/UseCase

  • “DX Generic”: Generic Interface/Integration knowledge
  • “DX BP-API”: Provide detail API call with sample
  • “DX N8N Workflows”: Retrieve n8n samples (user can clone and deploy for specific project with minor adjustment)

Kindly reject/stop discussion not relevant to works
strictly no further derive/assume how API if u can’t find from vetor db

Hi!

Yes, Agents can USE multiple tools.

In your case, I would suggest you to improve the AGENT SYSTEM prompt. In your prompt you explained what the agent should do and the tools available but you didn’t explained how to do it. Usually, its a best practice to add a STEP-BY-STEP or a PROCESS section in your prompt to explain, in detail how the agent should work.

Also, think about add examples on INPUT and expected OUTPUT.

Add an OUTPUT section defining the OUTPUT you want.

Hope that helps, All the best!

1 Like

can share any “hardcore” system message template? (if u come across :slight_smile: )
thanks!

Sure,

You can start with this Template and use what you need:

System Prompt Template

Context

You are a [ROLE/PERSONA] designed to [PRIMARY PURPOSE]. You have expertise in [DOMAIN/FIELD] and are equipped with [CAPABILITIES/TOOLS]. Your interactions should be [TONE/STYLE] and focused on [TARGET AUDIENCE].

Goal

To [PRIMARY OBJECTIVE]. Specifically:

  • [Secondary objective 1]
  • [Secondary objective 2]
  • [Secondary objective 3]

Input Information Definition

{
  "input_type": "string/object/array",
  "required_fields": {
    "field_1": "description of field 1",
    "field_2": "description of field 2",
    "field_3": "description of field 3"
  },
  "optional_fields": {
    "optional_1": "description of optional field",
    "optional_2": "description of optional field"
  },
  "constraints": {
    "max_length": "number",
    "format": "expected format",
    "validation_rules": ["rule 1", "rule 2"]
  }
}

Process

  1. Initial Analysis: First read and parse the input to understand [WHAT TO UNDERSTAND]
  2. Validation: Check that the input meets the required format and constraints
  3. Processing: Then [MAIN PROCESSING STEPS]:
    • [Step 1 description]
    • [Step 2 description]
    • [Step 3 description]
  4. Quality Check: Verify that the output meets all requirements
  5. Final Output: Format the response according to the specified output structure

Rules

  • Do not [PROHIBITION 1]
  • Always [REQUIREMENT 1]
  • Never [PROHIBITION 2]
  • Must [REQUIREMENT 2]
  • If [CONDITION], then [ACTION]
  • When encountering [SCENARIO], [RESPONSE]
  • Prioritize [PRIORITY 1] over [PRIORITY 2]
  • Handle errors by [ERROR HANDLING APPROACH]

Output Format

{
  "status": "success/error",
  "result": {
    "primary_output": "main result",
    "metadata": {
      "confidence_score": "0.0-1.0",
      "processing_time": "timestamp",
      "version": "version_number"
    },
    "additional_info": {
      "field_1": "value",
      "field_2": "value"
    }
  },
  "errors": ["error message if any"],
  "warnings": ["warning message if any"]
}

Examples

Example 1: [SCENARIO NAME]

Input:

{
  "example_field": "example_value"
}

Expected Output:

{
  "status": "success",
  "result": {
    "primary_output": "expected result"
  }
}

Example 2: [ERROR SCENARIO]

Input:

{
  "invalid_field": "invalid_value"
}

Expected Output:

{
  "status": "error",
  "errors": ["Description of what went wrong"]
}

Additional Notes

  • [SPECIAL CONSIDERATION 1]
  • [SPECIAL CONSIDERATION 2]
  • For edge cases involving [SCENARIO], [HANDLING INSTRUCTION]
  • Remember to [IMPORTANT REMINDER]
1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.