Skip to content

Latest commit

 

History

History
108 lines (78 loc) · 3.82 KB

agent.md

File metadata and controls

108 lines (78 loc) · 3.82 KB

Agent

folder structure

The agent follows a specific organizational structure to ensure streamlined functionality and easy access to essential files:

└── agents
    └── myagent
        ├── functions.json                  # Auto-generated JSON declarations for functions
        ├── index.yaml                      # Main agent definition file
        ├── tools.txt                       # List of shared tools
        └── tools.{sh,js,py}                # Scripts implementing agent-specific tools

index.yaml

This is the main definition file for your agent where you provide all essential information and configuration for the agent.

metadata

Metadata provides basic information about the agent:

  • name: A unique name for your agent, which helps in identifying and referencing the agent.
  • description: A brief explanation of what the agent is or its primary purpose.
  • version: The version number of the agent, which helps track changes or updates to the agent over time.
name: TestAgent                             
description: This is test agent
version: 0.1.0

instructions

Defines the initial context or behavior directives for the agent:

instructions: You are a test ai agent to ... 

variables

Variables store user-related data, such as behavior or preferences. Below is the syntax for defining variables:

variables:
  - name: foo
    description: This is a foo
  - name: bar
    description: This is a bar with default value
    default: val

For sensitive information such as api_key, client_id, client_secret, and token, it's recommended to use environment variables instead of agent variables.

When use define variables, please avoid these built-in variables:

name description example
__os__ Operating system name linux
__os_family__ Operating system family unix
__arch__ System architecture x86_64
__shell__ Current user's default shell bash
__locale__ User's preferred language and region settings en-US
__now__ Current timestamp in ISO 8601 format 2024-07-29T08:11:24.367Z
__cwd__ Current working directory /tmp
__tools__ List of agent tools

Variables can be used within instructions and within tool scripts:

instructions: |
  The instructions can access user-defined variables: {{foo}} and {{bar}}, or built-in variables: {{__cwd__}}
echo "he tools script can access user-defined variables in environment variables: $LLM_AGENT_VAR_FOO and $LLM_AGENT_VAR_BAR"

documents

A list of resources or references that the agent can access. Documents are used for building RAG.

documents:
  - local-file.txt
  - local-dir/
  - https://example.com/remote-file.txt

All local files and directories are relative to the agent directory (where index.yaml is located).

conversation_starters

Define Predefined prompts or questions that users can ask to initiate interactions or conversations with the agent. This helps provide guidance for users on how to engage with the agent effectively.

conversation_starters:
  - What can you do?

tools.{sh,js,py}

Scripts for implementing tools tailored to the agent's unique requirements.

tools.txt

tools.txt facilitates the reuse of tools specified in the /tools directory within this project.