Skip to content

jcnnll/jaigent

Repository files navigation

jaigent

⚠️ DISCLAIMER: FOR LEARNING PURPOSES ONLY This project is built strictly as a personal learning sandbox to study AI function calling, tool chaining, and autonomous agent loops. It is not meant for production deployment, secure environments, or live codebases. Run locally at your own risk.

About the Project

jaigent is an autonomous coding assistant powered by a step-by-step local LLM loop using the OpenAI SDK and Ollama. It explores a project environment, finds bugs, and applies fixes independently by chaining operations.

What Was Learned Building jaigent

  • Unified Interface Patterns: Swapping base_url to run local models (gemma4:12b) using standard cloud SDKs.
  • Strict Tool Schemas: Bridging AI text and real code using ChatCompletionToolParam JSON schemas to enforce mandatory parameters.
  • State Management: Orchestrating an autonomous for loop that manages multi-turn history with assistant requests and tool roles.
  • Local Model Alignment: Overcoming tool-call bias in smaller models through sharp negative constraints inside the system prompt.
  • Sandboxed Execution: Injecting a strict working_directory path constraint to keep AI modifications safe and secure.

Project Structure

  • main.py — The core agent orchestration and multi-turn loop
  • call_tool.py — The execution router that maps schemas to Python functions
  • functions/ — Individual modules pairing tool logic with strict OpenAI schemas

Credits & Inspiration

This project was heavily inspired by the Boot.dev AI Agent Course. While the original course teaches agent architecture using the Gemini API, jaigent adapts those structural concepts to work entirely with local LLMs via the OpenAI SDK interface.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages