Andy.Engine 2025.10.28-rc.19

This is a prerelease version of Andy.Engine.
dotnet add package Andy.Engine --version 2025.10.28-rc.19
                    
NuGet\Install-Package Andy.Engine -Version 2025.10.28-rc.19
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Andy.Engine" Version="2025.10.28-rc.19" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Andy.Engine" Version="2025.10.28-rc.19" />
                    
Directory.Packages.props
<PackageReference Include="Andy.Engine" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Andy.Engine --version 2025.10.28-rc.19
                    
#r "nuget: Andy.Engine, 2025.10.28-rc.19"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Andy.Engine@2025.10.28-rc.19
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Andy.Engine&version=2025.10.28-rc.19&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Andy.Engine&version=2025.10.28-rc.19&prerelease
                    
Install as a Cake Tool

Andy.Engine

C# framework for building LLM-driven agents with tool execution, planning, and state management.

ALPHA RELEASE WARNING

This software is in ALPHA stage. NO GUARANTEES are made about its functionality, stability, or safety.

CRITICAL WARNINGS:

  • This tool performs DESTRUCTIVE OPERATIONS on files and directories
  • Permission management is NOT FULLY TESTED and may have security vulnerabilities
  • DO NOT USE in production environments
  • DO NOT USE on systems with critical or irreplaceable data
  • DO NOT USE on systems without complete, verified backups
  • The authors assume NO RESPONSIBILITY for data loss, system damage, or security breaches

USE AT YOUR OWN RISK

Features

  • Modular Architecture: Planner, Executor, Critic, and Policy Engine components
  • Tool Management: Schema validation, retry policies, error handling
  • State Management: Persistent state tracking across agent turns
  • Observation Normalization: Structured extraction of key facts and affordances
  • Policy Engine: Intelligent retry, fallback, and error recovery strategies
  • Event-Driven: Rich events for monitoring and debugging agent execution

Installation

dotnet add package Andy.Engine --version 1.0.0-alpha.1

Quick Start

using Andy.Engine;
using Andy.Model.Llm;
using Andy.Tools.Core;

// Configure and build an agent
var agent = AgentBuilder.Create()
    .WithDefaults(llmProvider, toolRegistry, toolExecutor)
    .WithPlannerOptions(new PlannerOptions { Temperature = 0.0 })
    .Build();

// Define goal and constraints
var goal = new AgentGoal(
    UserGoal: "Find and summarize recent AI news",
    Constraints: new[] { "Focus on last week", "Include at least 3 sources" }
);

// Set budget limits
var budget = new Budget(
    MaxTurns: 10,
    MaxWallClock: TimeSpan.FromMinutes(5)
);

// Configure error handling
var errorPolicy = new ErrorHandlingPolicy(
    MaxRetries: 3,
    BaseBackoff: TimeSpan.FromSeconds(1),
    UseFallbacks: true,
    AskUserWhenMissingFields: true
);

// Run the agent
var result = await agent.RunAsync(goal, budget, errorPolicy);

if (result.Success)
{
    Console.WriteLine($"Goal achieved in {result.TotalTurns} turns");
}

Architecture

The framework follows a modular architecture based on the agent loop:

  1. Planner: Decides the next action (tool call, ask user, replan, stop)
  2. Executor: Validates and executes tool calls with retry logic
  3. Critic: Evaluates observations against goals
  4. Policy Engine: Handles errors, retries, and fallbacks
  5. State Manager: Tracks agent state and working memory
  6. Observation Normalizer: Converts tool outputs to structured observations

Components

Planner

  • IPlanner interface for custom implementations
  • LlmPlanner for LLM-based planning with structured output
  • Support for tool calls, user queries, replanning, and stopping

Executor

  • IExecutor interface for tool execution
  • ToolAdapter with schema validation and error mapping
  • Configurable retry policies and timeouts

Critic

  • ICritic interface for goal assessment
  • LlmCritic for LLM-based evaluation
  • Recommendations for continue, replan, clarify, or stop

State Management

  • IStateStore for persistence (in-memory and custom implementations)
  • StateManager for state transitions and working memory
  • Automatic memory compression when limits are reached

Policy Engine

  • Retry logic for transient failures
  • Fallback tool selection
  • User interaction for missing information
  • Budget enforcement

Events

The agent emits events for monitoring and debugging:

  • TurnStarted: Fired at the beginning of each turn
  • TurnCompleted: Fired when a turn completes with timing information
  • ToolCalled: Fired when a tool is executed
  • UserInputRequested: Fired when user input is needed

Integration with Andy Ecosystem

Andy.Engine integrates seamlessly with other Andy packages:

  • Andy.Tools: Tool registry and execution framework
  • Andy.Llm: LLM provider abstractions
  • Andy.Model: Shared data models
  • Andy.Context: Context management
  • Andy.Configuration: Configuration management

License

Apache-2.0 License - see LICENSE file for details

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Support

For issues and questions, please use the GitHub issue tracker.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2025.10.28-rc.19 123 10/28/2025
2025.10.28-rc.18 124 10/28/2025
2025.10.28-rc.17 120 10/28/2025
2025.10.28-rc.16 121 10/28/2025
2025.10.28-rc.15 127 10/28/2025
2025.10.16-rc.14 123 10/16/2025
2025.10.6-rc.13 123 10/6/2025
2025.10.6-rc.12 122 10/6/2025
2025.10.6-rc.11 123 10/6/2025
2025.10.6-rc.10 122 10/6/2025