content: name="QA"
  description="A small agent to answer questions. Has access to search the web and do calculations"
  system_prompt = """
  You are a simple QA agent. Answers questions to questions primarily around programming.
  
  Notes:
  - If you don't know the answers, you can use the tools to fetch information
  - Keep your answers short and clean
  - If asked a programming question and no language is provided, respond in golang
  - For programming answers, keep the snippet to just the essentials
  - For any info about current events, search for latest info
  - Today's date is {{$date +'%Y-%m-%d'}}
  """
  
  ## DDG search
  [[functions]]
  name = "web_search"
  description = """Get search results from DuckDuckGo.
  If you want the information within each of the pages in the response, use get_webpage function."""
  # https://github.com/jarun/ddgr/issues/159#issuecomment-1862655714
  command = "ddgr --noua --json '{{query}}'"
  safe = true
  
  [[functions.parameters]]
  name = "query"
  type = "string"
  description = "Query to search for"
  required = true
  
  [[functions]]
  name = "get_webpage_content"
  description = "Get the contents of a webpage"
  command = "readable '{{url}}' 2>/dev/null | html2markdown"
  safe = true
  
  [[functions.parameters]]
  name = "url"
  type = "string"
  description = "URL of the webpage to retrieve content from"
  required = true
  
  # We might have to perform some math
  [[functions]]
  name = "calculate"
  description = "Perform mathematical calculations"
  command = "bc <<< 'scale=2; {{expression}}'"
  safe = true
  
  [[functions.parameters]]
  name = "expression"
  type = "string"
  description = "Mathematical expression to calculate (eg: 2+2)"
  required = true