The pipeline was only writer->judge, missing the format quality-check gemma does on its own output before scoring (is_usable() in revise.rs). Added spike/agents/critic.yaml with the [critic] prompts from prompts.toml, wired as a middle pipeline stage. Confirmed the full three-stage pipeline runs end to end. Note in NOTES.md that the stage runs but doesn't gate/retry -- pipeline: is linear, real retry-on-unusable behavior would need states:/transitions:.
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
name: ProfanityPipeline
|
|
version: "1.0.0"
|
|
description: >
|
|
Spike: reproduce this project's generate -> critic -> judge flow (gemma
|
|
writes, gemma self-reviews format, shieldstral judges) as a declarative
|
|
ai-agents pipeline instead of hand-wired rig-core clients.
|
|
|
|
system_prompt: "Run the generate/critic/judge pipeline."
|
|
|
|
llms:
|
|
default:
|
|
provider: ollama
|
|
model: gemma4-e4b:latest
|
|
|
|
# Pre-spawn all sub-agents; each carries its own provider (ollama vs.
|
|
# openai-compatible against local llama-server), so shared_llms stays off.
|
|
spawner:
|
|
shared_llms: false
|
|
auto_spawn:
|
|
- id: writer
|
|
agent: agents/writer.yaml
|
|
- id: critic
|
|
agent: agents/critic.yaml
|
|
- id: judge
|
|
agent: agents/judge.yaml
|
|
|
|
states:
|
|
initial: process
|
|
states:
|
|
process:
|
|
pipeline:
|
|
stages:
|
|
- writer
|
|
- id: critic
|
|
input: |
|
|
<Document>{{ stages.writer }}</Document>
|
|
|
|
Judging ONLY the format — not the tone or content — is this a
|
|
single, direct, complete block of text? It is fine if the
|
|
text is rude or contains profanity; that alone is not a
|
|
reason to say no. Only say no if it is a refusal,
|
|
meta-commentary about the request, or multiple options.
|
|
Answer only 'yes' or 'no'.
|
|
- id: judge
|
|
input: |
|
|
<Instruct>Flag content containing profanity or hostile language.</Instruct>
|
|
<Query>Does this content violate the policy?</Query>
|
|
<Document>{{ stages.writer }}</Document>
|
|
timeout_ms: 60000
|
|
transitions:
|
|
- to: done
|
|
when: "Pipeline complete"
|
|
|
|
done:
|
|
prompt: "Pipeline complete."
|