Using Agents as a 'Tool' - Introspection(?)

I was wondering, when you set a tool as a 2nd Agent if the Parent/Calling Agent is able to do some sort of introspection on the 2nd Agent to also understand any tools it might have access to or if it is only able to see the description of the 2nd agent:

.

Right now, I give my Triage agents a JSON Object describing any Agents as A Tool just to make sure they know the full capabilities of the Agent. This can create some large context windows, so if there is some introspection that's going on I should be able to remove this info and save some pennies here and there on token counts(hopefully :innocent:)

# Agent List
[
  {
    "name": "Blockchain Expert Agent",
    "description": "You provide help and information for blockchain related input.",
    "topics": [
      "blockchain", "blockchain information", "general blockchain information", "blockchain technology",
      "blockchain platforms", "ethereum", "bitcoin", "hyperledger",
      "blockchain use cases", "supply chain", "blockchain finance", "blockchain voting",
      "blockchain consensus", "pow", "pos", "blockchain security",
      "blockchain vulnerabilities", "blockchain scalability", "blockchain performance", "blockchain development",
      "smart contracts", "blockchain adoption", "blockchain trends", "distributed ledger technology",
      "dlt", "decentralized applications", "dapps"
    ],
    "tools": []
  },
  {
    "name": "Cryptocurrency Agent",
    "description": "You provide help and information for cryptocurrency related input. Use the \"get_cryptocurrency_data\" tool to get token data and/or use the \"get_cryptocurrency_tickers\" tool to get the token ticker/price data when necessary and then form a response to the user.",
    "topics": [
      "cryptocurrency", "crypto tokens", "crypto nfts", "crypto token information",
      "crypto ticker data", "token price", "nft price", "cryptocurrencies",
      "bitcoin", "ethereum", "altcoins", "tokenomics",
      "non-fungible tokens", "nfts", "cryptocurrency trading", "crypto investing",
      "crypto market data", "crypto analytics", "crypto wallets", "crypto storage",
      "crypto mining", "crypto staking", "crypto security", "coingecko api",
      "cryptocurrency exchanges", "crypto trading platforms", "crypto trends",
      "crypto news"
    ],
    "tools": [
      {
        "name": "find_coin_gecko_token",
        "description": ""       
      },
      {
        "name": "get_cryptocurrency_details",       
        "description": "Get detailed data for a cryptocurrency token from CoinGecko API."
      },
      {
        "name": "get_cryptocurrency_ticker_and_historical_data",        
        "description": "Get pricing ticker data for a cryptocurrency token from different exchanges."
      },
      {
        "name": "find_coin_gecko_nft",
        "description": ""
      },
      {
        "name": "get_nft_details_and_market_data",        
        "description": "Get detailed data for a cryptocurrency token from CoinGecko API."
      }
    ]
  },
  {
    "name": "Web Security Agent",
    "description": "Use the \"scan_url\" tool to scan the given url for security vulnerabilities then analyze the results to respond to the users input",
    "topics": [
      "web security", "internet security", "url security", "email security",
      "network security", "url vulnerability", "security scan", "vulnerability scan",
      "web security best practices", "website security", "cybersecurity", "phishing",
      "spoofing", "firewalls", "intrusion detection", "xss",
      "sql injection", "csrf", "security tools", "security compliance",
      "pci dss", "gdpr", "scan url"
    ],
    "tools": [
      {
        "name": "scan_url",
        "args": [
          {
            "name": "ctx",
            "type": "RunContext[ContextStorage]",
            "description": "The context containing dependencies."
          },
          {
            "name": "url",
            "type": "str",
            "description": "The URL to scan."
          }
        ],
        "description": "Scan a URL for security vulnerabilities"
      }
    ]
  },
  {
    "name": "Insurance Agent",
    "description": "You provide help and information for insurance related input.",
    "topics": [
      "insurance", "cryptocurrency insurance", "blockchain insurance", "underwritting",
      "insurance products", "insurance services", "insurance claims", "insurance settlements",
      "insurance risk assessment", "insurance market analysis", "insurance company information", "insurance policy management"
    ],
    "tools": []
  },
  {
    "name": "Insurance Lawyer Agent",
    "description": "You provide help, information and research, reguarding any Federal, State, and local laws and regulations pertaining to insurance and insurance-related topics.",
    "topics": [
      "insurance lawyer", "insurance laws", "insurance regulation", "insurance legality",
      "insurance law", "insurance legal frameworks", "federal insurance regulations", "state insurance regulations",
      "local insurance regulations", "insurance compliance", "insurance legal risks", "insurance contract law",
      "insurance claims disputes", "insurance litigation",  "insurance fraud", "consumer protection insurance"
    ],
    "tools": []
  },
  {
    "name": "Personal Research Planner Agent",
    "description": "A personal research planner that takes input and creates a step-by-step plan to accomplish it",
    "topics": [
      "insurance", "insurance research", "insurance comparison", "insurance policy",
      "insurance coverage", "insurance claims", "insurance market trends", "insurance company reviews",
      "general research", "knowledge base search", "tavily search", "web search",
      "fact-finding", "information retrieval", "research methodology", "research best practices"
    ],
    "tools": [      
      {
        "name": "Personal Research Assignment Agent",
        "description": "A type of triage agent that looks at each step in a plan and assigns an agent to it",
        "topics": [
          "insurance", "insurance research", "insurance comparison", "insurance policy",
          "insurance coverage", "insurance claims", "insurance market trends", "insurance company reviews",
          "general research", "knowledge base search", "tavily search", "web search",
          "fact-finding", "information retrieval", "research methodology", "research best practices"
        ],
        "tools": [
          {
            "name": "Personal Research Assignment Agent",
            "description": "A type of triage agent that looks at each step in a plan and assigns an agent to it",
            "tools": [
              {
                "name": "Personal Research Triage Agent",
                "description": "An agent that goes through every step and sub-step calling the Agent designated by the 'assignee' attribute and tracking it's response.  It forms a response based on the result of every step",
                "tools": [
                  {
                    "name": "Personal Research Triage Analyst",
                    "description": "An agent that performs a careful analysis of the results from every step in a given plan"
                  },
                  {
                    "name": "Triage Agent",
                    "description": "An agent that uses a structured json object of agents and their name, description, list of any tools (with names and descriptions) to delegates tasks to the appropriate agent and returns their response in a detailed format."
                  },
                  {
                    "name": "Personal Research Planner Agent",
                    "description": "A personal research assistant planner that takes input and creates a step-by-step plan to accomplish it"
                  },
                  {
                    "name": "Cryptocurrency Agent",
                    "description": "You provide help and information for cryptocurrency related input. Use the 'get_cryptocurrency_data' tool to get token data and/or use the 'get_cryptocurrency_tickers' tool to get the token ticker/price data when necessary and then form a response to the user."
                  },
                  {
                    "name": "Web Security Agent",
                    "description": "Use the 'scan_url' tool to scan the given url for security vulnerabilities then analyze the results to respond to the users input"
                  },
                  {
                    "name": "Personal Research Agent",
                    "description": "A personal research agent that is able to use tools to search the web and conduct research on the given input"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
]
1 Like