Orchestrate reliable multi-agent reasoning using MAKER (Maximal Agentic Knowledge Engine for Reasoning)...
Transform unreliable single-model inference into robust, verifiable reasoning through maximal decomposition, parallel consensus voting, and systematic error filtering.
High-value triggers:
Skip MAKER for:
MAKER operates on three pillars applied sequentially:
Task ā [Pillar 1: Decompose] ā DAG of subtasks
ā [Pillar 2: Vote] ā Parallel execution + consensus
ā [Pillar 3: Filter] ā Red-flag invalid outputs
ā Validated Result
Decompose complex tasks into atomic, independently-executable subtasks forming a DAG.
Decomposition principles:
Tool: maker_build_dag
Execute each subtask with m parallel agents; accept when one result leads by k votes.
Configuration by criticality:
| Level | m | k | Confidence |
|---|---|---|---|
| low | 3 | 1 | ~70% |
| medium | 5 | 2 | ~85% |
| high | 7 | 3 | ~95% |
| critical | 11 | 5 | ~99% |
Tool: maker_vote, maker_get_config
Discard outputs exhibiting error indicators before voting.
Red flag types:
Tool: maker_red_flag
1. Decompose task ā maker_build_dag
2. For each subtask in topological order:
a. Generate prompts ā maker_generate_prompt (Ćm)
b. Execute agents (parallel LLM calls)
c. Validate outputs ā maker_red_flag (each)
d. Vote on valid outputs ā maker_vote
3. Compose results ā maker_compose_results
Task: "What is the capital of the country where the inventor of the telephone was born?"
Step 1: Decompose
{
"subtasks": [
{"id": "t1", "description": "Identify inventor of telephone", "dependencies": []},
{"id": "t2", "description": "Determine birthplace of {t1}", "dependencies": ["t1"]},
{"id": "t3", "description": "Identify capital of {t2}", "dependencies": ["t2"]}
]
}
Step 2: Execute with voting (m=5, k=2 for medium criticality)
t1 outputs: ["Alexander Graham Bell", "Alexander Graham Bell", "A.G. Bell", "Alexander Graham Bell", "Bell"] ā Normalize ā "alexander graham bell" wins with 4 votes
t2 (with input "Alexander Graham Bell"): ā "Edinburgh, Scotland" wins after red-flagging one verbose response
t3 (with input "Scotland"): ā "Edinburgh" wins unanimously
Step 3: Compose Final answer: "Edinburgh"
MAKER complements hierarchical-reasoning by adding reliability to each reasoning level:
Strategic level ā MAKER(criticality=high) for key decisions
Tactical level ā MAKER(criticality=medium) for approach validation
Operational ā Direct execution for atomic operations
Use MAKER voting on entity extraction to achieve higher-quality knowledge graphs:
Document ā [MAKER: Extract entities (m=5)] ā Validated entities
ā [MAKER: Extract relations (m=5)] ā Validated relations
ā knowledge-graph merge
Construct DAG from subtask definitions. Validates acyclicity and computes execution order.
Apply red-flag validation to agent output. Returns is_valid boolean and flag details.
Execute first-to-ahead-by-k voting. Returns consensus output with confidence score.
Calculate theoretical system reliability for given (m, k, n) configuration.
Get recommended (m, k) configuration for criticality level.
Combine validated subtask outputs into final result.
Create optimized micro-agent prompt with constraints and schema.
Cost-accuracy tradeoff:
Decision framework:
maker_get_configmaker_compute_reliability to validate configurationWell-designed schemas enable format-based red-flagging:
{
"type": "object",
"properties": {
"answer": {"type": "string"},
"confidence": {"type": "number", "minimum": 0, "maximum": 1}
},
"required": ["answer"]
}
exact: String equality after trim (dates, numbers)normalized: Lowercase + whitespace normalization (text)json: Parse and re-serialize for canonical comparison (structured)Reliability improvement (assuming 85% agent accuracy):
| Steps | Single Agent | MAKER (m=5, k=2) |
|---|---|---|
| 1 | 85.0% | 97.1% |
| 3 | 61.4% | 91.5% |
| 5 | 44.4% | 86.2% |
Cost multiplier: ~4-6Ć single agent (with early termination)
Latency: ~2-4Ć single agent (parallelism offsets voting overhead)
Insufficient valid outputs (red-flagging too aggressive):
No consensus (high disagreement):
Cycle detected in DAG: