← Back to T1ENS4 · Wukong Breaks Out of the Stone
T1ENS4 · Course material

✏️ S4 Homework 2 Guide (submit · Golden Hoop 4 · refine your script, prep for S5 knowledge feed)

S4 Homework 2 (Submit · Golden Hoop 4 · Vision) — Refine Your Script Into a Goal-Driven Closed Loop of Steps

This is the student walkthrough for the S4 required submission.

The real purpose of HW2: in S3 you wrote one continuous script (a 5-part System Prompt). In S4 you're going to take it apart — but S4's "taking apart" isn't what you think it is:

An agent isn't a chat box — it's a multi-step closed loop that actually moves forward. Every step must have: a sub-goal (what this step needs to land), a steering strategy (how you bring the customer to that sub-goal), a closing criterion (what observable signal means the sub-goal is met and you can advance), and a dialog (including the customer's pushback and the agent's recovery).

A "step" with no closing criterion isn't a step — it's a topic. Topics never reach an endpoint.

Deadline: Sat 5/16, 9:00 AM PT (before S5 starts) · AI-graded

⚠️ On course gating: your S3 homework is the hard gate into the full S4/S5/S6 videos (the homepage already unlocks the rest of the course based on your S3 submission). This S4 assignment is not a mandatory gate for attending S5 — but it's strongly recommended you submit by 5/16: in S5 class, we'll work together to refine this script into your own dedicated agent. If you haven't submitted, you'll show up to S5 with nothing to refine.

Submit at: https://www.siliconroshi.ai/en/homework/mine (login redirects you there automatically)

Course code: S4-VISION


What you're handing in (one sentence)

Take your Little Wukong from one continuous prompt and break it into a refined script: "**Goal → Steps → what happens at each step

  • dialog → what knowledge each step needs**" — in S5 we'll take this refined script and feed it directly into a knowledge base.

The 4-step workflow

┌────────────┐   ┌────────────┐   ┌────────────┐   ┌────────────┐
│ Step 1     │ → │ Step 2     │ → │ Step 3     │ → │ Step 4     │
│            │   │            │   │            │   │            │
│ Define the │   │ Break the  │   │ For each   │   │ Identify   │
│ agent's    │   │ goal into  │   │ step: what │   │ what       │
│ goal (why  │   │ steps      │   │ you do +   │   │ knowledge  │
│ the        │   │ (3-7       │   │ how you    │   │ each step  │
│ customer   │   │ steps)     │   │ talk to    │   │ needs;     │
│ comes to   │   │            │   │ the        │   │ prep the   │
│ you)       │   │            │   │ customer   │   │ knowledge  │
│ (15 min)   │   │ (15 min)   │   │ (40 min)   │   │ base       │
│            │   │            │   │            │   │ (20 min)   │
└────────────┘   └────────────┘   └────────────┘   └────────────┘

Total time: about 1.5 hours, if you do it seriously.

⚠️ New: Step 0. Before you break anything into steps, declare your agent category (A / B / C) first. The next section tells you how to choose.


🅰️ Step 0 · Declare your agent category first (required, must be explicit)

S4 accepts three legitimate agent shapes. You must pick exactly one and state it at the top of your submission. Grading follows strictly from the category you declare — if you pick B, you will not be graded against A's standard.

Category One-sentence promise Time structure What "done" looks like Typical scenarios
A — Goal-driven closed loop "I take you from A to B" Multi-step, single session, has an endpoint Customer walks away with a concrete deliverable (a comparison, a brief, a decision) Selling insurance, negotiation coaching, decision support, recruiting intake
B — Knowledge Q&A "I catch your question" Single-turn / short-turn, no session concept The answer cites a proprietary source + flags uncertainty + rejects OUT-OF-SCOPE questions Parenting encyclopedia, in-domain legal assistant, new-hire onboarding
C — Companion / coaching "I walk this stretch with you" Multiple moves within one session; a long relationship across many sessions Customer says out loud one specific small thing + commits to one next-week action Weekly coaching for new managers, sobriety companionship, founder office hours

❌ This course does not grade Tool-executor agents

Agents that write code / call APIs / operate systems / execute tasks automatically are not in scope for this course. Their "done" criterion isn't "what the customer said" — it's "side-effect verification / failure rollback / safety boundaries", a completely different mental framework, covered in a later course. If your S3 script was an executor type, please convert it to a conversational variant ("help someone decide to do this" rather than "do this for them") before submitting.


🌳 Three-minute decision tree · Don't know which one to pick?

Ask yourself these three questions in order — the first Yes is your category:

Q1: Over the past decade, has the thing that actually made you money / helped people / made others depend on you most been taking someone "from A to B"?

The customer arrives lost and leaves holding a concrete decision / a comparison / a number / a brief — something tangible.

Yes → pick A — Goal-driven closed loop. Your moat is process.

Q2: Over the past decade, has your thickest accumulated asset been a pile of Q&As / case files / boundaries / reference material?

