Designing Multiple Agents — Copywriting and Proofreading (AI Agent Study Notes Part 2)

Lead

Hi, I’m Pomarano.

This is Part 2 of my AI Agent Study Notes.

Series index Building Your Own AI Agents · Part 1 covered core concepts.
This part uses a sample project — Japanese post copy for X (@syouwanotaisyou) — to design two agents: copywriting and proofreading.

We fix why two agents instead of one, each role, order of handoff, and the evaluation checklist at design time. Build and comparison come in Part 3.


Overview of this part

flowchart LR
  P1["Part 1<br/>Concepts"]
  D1["Design<br/>copy role"]
  D2["Design<br/>proofread role"]
  D3["6-item<br/>checklist"]
  P3["Part 3<br/>Comparison"]

  P1 --> D1 --> D2 --> D3 --> P3

  classDef meta fill:#eceff1,stroke:#607d8b,stroke-width:2px,color:#1a1a1a
  classDef concept fill:#e8f4fc,stroke:#3d7ea6,stroke-width:2px,color:#1a1a1a
  classDef agent fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1a1a1a
  class P1 meta
  class D1 concept
  class D2 agent
  class D3 agent
  class P3 meta

Why this sample?

ReasonExplanation
Clear rules140 chars, two-sentence shape, banned phrases — easy pass/fail
Realistic semi-autoHuman posts — same as Semi-Automating X Drafts
Existing copy specx-shuuchaku-agent-spec.md as source of truth
Measurable proofreadingRepeatable failures like character overruns

Theme: Introspection Tech — short posts pairing Buddhist teaching with a small daily practice.


What goes wrong with only one agent?

With copywriting agent only, these failures show up often:

FailureExample
Over character limitSpec says 140 chars; output is 200+
Broken structureLong paragraphs for teaching + practice — hard to paste on X
Banned phrasingUnsourced “the Buddha said…” style
Checklist theaterHuman checklist exists but you fix everything by hand every time

Early drafts hit 248 and 217 characters (scored in Part 3).
That is why we split writing and fixing.


Two-agent design — copy and proofread

3-1. Copywriting agent

DoesDoes not
Topic research per weekday rotationPost to X
Write post bodyGuarantee 140 chars (proofread’s job)
Create social/x-drafts/YYYY-MM-DD.mdRule-check past files
Source notesSet status: posted

Spec: x-shuuchaku-agent-spec.md
Prompt: automation/x-daily/prompt.md

3-2. Proofreading agent

DoesDoes not
Run 6-item checklistWrite copy from scratch
Fix violations (max one pass)Re-research topics
Append ## 校正結果 / proofread sectionX API or auto-post
Re-count char_countEdit posted files

Spec: x-proofread-agent-spec.md
Prompt: automation/x-proofread/prompt.md

3-3. Order of handoff

Copywriting agent → Proofreading agent → Human (review · post)

Serial, not parallel. Proofreading takes the copy agent’s file as input — order is explicit.


Splitting spec and prompt

File typeCopyProofread
specTheme, format, research rulesChecklist, fix priority
prompt“Create one post today per spec”“Inspect and fix md for date X”

Change rules only in spec; keep prompts thin — same pattern as Part 1.
The harness article idea of verification as its own layer maps to proofreading as agent two.


Proofreading checklist (Part 3 evaluation)

#ItemPass condition
1Length≤ 140 Japanese characters (newlines, tags count)
2StructureOne teaching sentence + one practice sentence
3Banned phrasingNo unsourced “the Buddha said…” etc.
4Hashtags0–1
5URLNo URL in body
6DuplicationNot the same concept as any of last 30 drafts

Part 3 uses first-pass pass rate on these six items as a proxy for “accuracy.”


End-to-end flow

Green = agent · Orange = human

flowchart TB
  A1["① Copy agent<br/>research · write"]
  A2["② Save draft md"]
  A3["③ Proofread agent<br/>6-item check"]
  A4["④ Fix · proofread notes"]
  H1["⑤ Human review"]
  H2{⑥ Edit?}
  H3["⑦ Post to X"]

  A1 --> A2
  A2 --> A3
  A3 --> A4
  A4 --> H1
  H1 --> H2
  H2 -->|yes| H3
  H2 -->|no| H3

  classDef agent fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1a1a1a
  classDef human fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#1a1a1a
  class A1 agent
  class A2 agent
  class A3 agent
  class A4 agent
  class H1 human
  class H2 human
  class H3 human

With GitHub Actions each morning, a step runs before ① (operations article). Agent roles stay the same.


Summary

  • Sample: Japanese X copy — clear rules, easy to measure proofreading
  • Copy creates; proofread fixes — separate responsibilities
  • Evaluate with a 6-item checklist
  • Part 3 compares without proofreading (A) vs with (B)

This adds two-agent roles to the “rules layer” from Part 1.


コメント