Observed since 20 Oct, 16:50 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Agent Action Compression Protocol — pipe-delimited coordination for multi-agent LLM systems
Deterministic coordination for multi-agent LLM systems.
Status:
v1.3· Benchmarks measured · MIT Licensed · IETF Internet-Draft filed
When agents coordinate in natural language, every instruction varies on every run, costs tokens, and produces no reliable audit trail. AACP replaces that with typed, validated, deterministic packets. Same input. Same output. Every time.
| Spec and site | aacp.dev |
| IETF Draft | draft-mackay-aacp-01 |
| Python SDK | github.com/MackayAndrew/aacp — pip install aacp |
| TypeScript SDK | github.com/MackayAndrew/aacp-ts — npm install aacp-ts |
| LangChain | github.com/MackayAndrew/aacp-langchain |
| CrewAI | github.com/MackayAndrew/aacp-crewai |
| Community rules | github.com/MackayAndrew/aacp-community-rules — 241 rules |
| Registry API | registry.aacp.dev |
| VS Code extension | Dispatch AACP |
| Packet builder | dispatch.aacp.dev |
| Working lab | github.com/MackayAndrew/aacp-lab |
# Python
pip install aacp
# TypeScript / JavaScript
npm install aacp-ts
Natural language (56 tokens) — varies on every run, not auditable:
"Please retrieve the employee salary records for the period ending
March 2026. I need all active employees, their departments, cost
centres, base salary, any changes made this month, and pension
contribution rates. Return as JSON array."
AACP v1.1 (52 tokens) — identical every run, validated, auditable:
FETCH|HR|return:HR-Agent|p:1|aacp:1.1|res:emp_salary|period:2026-03|filter:status=active|fmt:json
Token counts from live API usage_metadata. 4-hop payroll workflow. May 2026.
| Hop | English | AACP | Claude | GPT-4o |
|---|---|---|---|---|
| fetch employees | 56 | 52 | -7.1% | -12.7% |
| fetch budgets | 57 | 47 | -17.5% | -16.0% |
| merge calculate | 65 | 43 | -33.8% | -31.6% |
| generate report | 62 | 43 | -30.6% | -33.3% |
| TOTAL | 240 | 185 | -22.9% | -23.7% |
Token reduction is a secondary benefit. The primary value is determinism and auditability -- every packet is identical across runs and machine-readable without post-processing.
Validated on real workflows. June 2026.
| Framework | Coordination calls eliminated | Total cost saving | Deterministic |
|---|---|---|---|
| LangChain (59 hops) | 59 → 0 | 18% | YES |
| CrewAI (4 hops) | 4 → 0 | 30% | YES |
pip install aacp-langchainpip install aacp-crewaifrom aacp.encoders.workflows.payroll import PayrollEncoder
enc = PayrollEncoder()
pkt = enc.fetch_employees(period="2026-03")
print(pkt.packet)
# FETCH|HR|return:HR-Agent|p:1|aacp:1.1|res:emp_salary|period:2026-03|filter:status=active|fmt:json
print(f"Cost: ${pkt.api_cost_usd:.2f}") # $0.00
# Novel instructions — fallback to LLM, logged to registry
from aacp.encoders.fallback import FallbackEncoder
enc = FallbackEncoder()
pkt = enc.encode_english(
english="Cross-reference contractors against the approved vendor list.",
domain="FIN",
return_agent="FIN-Agent"
)
# First call: LLM once, ~$0.002
# Every subsequent identical call: $0.00 from registry cache
import { PayrollEncoder, AACPValidator, AACPDecoder } from "aacp-ts";
const enc = new PayrollEncoder();
const pkt = enc.fetchEmployees("2026-03");
console.log(pkt.packet);
console.log(pkt.apiCostUsd); // 0
TASK|DOM|return:AGENT|p:PRIORITY|aacp:VERSION|key:value|key:value...
Valid TASK: FETCH PROC FLAG RESOLVE LOG SEND BUILD MERGE CALC REPORT ACK SYNC
Valid DOM: HR FIN SALES LEGAL IT CS MKT
8 encoders across 6 domains, each grounded in a documented real-world platform. Available in Python and TypeScript. Zero LLM cost.
| Encoder | Domain | Hops | Real-world basis |
|---|---|---|---|
PayrollEncoder | HR | 6 | HMRC PAYE |
ITEncoder | IT | 5 | Microsoft Entra ID |
InvoiceEncoder | FIN | 3 | AP three-way match |
ContractEncoder | LEGAL | 2-3 | NDA/MSA review |
SalesEncoder | SALES | 5 | Salesforce Agentforce 2026 |
JMLEncoder | HR+IT | 6 | ConductorOne, Lumos, CloudEagle |
CSResolutionEncoder | CS | 5 | Zendesk Resolution Platform 2026 |
MonthEndEncoder | FIN | 6 | NetSuite Autonomous Close 2026 |
See docs/encoder-reference.md for citations.
Tier 1 — Hash cache: exact match → $0.00
Tier 2 — Pattern match: registry or builtin → $0.00
Tier 3 — LLM fallback: novel → LLM once → logged → ~$0.002
next call → Tier 1 → $0.00
Amortisation benchmark: 6 LLM calls across 240 encoding operations. 91.6% saving.
241 pre-validated rules across 7 domains. MIT licensed. Zero API cost.
# Coming in v1.4:
from aacp import RuleRegistry
registry = RuleRegistry.from_community()
registry = RuleRegistry.from_hosted() # registry.aacp.dev
Browse: github.com/MackayAndrew/aacp-community-rules API: registry.aacp.dev
5 workflows, 4 models, all passing. June 2026.
| Model | Cost | Tokens in | Latency | Pass |
|---|---|---|---|---|
| gpt-4.1-mini | $0.0190 | 40,585 | 160s | ✓ 5/5 |
| gpt-4.1 | $0.0984 | 41,005 | 124s | ✓ 5/5 |
| claude-sonnet-4-5 | $0.2237 | 53,127 | 423s | ✓ 5/5 |
| gpt-4o | $0.2408 | 40,459 | 101s | ✓ 5/5 |
Lab: github.com/MackayAndrew/aacp-lab
| Protocol | Layer | AACP relationship |
|---|---|---|
| MCP (Anthropic/AAIF) | Tool access | AACP inside MCP payloads |
| A2A (Google/AAIF) | Agent routing | AACP structures A2A message content |
| Existing APIs / JSON | Service comms | AACP for the LLM agent coordination layer on top |
AACP fills the coordination content layer -- the layer between routing (A2A, MCP) and task execution (the LLM doing actual work).
| Version | Status | Focus |
|---|---|---|
| v1.0 | Released | Pipe-delimited format, rule-based encoders |
| v1.1 | Released | Validated benchmarks — -22.9% Claude, -23.7% GPT-4o |
| v1.2 | Released | Fallback loop closed, PyPI + npm, IETF draft-01 |
| v1.3 | Released | 8 encoders, TypeScript SDK, VS Code extension, community rules (241), lab v3, amortisation benchmark, LangChain + CrewAI integrations |
| v1.4 | Planned | RuleRegistry (from_community, from_hosted), QBR encoder |
| v2.0 | Planned | IETF draft-02, AAIF submission |
MIT — free to use, implement, extend, and fork.
AACP is an independent protocol proposal. Not affiliated with Anthropic, Google, IBM, or the Linux Foundation, though designed to complement MCP, A2A, and ACP.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.4.0 | 5 Jun 2026 | 2 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 16:50 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:5b996977d4e31dd184aa11349bbc41075e5b0400b2f246b8ecf955ba00c82aab