- core.md: human-readable specification covering message format, session manifest, tool taxonomy (sensors/actuators/generators), tool invocation, events, capabilities, time/causality, memory, errors, extension rules, security, conformance. - schemas/aicc.schema.json: JSON Schema for all message types, validated with Draft 2020-12. - LICENSE: MIT. - README.md: repository layout, design principles, versioning, conformance criteria.
AICC Protocol
AI-Controlled Character Protocol — a transport-agnostic protocol for connecting language models to interactive virtual environments through structured sensor, actuator, and generator tools.
Status
aicc/0.1 — initial draft. Internal review only. Not yet stable.
What this is
AICC defines how an LLM-powered agent perceives a virtual world, reasons about it, and acts within it. The protocol makes no assumptions about the host engine (Godot, Unity, Unreal, custom simulators, robotics stacks), the reasoning model, or the transport layer.
It only specifies message formats, tool taxonomy, capability negotiation, and causality semantics.
Design principles
- Engine-agnostic. Same protocol speaks to a game character, a robot, or a sandboxed LLM playroom.
- Model-agnostic. Any LLM with tool-use capability works.
- Transport-agnostic. Wire format is JSON. Transport is pluggable.
- Capability-aware. Environments advertise what agents may do. Agents never have to guess.
- Single source of truth. All world data flows through sensor tools. The manifest carries session metadata only — never world state.
- Deterministic when needed. Every tool call returns structured outcomes with timestamps and confidence. Replay is first-class.
- Extensible. New sensors, actuators, and generators can be added without breaking older agents.
Repository layout
.
├── core.md # Human-readable specification (draft 0.1)
├── schemas/
│ └── aicc.schema.json # JSON Schema for all message types
├── LICENSE # MIT
└── README.md # this file
Reading order
core.md— start here for the protocol overview and design rationale.schemas/aicc.schema.json— machine-readable definitions for validation.
Versioning
The protocol follows semantic versioning: aicc/MAJOR.MINOR.
- MAJOR bump: any breaking change to message format or tool schema.
- MINOR bump: additive changes only. Older agents must accept messages from newer bridges (forward compatibility), ignoring unknown optional fields.
Conformance
A bridge is AICC-conformant for aicc/0.1 if it:
- Emits and accepts the message types defined in §2 of
core.md. - Validates all
tool_callinputs against the manifest. - Returns errors using the standard codes in §10.
- Preserves event ordering per §8.
- Passes the conformance scenarios (forthcoming).
An agent is conformant if it:
- Never invokes tools outside its advertised capabilities.
- Echoes
call_idcorrectly on result correlation. - Handles all standard error codes.
- Respects tick ordering for events.
Contributing
The protocol is in active early-stage design. Feedback, design proposals, and implementation reports are welcome via issues and pull requests.
Before proposing changes, please read core.md in full and check the open questions in Appendix B.
License
MIT — see LICENSE.