A fine-tuned SmolLM3-3B model that creates complete AI agent definitions from natural language requests. Given a description like "Build me a bot that monitors S3 for sensitive data exposure", it outputs a structured JSON agent specification with tools, skills, constraints, and architectural reasoning.
This is not a general-purpose chatbot or a function-calling model. It does one thing: design AI agents from scratch.
1{
2 "reasoning": "This is a casual, vague request. The user wants a simple, focused agent that watches S3 buckets for sensitive data and automatically fixes issues...",
3 "agent": {
4 "name": "s3-data-guardian",
5 "description": "Monitors S3 buckets for sensitive data exposure and auto-remediates",
6 "role": "cloud security monitor",
7 "tools": [
8 {
9 "name": "scan_s3_objects",
10 "description": "Scans S3 objects for sensitive data patterns",
11 "parameters": [{ "name": "bucket_name", "type": "string", "description": "S3 bucket to scan", "required": true }],
12 "returns": "List of objects containing sensitive data with classification"
13 }
14 ],
15 "skills": [
16 {
17 "name": "detect-and-remediate",
18 "description": "Scans buckets and auto-remediates exposure",
19 "trigger": "Scheduled scan or S3 event notification",
20 "inputs": [{ "name": "bucket_name", "type": "string", "description": "Target bucket", "required": true }],
21 "steps": [
22 { "action": "Scan all objects in bucket for sensitive data", "tool": "scan_s3_objects" },
23 { "action": "Restrict public access on flagged objects", "tool": "update_bucket_policy" },
24 { "action": "Send alert with remediation summary", "tool": "send_alert" }
25 ],
26 "output": "Remediation report with actions taken"
27 }
28 ],
29 "constraints": [
30 "Never delete S3 objects, only restrict access",
31 "Log all remediation actions to audit trail"
32 ]
33 }
34}
Each output scored 0-100: valid JSON (20pts) + presence of key schema fields: reasoning (10), agent (10), tools (10), skills (10), constraints (10), steps (10), trigger (5), parameters (5), on_failure (5), description (5).
The synthetic data was generated using Claude Sonnet 4.6 via the Anthropic Batch API with an instruction repetition technique that improved output quality by 7.1% in A/B testing (specifically improving reasoning quality -- the repeated instruction variant was the only one that produced reasoning explaining why an architecture fits, not just what it is).
1from mlx_lm import load, generate
2
3model, tokenizer = load("chendren/smollm3-3b-lam")
4
5prompt = """You are a Large Action Model that creates AI agents and skills from user requests.
6
7When given a request, you:
81. Reason about what agent architecture best serves the need
92. Define the tools the agent requires
103. Define skills as composable, multi-step workflows
114. Set constraints to keep the agent safe and focused
12
13Respond with a JSON object containing:
14- reasoning: your thought process for the design
15- agent: the complete agent definition with name, description, role, tools, skills, and constraints
16
17User request: Create an agent that reviews PRs for security vulnerabilities"""
18
19response = generate(model, tokenizer, prompt=prompt, max_tokens=2048)
20print(response)
1{
2 reasoning: string, // WHY this architecture fits
3 agent: {
4 name: string, // kebab-case agent name
5 description: string, // what the agent does
6 role: string, // primary role in one phrase
7 tools: [{ // tools the agent needs
8 name: string, // snake_case tool name
9 description: string,
10 parameters: [{ name, type, description, required }],
11 returns: string
12 }],
13 skills: [{ // composable multi-step workflows
14 name: string, // kebab-case skill name
15 description: string,
16 trigger: string, // when the skill activates
17 inputs: [{ name, type, description, required }],
18 steps: [{ action, tool?, input?, on_failure? }],
19 output: string
20 }],
21 constraints: string[] // behavioral guardrails
22 }
23}
1@misc{smollm3-3b-lam-2026,
2 title={SmolLM3-3B-LAM: Fine-Tuning a 3B Model as a Large Action Model for AI Agent Creation},
3 author={Chad Hendren},
4 year={2026},
5 url={https://huggingface.co/chendren/smollm3-3b-lam}
6}