Skip to main content
Tasks with quality_check=True score outputs and store high-quality results in memory.
from praisonaiagents import Agent, Task, AgentTeam, Memory

agent = Agent(
    name="Writer",
    instructions="Write clear, complete articles.",
    memory=Memory(),
)

task = Task(
    description="Write a short article on AI ethics",
    expected_output="Introduction, three sections, and conclusion",
    agent=agent,
    quality_check=True,
)

AgentTeam(agents=[agent], tasks=[task]).start()
The user runs a team task; quality scoring decides whether outputs land in long-term memory.

How It Works

Quick Start

1

Simple Usage

Enable quality checking on a task (default is True):
from praisonaiagents import Agent, Task, AgentTeam, Memory

agent = Agent(name="Writer", instructions="Be thorough.", memory=Memory())

task = Task(
    description="Explain quantum computing in plain English",
    expected_output="500-word explanation with examples",
    agent=agent,
    quality_check=True,
)

AgentTeam(agents=[agent], tasks=[task]).start()
2

With Configuration

Disable for fast runs or use execution presets:
from praisonaiagents import Agent, Task, AgentTeam

agent = Agent(name="Draft", instructions="Quick drafts only.")

task = Task(
    description="Draft a tweet",
    agent=agent,
    quality_check=False,
)

AgentTeam(agents=[agent], tasks=[task]).start()

How It Works

When quality_check=True and memory is configured:
  1. Agent completes the task
  2. Memory.calculate_quality_metrics() scores completeness, relevance, clarity, accuracy via LLM
  3. finalize_task_output() stores in long-term memory only when score exceeds 0.7
  4. Quality metadata attaches to the task result
Memory is required — without it, quality checking logs a warning and skips storage.

Configuration Options

OptionTypeDefaultDescription
quality_checkboolTrueEnable LLM quality assessment
expected_outputstrNoneBenchmark for scoring (strongly recommended)
memoryMemoryNoneRequired for quality storage
Execution presets: "fast" disables quality check; "balanced" and "thorough" enable it.

Best Practices

Clear expectations produce meaningful scores — vague tasks score inconsistently.
Quality checking stores to memory — attach memory=Memory() to the agent or task.
Set quality_check=False on brainstorming or speed-critical tasks.
Search with min_quality=0.7 to reuse past strong outputs as context.

Quality-Based RAG

Quality scoring for retrieval

Memory

Memory configuration and search