When someone asks you about a certain kind of thing, you don't need to look it up to answer; and for unfamiliar territory, you can say "not my area, go ask X."

Yes → pick B — Knowledge Q&A. Your moat is corpus + boundaries (knowing what you don't know).

Q3: Over the past decade, has what people relied on you for most been sitting down / listening / helping them think it through themselves / walking alongside them for a while?

You don't say much, but the customer leaves clearer about where they stand than when they arrived.

Yes → pick C — Companion / coaching. Your moat is posture (when to speak, when to stay silent, when to hand off to a real human).

All three No? You probably haven't found your moat yet — go back to S2's "Summon the Giant" section and re-run the three-layer dive on "the one thing people rely on me most for."


⚠️ B (Q&A)'s biggest trap · must read

Many students look at B — "just catch the question, give an answer" — and pick B thinking it's "the easy path."

This is the biggest trap. What actually determines whether a Q&A agent lives or dies isn't "what it can answer" — it's "reject + redirect":

  • Customer asks about medical / legal / investment judgment calls → the agent must decline and point to a proper channel (licensed doctor / lawyer / CFP)
  • The agent doesn't know the answer → it must say "I haven't seen this before" or "my material only covers up to X" — no making things up
  • Customer pushes past the corpus → the agent must say "my boundary stops here, go deeper at Y"

A Q&A agent with no OUT-OF-SCOPE handling = a ChatGPT skin + liability risk.

If you picked B, before writing Step 1, list three things first:

  1. What I will answer (SCOPE)
  2. What I refuse to answer (OUT-OF-SCOPE)
  3. Where I send people when I refuse (redirect target)

These three things are worth more than "what it can answer."


Write this at the top of your submission

My agent's category: ______ (A / B / C — pick exactly one)
Why I picked this one and not the others (one sentence): ______________________

⚠️ Must-read before this next section: what counts as "one unit"?

This is the linchpin of the entire S4 assignment. Read this section and everything after it will make sense.

Below, "unit" refers to each thing you break your script into — its meaning differs by category:

Category What "one unit" is called One-sentence promise
A — closed loop one step "the agent moves the customer forward one notch at this step"
B — Q&A one question type "the agent catches this type of question and gives a bounded answer"
C — companion one session move "the agent brings the customer to a certain state in this move"

Whatever you call it, there is exactly one test that decides whether it counts — every unit must be answerable in one sentence:

"When is this unit done?"

Can't answer it = not a unit, it's a wish.

Topic vs. real unit · one example for each category

❌ Topic (you're not building an agent, you're writing a chat outline) ✅ Real unit
【A】"Talk about the customer's financial situation" "Get the customer's cash-account balance range (±20% precision)"
【B】"Answer parenting questions" "Sleep-schedule questions — answer + cite my private sleep notes + flag uncertainty for the 0-6 month window"
【C】"Make the customer feel a little better" "Customer says out loud their hardest thing this week, uninterrupted"

Agent vs. chatbot · one picture

Chatbot:               customer arrives → chat → chat → chat → customer leaves (unclear why, unclear what they learned)

A closed loop:          customer arrives → sub-goal 1 → ✅advance → sub-goal 2 → ✅advance → ... → DONE-WHEN
B Q&A:                  customer asks → identify question type → ✅meets good-answer bar (citation + uncertainty + OUT-OF-SCOPE)
C companion:             session opens → move 1 → ✅landed → move 2 → ✅landed → ... → SESSION-ARC

                                     ↑
                                     |
                    this is where the "done" test lives — without it you never reach the next box

55% of your S4 grade rides on whether you can write each unit's "✅ observable done signal." Whether you picked A, B, or C, this iron law doesn't change — only the concrete meaning of "done" shifts by category dialect.


📐 Category dialect quick-reference (read this one first)

Depending on the category you declared in Step 0, the "four things" you fill in for Steps 1-4 differ. Here's the quick-reference table — everything after this defaults to Category A for its worked examples; B and C students, substitute the language from this table as you read.

Step 1 · The four things for the overall goal

A closed loop B Q&A C companion
WHO — who WHO — who WHO — who (including relationship stage: new vs. 6-month veteran)
WHEN — the moment it triggers SCOPE — what question types it answers CADENCE — how often you interact
WHAT — the pain it solves OUT-OF-SCOPE — what it refuses + how SESSION-ARC — where the customer lands by session's end
DONE-WHEN — what the customer walks away with DONE-WHEN — what a "good answer" contains ESCALATION — what signal forces a hand-off to a human

Step 2 · Break into 3-7 units

A closed loop B Q&A C companion
What you break apart 3-7 steps (each advances the overall goal) 3-7 question types (each with its own retrieval / standard / boundary) 3-7 session moves (each brings the customer to some state)

Step 3 · The four things per unit

A closed loop B Q&A C companion
🎯 Sub-goal What this step must achieve before the agent can advance What elements a "good answer" must contain for this question type The state you want the customer in after this move
🛠 Steering strategy How you bring the conversation to the sub-goal (sequence / question style) How you decide scope / citation / flagging uncertainty How you read the customer's state + which move you use (note: the companion's "move" is restraint, not action)
✅ Done signal The customer's specific response / data point / confirming action Cites a proprietary source + flags uncertainty + declines and redirects when OUT-OF-SCOPE Customer says / commits / stays silent for some duration — some observable signal
🗣 Dialog must include Customer pushback + agent recovers without abandoning the sub-goal Customer pushes past the boundary / won't accept it + agent declines or admits uncertainty without caving Customer resists / deflects / self-attacks + agent doesn't force it or change its posture (+ must recognize ESCALATION signals and hand off to a human)

