bad14fbe7f121ae976a0bf388f68acab9b09b682
YiemAgent
Julia framework for building agents with tool use.
Getting Started
- Install dependencies:
]add JSON, DataStructures, UUIDs, Dates, ... - Create a
yiemAgentwithloadTools("src/tools") - Call
run_agent(agent, "message")thentake_response(agent)
Architecture
src/
├── YiemAgent.jl # Module entry point
├── type.jl # Core types (messages, tools, agent state)
├── utils.jl # Message formatting, validation
├── agentCore.jl # Agent loop, tool execution pipeline
├── api.jl # Public API (run_agent, take_response, etc.)
└── tools/
├── registry.jl # Tool registry (loadTools, registerTool, listTools)
├── getWeather.jl # Weather lookup tool
├── getTime.jl # Time lookup tool
├── writeTool.jl # Create new tool files (self-modifying)
└── README.md # Tool development guide
Tool Development
See src/tools/README.md for:
- Tool anatomy (schema, execute, getTool)
- Validation hooks
- Agent loop lifecycle
- Self-modifying tools (
writeTool)
Description