Self-modifying development agent that builds its own tools at runtime

MIT 511 downloads 1 favorites
Updated 10 days ago Repository
agentllmself-modifyingtoolsmicro-agi

Run

wippy run wippy/micro-agi

micro-agi

A self-modifying Wippy agent that builds its own tools at runtime.

When the agent lacks a capability, it reads the docs, writes Lua source code, registers a new tool in the registry, loads it, and calls it — all in a single conversation turn.

Run

export OPENAI_API_KEY=sk-...
wippy run wippy/micro-agi agent

Tools

| Tool | Description | |------|-------------| | doc_search | Search or fetch Wippy documentation | | registry_list | List registry entries with filters | | registry_read | Read a registry entry by ID | | create_tool | Create a function.lua tool in app.generated:* namespace | | load_tool | Activate a tool for the current session |

Security

Namespace deny policies (security.policy entries) restrict where the agent can write:

| Policy | Resources | Effect | |--------|-----------|--------| | deny_core_ns | app:* | deny | | deny_tools_ns | app.tools:* | deny |

Generated tools can only require modules from the allowlist; everything else (io, debug, os.execute, unlisted modules) does not exist in their execution context, so no source scanning is needed. Source is capped at 16KB.

Example

> what time is it?
  [doc_search] ok
  [create_tool] ok
  [load_tool] ok
  [+] app.generated:current_time_utc
  [current_time_utc] ok
The current UTC time is 2026-02-13T03:13:41Z.

Dependencies

  • wippy/llm — LLM integration
  • wippy/agent — Agent framework