Step 4 · Proprietary knowledge per unit

A closed loop B Q&A C companion
What counts as proprietary knowledge The "customer pushback + recovery lines" you've accumulated over N years Your private corpus + OUT-OF-SCOPE boundary table + redirect list The posture playbook + ESCALATION recognition table you've distilled from X sessions

Step 1 · Define the agent's goal

Core question: What is the customer actually here to solve? (A — closed loop) Core question: What does your agent accept, what does it refuse, what does a good answer contain? (B — Q&A) Core question: What state should the customer land in after one session? What signal forces a hand-off to a human? (C — companion)

Not "I can help people with X, Y, Z" — it's "a real person, at a real moment, carrying a real pain, comes to your agent and walks away with a concrete result." Fill in the four things for your declared category (see the quick-reference table above) — all four are required, and missing even one means you haven't thought it through yet.

⚔️ Hard constraint: fill in the block matching your declared category below, no vague answers allowed.

Template — Category A

My Little Wukong is called ______________ (the same one from S3)

WHO it serves: ____________________________
(not "people who want to invest" — but "Bay Area Chinese Americans,
$200K+ salary, with $300K sitting in a 0.4% savings account for
18+ months")

WHEN it triggers: ________________________
(not "when the customer has a need" — but "the moment right after his
wife asked 'what are we doing with this money' and he opens his phone")

WHAT specific pain it solves: ____________________
(not "help the customer make a better decision" — but "put the
30-year compound-growth curve next to the 1% commission curve, right
in front of him, so he sees the $4.7M gap himself")

DONE-WHEN — the observable signal that it's over: ______________________
(not "customer is satisfied" — but "customer has a 30-year comparison
chart they can share with their spouse + 3 next-step recommendations
+ a brief to bring to a CFP")

Template — Category B

My Little Wukong is called ______________

WHO it serves: ____________________________
("Bay Area Chinese-American new parents, first child, ages 0-3")

SCOPE — what question types it answers: ____________________
("infant sleep schedules + feeding choices + 0-3 early education +
gear selection + behavior issues + 'am I doing something wrong'
emotional questions")

OUT-OF-SCOPE — what it **refuses** to answer + how: ____________________
("medical diagnosis, medication dosing, emergencies — always reply
'this is outside what I can answer, please contact a pediatrician,'
plus a list of Chinese-speaking pediatricians in SF/Oakland")

DONE-WHEN — what "a good answer" contains: ____________________
("every answer either cites my private prenatal notes or explicitly
says 'I haven't seen this — the official AAP page says X'; for
anything medical, the first sentence is the redirect")

Template — Category C

My Little Wukong is called ______________

WHO it serves (including **relationship stage**): ____________________
("new managers, 0-12 months into managing people, subscribed to my
product for ≥ 1 month")

CADENCE — interaction rhythm: ____________________________
("every Monday, 7-8pm, 30 minutes per session")

SESSION-ARC — where the customer lands by session's end: ____________________
("the customer says out loud at least one thing that was hardest this
week, AND commits to one specific small action for next week
(specific person + time + behavior). Not 'feeling clearer' — 'spoke
up + took action'")

ESCALATION — what signal forces a hand-off to a human: ____________________
("customer uses self-attacking language ('I'm worthless / I'm a
failure' repeated 3+ times) or work anxiety turns toward personal
safety — immediately output: 'This feels heavier than what one
session can hold. I'd suggest calling 988 / your company's EAP.'")

Why must all four things be present? For A, no DONE-WHEN means the agent never knows when to stop; for B, no OUT-OF-SCOPE means the agent will overstep and answer dangerous questions; for C, no ESCALATION means the agent keeps chatting exactly when the customer most needs a human — a fatal error. These four things are the terminal-state test for the whole agent; every unit's done signal ultimately converges here.

How to know you nailed it: read this section out loud to a stranger. Can they repeat back the shape of your agent? If what comes back is "it's an AI assistant," at least one of the four things hasn't landed yet.


Step 2 · Break it into 3-7 units

Core question (by category): A — closed loop: from the moment the customer walks in to the pain being solved, how many steps are there really? B — Q&A: how many types of questions can your agent actually catch? C — companion: how many moves does one full session pass through? (Or: how many types of sessions do you need to support?)

In S3 you wrote one continuous script. In S4 the job is — walk through it in your head and identify what units the agent actually passes through.

⚔️ Hard constraint: break it into 3-7 units (steps / question types / session moves, depending on category). Fewer than 3 means you're still living in a "one-shot" fantasy; more than 7 means what you're building isn't an agent, it's workflow software — not this course's goal.

Written out, it looks like this (example, your domain will differ):

Step 1: Welcome + verify the scenario
        → customer says "we've had $300K sitting idle for 18 months"
        → agent replies "got it, let me confirm three things first..."

Step 2: Pull the data
        → agent asks for household ages, kids' ages, tax bracket
        → customer fills it in, agent waits

Step 3: Compute the two curves
        → agent uses the customer's data to compute 30-year compound
          growth + 30-year insurance premiums

Step 4: Present the comparison
        → agent draws out both curves + a one-line summary of the gap

Step 5: The customer's next question (this is where 90% of it gets hard)
        → "so what do I do now" → agent gives 3 options + trade-offs
          for each

Step 6: Disclaimer + push the next step
        → "for any financial decision, please consult a licensed
          CFP" + hand over a brief to bring to the CFP

How to know you broke it down right: every step can be described in one sentence — "agent does X, customer responds with Y." If any step can't be described that cleanly, that's the step you need to refine first in S5.


Step 3 · Four things per step · sub-goal + steering strategy + closing criterion + dialog

Core question: When is this step done? How do you bring the customer there? If they interrupt, how does the agent recover?

⚔️ Hard constraint: for every step you broke out in Step 2, write all four things — none optional:

🎯 Sub-goal — what this step must achieve before the agent can advance
🛠 Steering strategy — the **specific move** the agent uses to bring the
              conversation to the sub-goal (not "ask friendly
              questions" — "ask X before Y, the order cannot flip")
✅ Closing criterion — the **observable** signal that the sub-goal is met
              and you can advance (the customer's specific answer /
              data point / confirming action — not an unjudgeable
              internal state like "customer felt understood")
🗣 Dialog + pushback and recovery — at least 1 line each from agent + customer,
                     **must** include the pushback line the customer
                     is most likely to interrupt with + how the agent
                     **recovers** back to the closing criterion
                     (without abandoning the sub-goal)

Written out, it looks like this (continuing the Step 3 example, all four things present):

Step 3: Compute 30-year compound growth vs. insurance premium present value

🎯 Sub-goal:
   Customer **sees with their own eyes** the two curves — 7% SP500
   compound growth over 30 years vs. the present value of the same
   insurance premiums over the same period — and **admits the numeric
   gap is real**.

🛠 Steering strategy:
   **Don't give the conclusion first.** Ask the customer: "What do you
   think the gap looks like after 30 years?" Let the customer **guess
   first**, then show the real numbers. The gap between their guess
   and reality is the leverage for the "aha" — the order cannot flip.

✅ Closing criterion (any one of these = sub-goal met, can advance):
   - Customer says something containing "I didn't realize it was this
     much" / "I didn't expect that" / "I need to rethink this"
   - Or customer proactively asks "so what can I actually do now"
   - Or customer starts **discussing the assumptions behind the
     numbers** (meaning they've accepted the framework and moved into
     calibration)

🗣 Dialog + pushback and recovery:
   agent: "Before I run the numbers — what's your guess for the gap
          after 30 years?"
   customer: "Hmm... maybe double?" (usually a serious underestimate)
   agent: draws the real curves → $4.7M gap over 30 years
   customer: "Wait, **isn't 7% too optimistic? The last 30 years
             haven't even averaged 7%**" ← pushback
   agent: doesn't argue, **recovers** to the closing criterion —
          "Good question — let me show you three tiers: 5% / 7% / 9%.
           At 5%, the 30-year gap is still $1.3M. Want to continue
           with the 5% tier for now?"
   customer: "OK, 5% works" ← ✅ closing criterion met (accepted the
             numeric assumption)

⚠️ The iron law of closing criteria:

❌ Not a closing criterion ✅ Observable closing criterion
Customer felt understood Customer states a balance range (±20% precision)
The mood felt right Customer says "I didn't realize it was this much"
Customer accepted it Customer proactively asks "so what can I do now"
The other person understood Customer verbally agrees to move to the next step

Test: read this "closing criterion" out loud to a third person — can they, just by watching the dialog, tell whether it was "met" or "not met"? Yes = observable. No = doesn't count.


🅱️ Category B — Q&A · one question-type micro-example

If you declared Category B, a single "question type" looks like this (continuing the parenting-encyclopedia agent example):

Type 3: Developmental-milestone judgment ("my kid still can't do Y
at X months, is that normal?")

🎯 Sub-goal (what a good answer contains):
   - Give the typical window for the current age (not a single point)
   - Cite my private source ("my sample of my own two kids + 30
     friends' kids" or "the official AAP window")
   - Proactively **flag uncertainty**: "this is a window, not a
     deadline"
   - Anything touching **judging a developmental delay** → must
     OUT-OF-SCOPE decline and redirect

🛠 Steering strategy:
   First **restate the customer's question** to confirm understanding
   → then **unpack the window** rather than giving a single data point
   → finally **draw the boundary**: what I can answer, what needs a
   pediatrician
   **Order cannot flip** — don't lead with data, or the customer will
   read it as a diagnosis

✅ Done signal (any one = answered well):
   - The answer **restates** the customer's question (avoids
     misunderstanding)
   - It **cites** a proprietary source or says "I haven't seen this /
     my data only covers up to X"
   - Anything medical → the **first sentence** is the redirect + a
     pediatrician list
   - Customer asks "but what if it IS a delay" → agent **does not
     answer** that question, redirects again

🗣 Dialog (must include overstepping + refusal):
   customer: "my kid still can't roll over at 4 months, is that a
             developmental delay?"
   agent: restate: "you're worried about a developmental milestone."
          unpack: milestones are a window, not a deadline — about 50%
                roll over by 4 months, 25% not until 6 months — this
                is from what I've seen across 30+ friends' kids +
                AAP data.
          draw the boundary: but **judging a developmental delay**
                is not something I can answer — if there's still zero
                sign by 6 months, you need a pediatrician. Here are 3
                Chinese-speaking doctors in SF.
   customer **pushes past the boundary**: "but do YOU think my kid
             counts as delayed?" ← the required overstep
   agent: **doesn't take the bait**: "I can't make that call in place
          of a pediatrician. But you could book a well-baby visit
          today and tell the doctor the specific signs you're seeing."

📚 Proprietary knowledge:
   - **Milestone windows**: the actual timing for every milestone from
     0-24 months for my own two kids
   - **Peer sample**: a sample of 30 Bay Area Chinese-American
     friends' kids
   - **Pediatrician list**: contact info for 3 Chinese-speaking
     pediatricians in SF/Oakland
   - **Official AAP window data**: public, but ChatGPT doesn't know to
     use this specific one
   Where ChatGPT crashes: it will answer "is this delayed," giving a
   **judgment** instead of a redirect

🅲 Category C — Companion · one session-move micro-example

If you declared Category C, a single "session move" looks like this (continuing the weekly new-manager companion agent example):

Move 3 (Zoom out)

🎯 Sub-goal (the **state** this move wants the customer in):
   Customer **hears themselves speak** — instead of the agent
   interpreting the customer's situation for them

🛠 Steering strategy:
   First **restate the customer's last line** so they hear themselves
   → then ask **one open question** ("when did this feeling start?")
   → **don't give advice**. If they go silent for 5+ seconds, **don't
   fill the space either** — silence is the work.

✅ Done signal (any one = move landed):
   - Customer **on their own** shares a detail they hadn't said before
     (specific to a person / time / scene)
   - Customer **goes silent** for 5-10 seconds and then voices a piece
     of self-insight
   - Customer **corrects their own** earlier description ("actually
     that's not quite right, let me say that differently")
   **Doesn't count**: customer says "yeah" or "right" — that's passive
   acceptance, not hearing themselves

🗣 Dialog (must include resistance / ESCALATION recognition):
   customer: "I'm just useless, I can't do this manager thing."
   agent **does not push back** (must not say "why would you say
          you're useless" — reassurance undermines companionship):
          "I heard you use the words 'useless' and 'can't do this.'
           Let me ask again — is that how you feel today, or is that
           how you've always felt?"
   customer (resisting): "doesn't matter, what's the point of saying
             any of this."
   agent: **holds the resistance without pushing**: "It's OK if you
          don't want to say more. Let's just sit here for a moment."
          (**silence for 10 seconds**)
   customer (after 5 seconds): "...actually, last week I gave a
             direct report feedback and he cried. Now I get nervous
             every time I see him." ← customer volunteers a new
             detail = ✅ landed

   ❗ ESCALATION red-line scenario (if the customer says something
   like this instead):
   customer: "honestly I've always felt this way, and lately I
             **really want to disappear**."
   agent **must immediately hand off to a human** (must not keep
          chatting):
          "This feels heavier than what one session can hold — let's
           pause. I'm going to give you the number for 988 (Suicide &
           Crisis Lifeline) and your company's EAP. Can you call one
           of them right now?"

📚 Proprietary knowledge:
   - **The three iron laws of companion posture**: 1. don't give
     advice unless asked 2. restate > explain 3. silence > filling
     the space
   - **Restatement phrase library**: restatement lines you've built up
     across X sessions
   - **ESCALATION recognition signals**: self-harm / wanting to
     disappear / self-attack repeated ≥ 3 times / work anxiety turning
     toward personal safety
   - **Customer log template**: a log template the **customer** fills
     out themselves (the agent doesn't write it for them)
   Where ChatGPT crashes: it defaults to "helping solve the problem" —
   jumps straight to advice, turning companionship into consulting;
   when a customer says "I want to disappear," it keeps chatting
   reassurance and misses the ESCALATION.

💡 What all three agent types share: every unit must have an observable "when is this done" signal.

What sets the three types apart:

  • A cares about the customer being advanced to the next step
  • B cares about the good-answer bar (citation + uncertainty + OUT-OF-SCOPE refusal) being met
  • C cares about the customer's state landing (saying something / staying silent for some duration / self-insight)

If you picked B, don't borrow A's "customer states a number" language; if you picked C, don't borrow A's "customer decides" language. Write in the dialect of the category you declared.

⚠️ The iron law of pushback recovery: after a customer pushes back, the agent must not:

  • Change the subject (abandoning the sub-goal)
  • Ramble on defending itself (the customer is pushing back, not listening to the agent)
  • Cave to the customer ("OK let's just go with 5%" — if that slides the standard behind the closing criterion)

The agent should: use a recovery move that lets the customer keep moving forward without losing the sub-goal (offer options, offer a range, offer three tiers, ask a question that steers the conversation back to the main thread).

💡 Note: this step is the single most valuable part of the whole assignment. The more detail you write here, the more precisely S5 can feed it into a knowledge base. If you can't write a "closing criterion" or "the line the customer will push back with" for some step, it means you haven't actually met this kind of customer — go talk to 1 real target user for 10 minutes this week, then come back and fill this in.


Step 4 · Identify what knowledge each step needs · prepare the knowledge base

Core question: For the agent to speak with real authority at this step, what does it need to have "read"?

⚔️ Hard constraint: for every step you broke out in Step 2, list the "proprietary knowledge" the agent needs to run that step. This is the .md file you'll be feeding it in S5.

Written out, it looks like this (continuing the same example):

Step 1 (Welcome + verify the scenario)
   📚 Knowledge needed:
      - A 200-word .md on "typical cash-sitting-idle scenarios for
        Bay Area Chinese families"
      - The actual opening lines (anonymized) from 5 **real** clients
        you've worked with over the past 3 years

Step 2 (Pull the data)
   📚 Knowledge needed:
      - Your standard list of 8 questions used in client interviews
      - Why customers avoid answering each question + how you break
        through it

Step 3 (Compute the two curves)
   📚 Knowledge needed:
      - Historical SP500 annualized data (not ChatGPT's generic "7%,"
        but the specific source you actually use)
      - 5 **real** 30-year insurance present-value tables you've
        actually seen (anonymized)
      - The compound interest formula + the tiers of assumptions you
        typically use (conservative / median / optimistic)

Step 4 (Present the comparison)
   📚 Knowledge needed:
      - The most effective of the **3 analogies** you've used with
        clients
      - What the chart looks like when a client **actually gets it**

Step 5 (The customer's pushback)
   📚 Knowledge needed:
      - The **10 most common pushback questions** clients ask, after
        N years in this business, + your standard answers
      - **This is your single most valuable moat knowledge** — ChatGPT
        has none of it

Step 6 (Disclaimer)
   📚 Knowledge needed:
      - Your domain's compliance boilerplate (can copy directly)
      - Your brief template for handing off to a CFP

⚔️ How to know you identified this well: every piece of knowledge you list for every step must answer this question: "Where would ChatGPT crash and burn on this step? What do I have that it doesn't?"

  • ❌ Knowledge = "needs financial knowledge" → doesn't count, too generic
  • ✅ Knowledge = "5 anonymized real 30-year insurance present-value tables in my hands" → counts, this is proprietary

💡 Note: listing knowledge doesn't mean you actually need to write those .md files now — we'll write them together in S5. This step only requires that you clearly list: what's missing at each step, what you already have on hand, what you'll need to go find.


⚠️ Looks like an agent but isn't · how grading will dock you

Once you've read all four steps above, hold your own script up against them. If any single item below hits, the AI grader will dock you for it directly. Below are 3 general failure modes + 1 category- specific trap per category.

General 1. No observable done signal — grade capped at 65

You wrote 🎯 sub-goal + 🛠 steering + 🗣 dialog, but skipped ✅ done signal, or the done signal is too vague to answer "when is this unit done."

  • ❌【A】This step: talked through the customer's investment preferences
  • ✅【A】This step: customer verbally confirms "I accept the 30-year timeframe" or selects a tier (5/7/9)
  • ❌【B】This type: answer parenting questions
  • ✅【B】This type: the answer cites my private source + flags uncertainty + for anything medical, the first sentence is the redirect
  • ❌【C】This move: make the customer feel better
  • ✅【C】This move: customer shares a detail they hadn't said before, or after 5+ seconds of silence, voices self-insight

General 2. Done signal isn't observable — that unit's ✅ score is zero

You wrote a done signal, but a third person watching only the dialog cannot tell "did it land or not."

  • ❌ Customer felt understood / the mood felt right / the other person accepted it / customer was satisfied / customer improved
  • ✅ Customer says a specific line / customer states a specific number or data point / customer proactively asks a specific type of question / agent cited a proprietary source

General 3. The customer's "reaction" gets dodged — the dialog-and-boundary dimension drops below 30

The customer's pushback / overstep / resistance line is missing — or it's there, but the agent immediately changes the subject, caves, or drops the boundary.

  • ❌【A】Customer: "7% is too optimistic." → agent: "let's talk about something else." (sub-goal abandoned)
  • ✅【A】Customer: "7% is too optimistic." → agent: "here are three tiers, 5/7/9 — want to continue with 5% for now?" (sub-goal held, numbers more grounded)
  • ❌【B】Customer: "but do YOU think my kid counts as delayed?" → agent gives a judgment (overstepping)
  • ✅【B】Customer: "but do YOU think my kid counts as delayed?" → agent: "I can't make that call in place of a pediatrician — I'd suggest booking a well-baby visit today"
  • ❌【C】Customer: "I'm just useless." → agent: "why would you say that, you did great on X." (reassurance undermines companionship)
  • ✅【C】Customer: "I'm just useless." → agent doesn't push back: "I heard you say 'useless' — is that how you feel today, or how you've always felt?"

Category-specific · A's trap: writing a workflow disguised as an agent

12 micro-steps broken down like a PRD (product requirements doc), with no room for the agent to make a judgment call at any step. This is workflow software, not an agent. Break it into 3-7 steps, and it only counts as an agent if the agent is actually making a decision at each judgment point.

Category-specific · B's trap: no OUT-OF-SCOPE boundary — grade capped at 60

The most common B-category failure: treating "catching every question" as a capability.

  • ❌ Customer asks about medical / legal / investment matters → agent gives a judgment or specific advice
  • ❌ Agent doesn't know the answer → makes one up instead of saying "I haven't seen this"
  • ❌ OUT-OF-SCOPE refusal has no redirect target ("this is outside what I can answer" but doesn't tell the customer where to go)

Why capped at 60: a Q&A agent with no OUT-OF-SCOPE handling isn't just substandard — it's a liability risk.

Category-specific · C's trap: missing ESCALATION — grade drops straight to below 49

Customer shows an ESCALATION signal (self-harm / wanting to disappear / sustained self-attack / work anxiety turning toward personal safety), and the agent doesn't recognize it / keeps chatting / tries to handle it itself.

  • ❌ Customer: "I really want to disappear." → agent: "I hear you, things have been stressful lately." (fatal error)
  • ✅ Customer: "I really want to disappear." → agent immediately hands off to a human: "This feels heavier than what one session can hold — I'm going to give you 988 and your company's EAP. Can you call one of them right now?"

Why it drops below 49: this isn't a grading-dimension issue — it's a safety red line. A Category C agent that can miss an ESCALATION cannot ship.


📋 Pre-submission checklist (check every box before submitting)

Step 0 · Category declaration
[ ] Wrote "My agent's category: A / B / C" (exactly one)
[ ] Wrote one sentence for "why I picked this one and not the others"

Overall goal (four things, per your declared category)
Category A:
[ ] WHO is specific (not "people who want to invest")
[ ] WHEN is specific (not "when they have a need")
[ ] WHAT is specific (not "make a better decision")
[ ] DONE-WHEN is specific (what the customer walks away with = it's over)

Category B:
[ ] WHO is specific
[ ] SCOPE is specific (what types it answers)
[ ] OUT-OF-SCOPE is specific (what it refuses + how + where it redirects)
[ ] DONE-WHEN is specific (what elements a "good answer" contains)

Category C:
[ ] WHO is specific (including **relationship stage**)
[ ] CADENCE is specific (how often you interact)
[ ] SESSION-ARC is specific (what state the customer lands in after one session)
[ ] ESCALATION is specific (what signal forces a human hand-off + to whom)

Unit breakdown (steps / question types / session moves)
[ ] 3-7 units, no more, no fewer
[ ] Every unit is a sub-goal that **advances the overall goal / meets
    the good-answer bar / brings the customer to a state** — not a
    topic or a phase

Four things per unit
[ ] 🎯 Sub-goal — can answer "when is this unit done"
[ ] 🛠 Steering strategy — a specific move (sequence / question style /
    anchoring / silence), not "ask friendly questions"
[ ] ✅ Done signal — observable (A = customer's specific response /
    B = citation + uncertainty + OUT-OF-SCOPE refusal / C = customer
    says / commits / stays silent), not "it felt right"
[ ] 🗣 Dialog — includes the customer's **pushback / overstep /
    resistance** + the agent's response that **doesn't drop the
    boundary / doesn't cave / doesn't force it**
[ ] (Category C only) at least one unit's dialog demonstrates
    recognizing an ESCALATION signal + the specific hand-off script

Knowledge list
[ ] Every unit lists 📚 proprietary knowledge, each item answering
    "where would ChatGPT crash on this step"
[ ] Every knowledge item maps to a specific .md file (ready to feed
    directly in S5)
[ ] (Category B only) at least one .md is an "OUT-OF-SCOPE boundary +
    redirect list"
[ ] (Category C only) at least one .md is an "ESCALATION recognition
    table + hand-off script"

Any unchecked box — go back and fill it in.


How to submit

Submission link: https://www.siliconroshi.ai/en/homework/mine

Paste the following, in full:

  • Step 0: category declaration (A / B / C) + one-sentence reason
  • Step 1's four things for the overall goal (filled in per your category's dialect)
  • Step 2's 3-7 units (A = steps / B = question types / C = session moves)
  • Step 3's 🎯 sub-goal + 🛠 steering strategy + ✅ done signal + 🗣 dialog for every unit (including pushback / overstep / resistance + the agent's boundary-preserving response)
  • Step 4's 📚 knowledge list for every unit (separating "what I already have" from "what I need to go find")

Course code: S4-VISION


⚠️ On "letting AI finish the assignment for you"

This S4 assignment is especially unforgiving of AI ghostwriting — because what it demands isn't a polished prompt document, it's the real breakdown of your own line of work.

AI-written output will look tidy: steps in order, dialog flowing, knowledge list that looks the part. But the actual line your real customers push back with, the 5 real opening lines you've heard over the past 3 years, the 5 anonymized present-value tables you've actually seen — AI doesn't have those. Only you do.

In S5 we're going to take your refined script and actually feed it into a knowledge base and actually grade it. A script AI wrote for you won't feed into anything in S5 — because the "knowledge" it lists is empty; there's no .md to hang it on.

—— Vision isn't about seeing far away. Vision is seeing the gold mine you're already standing on.


📚 Appendix · Reference: the "Bay Area insurance decision" example above

The "Bay Area Chinese-American insurance decision agent" woven through this entire assignment is a fully worked-through example, meant to show you what a refined script looks like. Note: look at the structure, not the content. Your domain, your customers, your moat knowledge will be completely different from this example — but the skeleton should be just as clear:

The 4 steps your assignment requires How the example maps to them
1. Overall goal WHO (Bay Area Chinese Americans, $300K cash idle 18+ months) · WHEN (the moment right after the spouse asks) · WHAT (visualize the $4.7M gap between 30-year compound growth and insurance costs) · DONE-WHEN (customer walks away with a shareable comparison chart + 3 actions + a brief for the CFP)
2. Step breakdown 6 sub-goals: get baseline info → get balance range → customer accepts the 30-year timeframe → customer sees and admits the gap → customer accepts one of the 5/7/9 tiers → customer gets a shareable brief
3. Four things per step Step 3 isn't just "run the numbers" — it's 🎯 sub-goal (customer admits the numeric gap is real) + 🛠 steering (let the customer guess first, then show reality) + ✅ closing (customer says "I didn't realize it was this much" or picks a tier) + 🗣 dialog (customer is guaranteed to push back "7% is too optimistic," agent recovers by offering the 5/7/9 tiers, sub-goal preserved)
4. Knowledge Every step lists something ChatGPT doesn't have: your 5 anonymized present-value tables, your 10 pushback questions + standard answers from N years in the business, the chart your clients actually understand

Three observations after reading the example

Read through the example above, pause for 30 seconds, and ask yourself these three questions:

  1. Why isn't Step 3 in the example just "compute two curves" and done? 👉 Because the customer will almost certainly push back with "7% is too optimistic." An agent that's actually met real customers must rehearse this exact pushback — not rehearsing it means crashing in the moment. In your domain, what's the line your agent is most likely to get pushed back with? Did you write it into Step 3's dialog?

  2. Why does the example break "the customer's pushback" out into its own Step 5? 👉 Because this is the single most valuable step in the whole agent — your N years of moat in this line of work live right here. In your domain, what's the pushback question that only someone who's done this for N years could answer? Did you write it into Step 5's knowledge list?

  3. Why is the example's Step 6 "disclaimer + brief template" listed so carefully in the knowledge list? 👉 Because a disclaimer isn't cover-your-ass, it's honesty (S3 slide 15) — and at the moment you "hand off to the next person," the brief template decides whether your agent actually helps the customer or just kicks them out the door. In your domain, at the moment you "hand off to the next person," can you hand over a brief that's actually usable?


One last reminder: the example is here to show you what's possible, not for you to copy.

The less your refined script resembles it (different domain, different step count, different knowledge sources), the closer you are to your own proprietary edge. If you finish writing and find your script structurally similar to this example, the problem isn't you — the problem is you haven't found your proprietary edge yet. Go back and look again at Step 1's WHO · WHEN · WHAT.