| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074 |
- <!doctype html>
- <html lang="zh-CN">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1" />
- <meta name="description" content="用 Run 454 和两套组合逻辑,讲清楚智能创作 Workflow 怎样走向有边界的递归 Agent System。" />
- <title>从“聪明地跑流程”到“自己管理创作认知过程”</title>
- <style>
- :root {
- --ink: #171717;
- --text: #353535;
- --muted: #6d6d6d;
- --line: #d7d7d7;
- --line-strong: #a7a7a7;
- --soft: #f5f5f3;
- --paper: #ffffff;
- }
- * { box-sizing: border-box; }
- html { scroll-behavior: smooth; }
- body {
- margin: 0;
- color: var(--text);
- background: var(--paper);
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
- font-size: 16px;
- line-height: 1.72;
- text-rendering: optimizeLegibility;
- }
- a { color: var(--ink); text-underline-offset: 4px; }
- a:hover { text-decoration-thickness: 2px; }
- :focus-visible { outline: 3px solid #888; outline-offset: 3px; }
- strong { color: var(--ink); }
- .page {
- width: min(960px, calc(100% - 48px));
- margin: 0 auto;
- }
- .doc-head {
- padding: 60px 0 38px;
- border-bottom: 1px solid var(--ink);
- }
- .doc-label,
- .section-label,
- .diagram-title {
- margin: 0;
- color: var(--muted);
- font-size: 12px;
- font-weight: 650;
- letter-spacing: .09em;
- text-transform: uppercase;
- }
- h1, h2, h3, h4, p { margin-top: 0; }
- h1 {
- max-width: 880px;
- margin: 18px 0 20px;
- color: var(--ink);
- font-family: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
- font-size: clamp(38px, 6vw, 56px);
- font-weight: 700;
- line-height: 1.14;
- letter-spacing: -.035em;
- }
- .subtitle {
- max-width: 760px;
- margin-bottom: 24px;
- color: var(--muted);
- font-size: 18px;
- line-height: 1.65;
- }
- .thesis {
- margin: 0;
- padding: 16px 18px;
- border-left: 4px solid var(--ink);
- background: var(--soft);
- color: var(--ink);
- font-size: 17px;
- line-height: 1.65;
- font-weight: 650;
- }
- .toc {
- display: flex;
- flex-wrap: wrap;
- gap: 8px 20px;
- margin-top: 22px;
- }
- .toc a {
- color: var(--muted);
- font-size: 13px;
- text-decoration: none;
- }
- .toc a:hover { color: var(--ink); text-decoration: underline; }
- section {
- padding: 56px 0;
- border-bottom: 1px solid var(--line);
- }
- section:last-of-type { border-bottom: 0; }
- h2 {
- max-width: 820px;
- margin: 10px 0 20px;
- color: var(--ink);
- font-family: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
- font-size: 30px;
- line-height: 1.32;
- letter-spacing: -.018em;
- }
- h3 {
- margin: 34px 0 12px;
- padding-top: 4px;
- color: var(--ink);
- font-size: 20px;
- line-height: 1.42;
- }
- .major-subheading {
- margin-top: 44px;
- font-family: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
- font-size: 26px;
- line-height: 1.34;
- letter-spacing: -.012em;
- }
- .logic-heading {
- max-width: 880px;
- margin-top: 14px;
- font-size: clamp(34px, 4.7vw, 44px);
- line-height: 1.24;
- }
- .logic-answer {
- margin: 22px 0 26px;
- padding: 18px 20px;
- border-left: 5px solid var(--ink);
- background: var(--soft);
- color: var(--ink);
- font-size: 18px;
- font-weight: 600;
- line-height: 1.62;
- }
- .logic-answer strong {
- margin-right: 6px;
- font-family: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
- font-size: 23px;
- }
- h4 {
- margin: 24px 0 7px;
- color: var(--ink);
- font-size: 17px;
- }
- p { margin-bottom: 14px; }
- .lead { max-width: 820px; color: var(--muted); font-size: 17px; line-height: 1.7; }
- .note { color: var(--muted); font-size: 14px; }
- .compact { margin-bottom: 8px; }
- blockquote {
- margin: 22px 0;
- padding: 2px 0 2px 18px;
- border-left: 2px solid var(--ink);
- color: var(--ink);
- font-family: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
- font-size: 18px;
- line-height: 1.68;
- }
- blockquote p:last-child { margin-bottom: 0; }
- .conversation {
- display: grid;
- grid-template-columns: 150px 1fr;
- gap: 22px;
- margin: 28px 0;
- padding: 20px 0;
- border-top: 1px solid var(--line);
- border-bottom: 1px solid var(--line);
- }
- .conversation-label {
- color: var(--muted);
- font-size: 13px;
- font-weight: 650;
- }
- .conversation-body > :last-child { margin-bottom: 0; }
- .conversation-body > :first-child { margin-top: 0; }
- .plain-table-wrap { overflow-x: auto; margin: 24px 0; }
- table { width: 100%; border-collapse: collapse; }
- th, td {
- padding: 14px;
- border: 1px solid var(--line);
- text-align: left;
- vertical-align: top;
- }
- th { color: var(--ink); background: var(--soft); font-size: 14px; }
- td { font-size: 15px; }
- th:first-child { width: 42%; }
- .diagram {
- margin: 24px 0;
- padding: 20px;
- border: 1px solid var(--line-strong);
- background: #fcfcfb;
- overflow-x: auto;
- }
- .diagram-title { margin-bottom: 14px; }
- .tree {
- margin: 0;
- white-space: pre;
- color: var(--ink);
- font: 13.5px/1.72 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
- }
- .flow {
- display: flex;
- align-items: stretch;
- gap: 8px;
- min-width: 760px;
- }
- .flow.vertical {
- min-width: 0;
- flex-direction: column;
- gap: 0;
- }
- .node {
- display: grid;
- place-items: center;
- flex: 1;
- min-width: 122px;
- padding: 11px 10px;
- border: 1px solid var(--line-strong);
- background: var(--paper);
- color: var(--ink);
- text-align: center;
- font-size: 13px;
- line-height: 1.42;
- }
- .node strong { display: block; }
- .node small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
- .node.current { border: 2px solid var(--ink); }
- .arrow { display: grid; place-items: center; flex: 0 0 20px; color: var(--muted); }
- .down { padding: 5px 0; color: var(--muted); text-align: center; line-height: 1; }
- .return-note {
- margin-top: 14px;
- padding-top: 12px;
- border-top: 1px dashed var(--line-strong);
- color: var(--muted);
- font-size: 14px;
- text-align: center;
- }
- .system-overview {
- display: grid;
- grid-template-columns: 1.04fr 32px .96fr;
- align-items: start;
- margin: 26px 0 16px;
- }
- .overview-panel {
- padding: 20px;
- border: 1px solid var(--line-strong);
- background: #fcfcfb;
- }
- .overview-kicker {
- margin-bottom: 4px;
- color: var(--muted);
- font-size: 12px;
- font-weight: 650;
- letter-spacing: .08em;
- }
- .overview-panel h3 {
- margin: 0 0 14px;
- padding: 0;
- font-size: 21px;
- }
- .overview-tree,
- .overview-loop {
- margin: 0;
- color: var(--ink);
- white-space: pre-wrap;
- font: 13px/1.72 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
- }
- .overview-note {
- margin: 16px 0 0;
- padding-top: 12px;
- border-top: 1px dashed var(--line);
- color: var(--muted);
- font-size: 13px;
- line-height: 1.6;
- }
- .overview-bridge {
- display: grid;
- place-items: center;
- align-self: stretch;
- color: var(--muted);
- font-size: 24px;
- }
- .overview-summary {
- margin: 0 0 24px;
- padding: 12px 16px;
- border-left: 3px solid var(--ink);
- background: var(--soft);
- color: var(--ink);
- font-size: 16px;
- line-height: 1.65;
- }
- .object-list {
- margin: 24px 0;
- border-top: 1px solid var(--ink);
- }
- .object-item {
- display: grid;
- grid-template-columns: 160px 1fr;
- gap: 22px;
- padding: 18px 0;
- border-bottom: 1px solid var(--line);
- }
- .object-name { color: var(--ink); font-weight: 700; }
- .object-name span {
- display: block;
- margin-bottom: 3px;
- color: var(--muted);
- font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
- }
- .object-body > :last-child { margin-bottom: 0; }
- .execution-bridge {
- padding-right: 14px;
- padding-left: 14px;
- background: var(--soft);
- }
- .execution-bridge .object-name span { letter-spacing: .03em; }
- .loop-list {
- margin: 22px 0;
- border-left: 2px solid var(--ink);
- }
- .loop-row {
- display: grid;
- grid-template-columns: 110px 1fr;
- gap: 18px;
- padding: 12px 0 12px 18px;
- border-bottom: 1px solid var(--line);
- }
- .loop-row:last-child { border-bottom: 0; }
- .loop-key { color: var(--ink); font-weight: 700; }
- .loop-value > :last-child { margin-bottom: 0; }
- .task-examples {
- display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 18px;
- margin: 24px 0;
- }
- .task-example {
- padding: 20px;
- border: 1px solid var(--line-strong);
- background: #fcfcfb;
- }
- .task-example h4 {
- margin: 0 0 16px;
- padding-bottom: 12px;
- border-bottom: 1px solid var(--line);
- font-size: 18px;
- }
- .task-step span {
- display: block;
- margin-bottom: 3px;
- color: var(--muted);
- font-size: 12px;
- font-weight: 700;
- letter-spacing: .04em;
- }
- .task-step p {
- margin: 0;
- color: var(--ink);
- font-size: 14px;
- line-height: 1.58;
- }
- .task-down {
- padding: 5px 0;
- color: var(--muted);
- font-size: 13px;
- line-height: 1;
- }
- ul, ol { padding-left: 24px; }
- li + li { margin-top: 6px; }
- .case-meta {
- margin: 18px 0 22px;
- color: var(--muted);
- font-size: 14px;
- }
- .case-meta span + span::before { content: " · "; }
- .case-compare {
- table-layout: fixed;
- border-top: 1px solid var(--ink);
- border-bottom: 1px solid var(--ink);
- }
- .case-compare th {
- padding: 15px;
- background: var(--soft);
- color: var(--ink);
- font-size: 16px;
- line-height: 1.42;
- }
- .case-compare td {
- width: 50%;
- padding: 15px;
- font-size: 14.5px;
- line-height: 1.58;
- }
- .case-compare td strong {
- display: block;
- margin-bottom: 3px;
- }
- .issue {
- margin: 24px 0;
- padding: 18px;
- border: 2px solid var(--ink);
- background: var(--soft);
- }
- .issue p:last-child { margin-bottom: 0; }
- .moves {
- display: grid;
- grid-template-columns: repeat(5, 1fr);
- margin: 24px 0;
- border: 1px solid var(--line-strong);
- }
- .move {
- min-height: 138px;
- padding: 14px;
- border-right: 1px solid var(--line);
- }
- .move:last-child { border-right: 0; }
- .move b { display: block; margin-bottom: 6px; color: var(--ink); }
- .move span { color: var(--muted); font-size: 12.5px; line-height: 1.58; }
- .references { padding-left: 22px; }
- .references li + li { margin-top: 10px; }
- .references span { color: var(--muted); }
- footer {
- padding: 24px 0 40px;
- border-top: 1px solid var(--line);
- color: var(--muted);
- font-size: 12px;
- }
- @media (max-width: 780px) {
- .page { width: min(100% - 24px, 960px); }
- .doc-head { padding: 42px 0 30px; }
- h1 { font-size: 35px; }
- .subtitle { font-size: 16px; }
- section { padding: 42px 0; }
- h2 { font-size: 25px; }
- h3 { font-size: 19px; }
- .major-subheading { font-size: 23px; }
- .logic-answer { font-size: 17px; }
- .logic-answer strong { font-size: 21px; }
- blockquote { font-size: 17px; }
- .conversation,
- .object-item { grid-template-columns: 1fr; gap: 8px; }
- .conversation { padding: 18px 0; }
- .object-list { margin-top: 22px; }
- .loop-row { grid-template-columns: 85px 1fr; gap: 14px; padding-left: 16px; }
- .diagram { padding: 16px; }
- .plain-table-wrap table { min-width: 680px; }
- .moves { grid-template-columns: 1fr; }
- .task-examples { grid-template-columns: 1fr; }
- .system-overview { grid-template-columns: 1fr; }
- .overview-bridge { min-height: 42px; transform: rotate(90deg); }
- .move { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
- .move:last-child { border-bottom: 0; }
- }
- @media print {
- body { font-size: 12px; }
- .page { width: 100%; }
- .toc { display: none; }
- section { padding: 30px 0; }
- .diagram, .issue, .conversation, .object-item { break-inside: avoid; }
- }
- </style>
- </head>
- <body>
- <header class="doc-head">
- <div class="page">
- <p class="doc-label">脚本构建第三版 · 业务讨论稿</p>
- <h1>从“聪明地跑流程”到“自己管理创作认知过程”</h1>
- <p class="subtitle">不先讲技术,也不重新发明一套说法。我们用过去几轮对话和“毛驴效应”Run 454,把新的智能创作系统一步一步讲清楚。</p>
- <p class="thesis">新的系统,不是让更多 Agent 一起写,而是让系统自己管理:为什么还不能决定、需要什么证据、有哪些可能方案、怎样验收,以及失败后退回哪里。</p>
- <nav class="toc" aria-label="页面目录">
- <a href="#boundary">第二版怎样工作</a>
- <a href="#two-logics">真正的智能创作系统</a>
- <a href="#run">Run 454 对比</a>
- <a href="#recursion">递归与验收</a>
- <a href="#research">参考观点</a>
- </nav>
- </div>
- </header>
- <main class="page">
- <section id="boundary">
- <p class="section-label">01 / 第二版是怎么工作的</p>
- <h2>第二版是一套由主 Agent 驱动的 Agentic Workflow</h2>
- <p class="lead">它不是按固定步骤一次跑完的普通 Workflow。主 Agent 会根据当前产物调整本轮目标,组织多个分支取证和生成候选,再比较、合并和评价,决定下一轮或结束。</p>
- <div class="diagram">
- <p class="diagram-title">第二版已经能够完成的真实循环</p>
- <div class="flow">
- <div class="node"><strong>创作总目标</strong></div>
- <div class="arrow">→</div>
- <div class="node"><strong>本轮目标</strong><small>主 Agent 判断</small></div>
- <div class="arrow">→</div>
- <div class="node"><strong>多路探索</strong><small>取证 + 创作候选</small></div>
- <div class="arrow">→</div>
- <div class="node"><strong>比较候选</strong><small>合并 / 暂存 / 淘汰</small></div>
- <div class="arrow">→</div>
- <div class="node"><strong>整体评价</strong><small>决定下一轮或结束</small></div>
- </div>
- </div>
- <blockquote>
- <p><strong>它的核心问题不是不够智能,而是智能主要集中在主 Agent。</strong>局部分支主要接收“写某个段落、补充行动方法、查询相关素材”等执行任务,不会自己管理完整的创作问题和返回位置。</p>
- </blockquote>
- <p><strong>更准确的定位是:</strong>第二版是一套已经具备选择、竞争、评价和迭代能力,但仍然以主 Agent 集中编排为核心的 Agentic Workflow。下一版要做的,是让每个 Task 也拥有自己的判断循环。</p>
- </section>
- <section id="two-logics">
- <p class="section-label">02 / 真正的智能创作系统</p>
- <h2 class="logic-heading">真正的智能创作系统,应该怎样工作?</h2>
- <p class="logic-answer"><strong>新系统是一个围绕创作总目标不断规划、执行、验收和重新规划的循环。</strong>每个 Task 完成后把结果返回父节点,由父节点决定继续细化、向下拆分、回退还是收束,直到创作总目标完成。</p>
- <div class="system-overview" aria-label="智能创作系统的整体与局部两层逻辑">
- <div class="overview-panel">
- <p class="overview-kicker">01 / 任务树怎样生长</p>
- <h3>现在该解决什么?</h3>
- <pre class="overview-tree">创作总目标
- 让读者理解犹豫的损失,并开始行动
- ↓
- 发现当前还没有解决的问题
- ↓
- Task 1
- 局部目标:让隐性损失变得可感知
- ↓
- 完成,返回创作总目标重新判断
- ↓
- 发现新的问题
- ↓
- Task 2
- 局部目标:把“为什么会犹豫”解释得清楚、可信
- ↓
- 完成,返回创作总目标重新判断
- ↓
- 发现新的问题
- ↓
- Task 3
- 局部目标:形成简单、可信、可以立即执行的方法
- ↓
- 完成,返回创作总目标重新判断
- ↓
- 发现新的问题
- ↓
- Task 4
- 局部目标:把已通过验收的认识、冲击和行动方法
- 整合成连续完整的脚本
- ↓
- 返回创作总目标验收
- ├─ 仍有问题:产生新的 Task,或返回已有 Task
- └─ 已经完成:系统收束</pre>
- <p class="overview-note">Task 1—4 是这个案例逐步生长出的阶段性任务,不是系统预先规定的固定流程。任务数量由创作总目标和每次验收结果动态决定。</p>
- </div>
- <div class="overview-bridge" aria-hidden="true">→</div>
- <div class="overview-panel">
- <p class="overview-kicker">02 / 每个 Sub-Agent 解决一个 Task</p>
- <h3>这个问题怎么解决?</h3>
- <pre class="overview-loop">局部目标:这一步要做到什么?
- ↓
- 需要去验证:现在还不能确定什么?
- ↓
- 获取证据:需要查什么资料?
- ↓
- 进行推理判断:证据说明应该怎么做?
- ↓
- 生成候选方案:做出可以比较的内容
- ↓
- 推理决策:是否真的解决了问题?
- ├─ 未通过:退回出错位置
- └─ 已完成:返回父节点</pre>
- </div>
- </div>
- <p class="overview-summary"><strong>创作总目标决定“接下来解决什么”,每个 Sub-Agent 只负责一个边界清楚的 Task。</strong>独立检索和候选探索可以并行;语气、脉络和上下文强相关的连续创作,仍然由主 Agent 保持完整上下文。</p>
- <p class="lead">左边管理整项创作被拆成哪些父子任务;右边规定某个 Task 被选中以后,怎样围绕自己的局部目标完成取证、判断、创作、验收和返回。Task 完成后不会自动进入下一步,而是返回父节点,由父节点重新判断。</p>
- <h3 class="major-subheading">系统根据当前目标识别缺口,动态生成 Task</h3>
- <p><strong>脉络探索、事实验证和风格校验都不是固定步骤。</strong>只有父节点发现当前创作确实缺少某种认识、产物或约束判断时,系统才生成对应的 Task。Task 完成并通过验收后,结果返回父节点,同时写回创作表。</p>
- <div class="task-examples">
- <article class="task-example">
- <h4>例子一:当前缺少脉络</h4>
- <div class="task-step">
- <span>当前未知</span>
- <p>寓言、生活场景和行动方法应该怎样组织?</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>临时生成 Task</span>
- <p>生成“脉络探索 Task”,探索三个不同的内容脉络,并说明各自优缺点。</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>选择执行方式</span>
- <p>几个相对独立的脉络方向,可以交给多个 Sub-Agent 并行探索。</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>父节点比较和验收</span>
- <p>选择、组合或淘汰候选脉络。</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>产出</span>
- <p>通过验收的候选脉络+选择理由。</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>返回并写回</span>
- <p>结果返回父节点,同时更新创作表中的“脉络”数据。</p>
- </div>
- </article>
- <article class="task-example">
- <h4>例子二:当前存在风格与事实风险</h4>
- <div class="task-step">
- <span>当前未知</span>
- <p>“毛驴效应”的解释是否可靠?“日常冲击”的写法是否符合账号一贯的专业、克制风格?</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>临时生成 Task</span>
- <p>生成“约束校验 Task”,分别核查事实依据和账号风格适配。</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>选择执行方式</span>
- <p>两项校验相对独立,可以交给事实研究 Sub-Agent 和风格审校 Sub-Agent 并行完成。</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>父节点比较和验收</span>
- <p>确认事实可追溯、表达没有夸大,候选内容也没有突破账号 Traits。</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>产出</span>
- <p>证据卡片+风格适配判断+可用和禁用表达+回退建议。</p>
- </div>
- <div class="task-down">↓</div>
- <div class="task-step">
- <span>返回并写回</span>
- <p>结果返回父节点,写回证据和约束校验结果;账号 Traits 继续作为所有子 Task 共同继承的约束。</p>
- </div>
- </article>
- </div>
- <h3 class="major-subheading">一个创作 Task 怎样被推进和验收(single loop)</h3>
- <p>每个 Task 都运行同一套完整闭环:围绕阶段性目标明确问题和未知,获取证据并形成判断,再提出创作假设、安排 Agent 执行、生成候选产物,最后通过验收决定完成返回、继续拆分还是回退修改。</p>
- <div class="object-list">
- <div class="object-item">
- <div class="object-name"><span>01</span>当前 Task 的局部目标</div>
- <div class="object-body">
- <p>这个 Task 在当前阶段具体要做到什么。根节点的局部目标就是创作总目标;进入子 Task 后,它就是该 Task 需要完成的阶段性目标。</p>
- <p>例如,Run 454 中负责解决“隐性损失感知”的 Task,其局部目标大致是:</p>
- <blockquote><p>让读者从“犹豫比较安全”转变为“犹豫也在付出代价”。</p></blockquote>
- </div>
- </div>
- <div class="object-item">
- <div class="object-name"><span>02</span>需要解决的创作问题</div>
- <div class="object-body">
- <p>当前阻碍这个局部目标实现的具体问题。</p>
- <blockquote><p>怎么让抽象的“犹豫会带来隐性损失”,变成读者能够理解并真正感受到的东西?</p></blockquote>
- </div>
- </div>
- <div class="object-item">
- <div class="object-name"><span>03</span>需要去验证</div>
- <div class="object-body">
- <p>为了回答当前问题,现在还有什么不能确定?</p>
- <blockquote><p>用经典寓言还是日常生活场景,更容易让读者产生“犹豫也在付出代价”的感受?</p></blockquote>
- </div>
- </div>
- <div class="object-item">
- <div class="object-name"><span>04</span>获取证据并进行推理判断</div>
- <div class="object-body">
- <p>围绕未知查看账号过去的表达、相似内容、心理学资料和读者熟悉的生活场景,再判断这些证据意味着什么。</p>
- <blockquote><p>寓言容易建立概念和可信度,但距离现实较远;日常场景更有代入感,但单独使用可能缺少专业解释。两个方向需要组合。</p></blockquote>
- </div>
- </div>
- <div class="object-item">
- <div class="object-name"><span>05</span>创作假设</div>
- <div class="object-body">
- <p>对“这个问题可能怎么解决”的可验证猜想。</p>
- <blockquote><p>如果用“毛驴效应寓言+日常场景”解释犹豫,读者会比只看抽象概念更容易产生代入和紧迫感。</p></blockquote>
- <p>假设不是“写第二段”,也不是“调用一个 Agent”。它必须包含:<strong>为什么可能有效,以及什么情况说明它没效果。</strong></p>
- </div>
- </div>
- <div class="object-item execution-bridge">
- <div class="object-name"><span>06</span>执行安排</div>
- <div class="object-body">
- <p><strong>把创作假设变成 Agent 可以真正完成的具体工作。</strong>这不是新的业务层级,而是假设通向产物的执行桥梁。</p>
- <ul>
- <li><strong>拆具体工作:</strong>把假设拆成一项或多项可执行的创作、检索或校验工作。</li>
- <li><strong>提供工作上下文:</strong>告诉 Agent 局部目标、父节点结论、交付要求、验收标准,以及当前 Task 真正相关的证据和约束。</li>
- <li><strong>明确交付与验收:</strong>说清要交付什么产物、用什么标准验收,以及失败后返回哪里。</li>
- <li><strong>选择执行者:</strong>独立的事实检索和候选探索可以交给 Sub-Agent 并行;语气、脉络和上下文强相关的连续创作,交给保持完整上下文的主 Agent。</li>
- </ul>
- </div>
- </div>
- <div class="object-item">
- <div class="object-name"><span>07</span>候选产物</div>
- <div class="object-body">
- <p>Agent 根据执行安排真正交付的可观察结果,例如结构方案、段落、标题、脚本或证据卡片。在验收通过前,它们都只是候选。</p>
- <ul>
- <li>候选 1:只用毛驴寓言建立概念。</li>
- <li>候选 2:只用日常场景制造冲击。</li>
- <li>候选 3:先用寓言解释概念,再用日常场景制造冲击。</li>
- </ul>
- </div>
- </div>
- <div class="object-item">
- <div class="object-name"><span>08</span>验收与去向</div>
- <div class="object-body">
- <p>不是判断“有没有写完”,而是判断:</p>
- <blockquote><p>这个产物是否把假设真正落实出来?这个假设是否解决了问题?这个问题的解决是否推进了创作总目标?</p></blockquote>
- <p>普通 Task 先验收阶段性产物是否落实判断、解决局部问题;只有回到根节点,才进行完整作品的发布前验收。至于受众是否真的发生变化,还要在发布后用真实反馈继续验证。</p>
- <ul>
- <li><strong>通过:</strong>当前 Task 完成,把结果返回父节点。</li>
- <li><strong>问题太大:</strong>继续向下拆出新的子 Task。</li>
- <li><strong>未通过:</strong>退回真正出错的问题、假设、证据或候选产物。</li>
- </ul>
- </div>
- </div>
- </div>
- <h3 class="major-subheading">多个 Task 组合起来,形成可递归的创作业务树</h3>
- <p><strong>每个 Task 都有统一的任务外壳,但不会收到完全相同的上下文。</strong>局部目标、产生原因、父节点结论、交付要求、验收标准和返回位置必须明确;账号风格、场景约束、证据范围或全文内容,则只在当前 Task 真正需要时提供。</p>
- <div class="plain-table-wrap">
- <table>
- <thead>
- <tr><th>每个 Task 都必须有</th><th>根据当前 Task 按需提供</th></tr>
- </thead>
- <tbody>
- <tr>
- <td>局部目标、为什么产生这个 Task、父节点已有结论、交付要求、验收标准、完成后的返回位置。</td>
- <td>账号 Traits、场景约束、待验证说法、证据来源范围、历史内容、已有候选或完整脚本。</td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>“共同继承约束”不等于把所有资料都塞给每个 Agent。系统只提供当前 Task 需要的部分,但子 Task 不能违反父节点和创作总目标的硬约束。</p>
- <div class="diagram">
- <p class="diagram-title">Run 454:Task 1 怎样递归到 Task 1.1.1 / Task 1.1.2</p>
- <pre class="tree">创作总目标
- 让读者理解犹豫的损失,并开始行动
- │
- └─ Task 1:让隐性损失变得可感知
- 局部目标:让读者意识到“犹豫也在付出代价”
- │
- ├─ Task 1.1:建立清楚、可信的概念解释
- │ │
- │ ├─ Task 1.1.1:验证“毛驴效应”的事实边界
- │ │ ├─ 目标+上下文:待验证说法+证据标准+来源范围+交付要求
- │ │ ├─ 产出:证据卡片+可以怎样表述+不能怎样表述
- │ │ └─ 完成 → 返回 Task 1.1
- │ │
- │ ├─ Task 1.1 重新判断
- │ │ ├─ 证据和表达都已足够 → 返回 Task 1
- │ │ └─ 事实边界清楚,但不符合账号风格 → 动态生成 Task 1.1.2
- │ │
- │ └─ Task 1.1.2:改写成符合账号风格的表达
- │ ├─ 目标+上下文:Task 1.1.1 结论+账号 Traits+历史表达+验收标准
- │ ├─ 产出:经过事实和风格校验的概念段落
- │ └─ 完成 → 返回 Task 1.1 → 验收通过后返回 Task 1
- │
- ├─ Task 1 重新判断
- │ └─ 概念已经清楚,但读者还没有切身感受 → 动态生成 Task 1.2
- │
- ├─ Task 1.2:找到有代入感的生活场景
- │ │
- │ ├─ Task 1.2.1:探索跳槽、关系、创作等候选场景
- │ │ ├─ 目标+上下文:受众特征+场景边界+真实性要求+验收标准
- │ │ └─ 产出候选场景 → 返回 Task 1.2
- │ │
- │ └─ Task 1.2 重新判断
- │ ├─ 场景真实并符合账号表达 → 返回 Task 1
- │ └─ 场景过度煽情 → 动态生成 Task 1.2.2 做风格校验
- │
- └─ Task 1 最终判断
- ├─ 概念可信,生活场景也能产生冲击
- ├─ 主 Agent 统一写成连续段落
- └─ Task 1 验收通过 → 返回创作总目标</pre>
- </div>
- <p><strong>关键不是提前规划出 Task 1.1.2。</strong>Task 1.1.1 完成并返回以后,Task 1.1 发现“事实问题解决了,但风格问题还没解决”,才动态产生 Task 1.1.2。</p>
- <h3 class="major-subheading">完整系统怎样运转</h3>
- <p>把前面的两部分合起来:创作总目标不断识别缺口并产生 Task;每个 Task 运行自己的 single loop,必要时继续生成子 Task,完成后再逐层返回。</p>
- <div class="diagram">
- <p class="diagram-title">创作总目标、父子 Task 与 single loop 的嵌套关系</p>
- <pre class="tree">创作总目标
- │
- ├─ 发现 Task 1:让隐性损失变得可感知
- │ ├─ Task 1 运行自己的 single loop
- │ ├─ 必要时产生子 Task 1.1
- │ │ └─ Task 1.1 运行 single loop → 完成后返回 Task 1
- │ └─ Task 1 验收通过 → 返回创作总目标
- │
- ├─ 创作总目标重新判断
- │ └─ 发现新的缺口 → 动态生成 Task 2
- │
- └─ Task 2:把观点变成可执行行动
- └─ 运行 single loop → 完成后返回创作总目标
- 创作总目标验收
- ├─ 仍有缺口:生成新 Task,或返回已有 Task
- └─ 已经完成:系统收束</pre>
- </div>
- <blockquote>
- <p>创作总目标负责发现和选择 Task;每个 Task 运行同一套 single loop,必要时继续产生子 Task,完成后逐层返回,直到创作总目标验收通过。</p>
- </blockquote>
- </section>
- <section id="run">
- <p class="section-label">03 / Run 454:同一个案例,两种系统怎样处理</p>
- <h2>从“主 Agent 组织两轮创作”到“每个 Task 管理自己的判断”</h2>
- <p class="lead">第二版已经能让候选竞争、独立问题并行,并用评价推动下一轮。新系统不是推翻这些能力,而是把判断、验收和返回位置下放到每个 Task。</p>
- <p class="case-meta">
- <span>2 个大轮次</span><span>4 个分支</span><span>5 个段落</span><span>11 个元素</span><span>约 15 分钟</span><span>约 143 万输入 token</span>
- · <a href="https://pattern.aiddit.com/api/pattern/script_builds/454" target="_blank" rel="noreferrer">Run 454 真实数据</a>
- · <a href="https://pattern.aiddit.com/api/pattern/script_builds/454/log" target="_blank" rel="noreferrer">运行日志</a>
- </p>
- <div class="plain-table-wrap">
- <table class="case-compare">
- <thead>
- <tr>
- <th>老系统:主 Agent 组织两轮创作</th>
- <th>新系统:每个 Task 管理自己的判断</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><strong>输入总目标</strong>理解隐性损失,获得行动方法。</td>
- <td><strong>创作总目标成为根节点</strong>让读者意识到不行动也有损失,并能够马上行动。</td>
- </tr>
- <tr>
- <td><strong>主 Agent 决定第一轮方向</strong>Branch 1 用寓言切入,Branch 2 用日常场景切入。</td>
- <td><strong>创作总目标发现 Task 1</strong>怎样让“犹豫的隐性损失”变得可感知?</td>
- </tr>
- <tr>
- <td><strong>两个 Branch 直接生成候选</strong>一个强调专业可信,一个强调生活代入。</td>
- <td><strong>Task 1 先明确未知和创作假设</strong>寓言能否建立可信度?生活场景能否制造冲击?</td>
- </tr>
- <tr>
- <td><strong>主 Agent 选择 Branch 1</strong>同时保留 Branch 2 的“日常隐性损失”洞察。</td>
- <td><strong>两个创作假设分别形成与任务相关的目标+上下文</strong>交给 Sub-Agent 探索,再由 Task 1 比较、组合和验收。</td>
- </tr>
- <tr>
- <td><strong>主 Agent 决定第二轮分工</strong>Branch 3 负责“为什么会犹豫”,Branch 4 负责“如何行动”。</td>
- <td><strong>Task 1 通过验收后返回创作总目标</strong>总目标重新判断,此时才发现 Task 2:怎样转化成可执行行动?</td>
- </tr>
- <tr>
- <td><strong>Branch 3 和 Branch 4 分别创作段落</strong>两个分支最终合入完整内容。</td>
- <td><strong>Task 2 继续向下拆解</strong>方法查证可以并行;语气、脉络和节奏由主 Agent 保持完整上下文。</td>
- </tr>
- <tr>
- <td><strong>整体评价决定是否结束</strong>评价可以推动下一轮,但失败位置没有显式记录。</td>
- <td><strong>每个 Task 都分层验收</strong>失败时准确返回证据、创作假设、子问题或候选产物。</td>
- </tr>
- <tr>
- <td><strong>第五段没有真正写出金句</strong>产物只说“这里应该有一句金句”,但整体评价仍然通过。</td>
- <td><strong>候选产物 5 验收失败</strong>只退回结尾重写,不重查“毛驴效应”,也不重跑整篇流程。</td>
- </tr>
- </tbody>
- </table>
- </div>
- <blockquote>
- <p><strong>第二版</strong>是“主 Agent 聪明地组织多轮创作”;<strong>新系统</strong>是“整棵创作问题树都能管理自己的判断、执行、验收和返回”。</p>
- </blockquote>
- <div class="issue">
- <p><strong>Run 454 留下的两条真实提醒</strong></p>
- <p><strong>验收:</strong>第五段只描述“这里应该有一句金句”,却没有交付金句本身,最终仍然通过。</p>
- <p><strong>成本:</strong>5 个段落消耗约 143 万输入 token。多 Agent 应该用在高价值、可独立并行的探索上,不是默认用在每个节点。</p>
- </div>
- </section>
- <section id="recursion">
- <p class="section-label">04 / 递归、返回与验收</p>
- <h2>递归不是一直向下拆,而是每完成一步都重新判断下一步</h2>
- <div class="conversation">
- <div class="conversation-label">你最初的原话</div>
- <div class="conversation-body">
- <p><strong>每一步完成了都有三个方向:细化、向下、回退。</strong></p>
- <pre class="tree">1 → 1.1 → 1.1.1
- ↓
- 1.1.1 决定要不要 1.1.2
- ↓
- 如果 1.1.1 已完成
- ↓
- 回到 1.1
- ↓
- 由 1.1 决定:回到 1,还是去 1.2</pre>
- </div>
- </div>
- <p>这个判断抓住了递归的核心。后来我们只补清了两个容易混在一起的动作:<strong>子节点完成后回到父节点,是正常返回,不是失败回退;整棵树还必须有一个停止状态,也就是收束。</strong></p>
- <p>真正的“智能”发生在系统能够自主选择:</p>
- <ol>
- <li>现在真正阻碍创作总目标的是哪个问题?</li>
- <li>这个问题需要直接创作,还是继续向下拆?</li>
- <li>当前缺的是事实、案例、用户理解,还是创意方向?</li>
- <li>应该提出一个假设,还是同时保留多个候选?</li>
- <li>候选之间应该竞争、合作,还是按顺序完成?</li>
- <li>验收失败,是修改产物、补证据、换假设,还是重新定义问题?</li>
- <li>什么时候已经足够好,可以停止继续递归?</li>
- </ol>
- <p>因此,一个完整节点至少有五种去向:</p>
- <div class="moves">
- <div class="move"><b>继续细化</b><span>当前方向成立,但产物还不够好。</span></div>
- <div class="move"><b>向下递归</b><span>出现了必须单独解决的子问题或未知。</span></div>
- <div class="move"><b>正常返回</b><span>当前节点完成,把结论交回父节点。</span></div>
- <div class="move"><b>失败回退</b><span>新证据推翻了当前或上层判断,退回指定位置重做。</span></div>
- <div class="move"><b>收束</b><span>创作总目标验收通过,或继续投入已经没有足够价值。</span></div>
- </div>
- <h3>“回到父节点”和“回退”不能混为一谈</h3>
- <div class="conversation">
- <div class="conversation-label">正常返回</div>
- <div class="conversation-body">
- <pre class="tree">1.1.1 完成
- → 把结论返回给 1.1
- → 1.1 决定是否生成 1.1.2</pre>
- <p>这是一次正常的递归返回。子问题完成了,父问题拿到结果继续判断。</p>
- </div>
- </div>
- <div class="conversation">
- <div class="conversation-label">失败回退</div>
- <div class="conversation-body">
- <pre class="tree">1.1.1 发现:
- 1.1 的假设根本不成立
- → 使 1.1 失效
- → 回到 1.1 重新提出假设</pre>
- <p>这是回退。它意味着后面的工作不能继续沿用,需要修改前面的判断。</p>
- </div>
- </div>
- <h3>不同层的验收不能共用一把尺子</h3>
- <div class="plain-table-wrap">
- <table>
- <thead>
- <tr><th>验收层级</th><th>真正要回答的问题</th></tr>
- </thead>
- <tbody>
- <tr><td><strong>证据验收</strong></td><td>证据是否可靠,是否真的解决了未知?</td></tr>
- <tr><td><strong>假设验收</strong></td><td>证据是否支持这个创作判断?</td></tr>
- <tr><td><strong>产物验收</strong></td><td>这个产物是否真正把假设表达出来了?</td></tr>
- <tr><td><strong>问题验收</strong></td><td>原来的创作障碍是否已经被解决?</td></tr>
- <tr><td><strong>创作总目标验收(发布前)</strong></td><td>最终作品是否具备带来预期受众变化的条件?</td></tr>
- <tr><td><strong>真实效果验收(发布后)</strong></td><td>真实受众是否确实产生了预期的理解、感受或行动变化?这些结果是否需要反过来修正原来的判断?</td></tr>
- </tbody>
- </table>
- </div>
- <p>因此,不能因为“文案写得流畅”,就判断创作总目标完成;也不能因为“找到了一条资料”,就判断创作假设成立。</p>
- </section>
- <section id="research">
- <p class="section-label">05 / 参考观点</p>
- <h2>这些研究分别为新系统提供了哪些参考</h2>
- <p class="lead">我们先从真实业务和 Run 454 得出判断,再用这些研究检查问题递归、假设竞争、有限并行、验收回退和协作边界。</p>
- <ul class="references">
- <li><a href="https://arxiv.org/abs/2503.08275" target="_blank" rel="noreferrer">WriteHERE</a>:<span>提供“问题递归”。创作过程中动态发现局部问题,检索、思考和写作交织发生。</span></li>
- <li><a href="https://research.google/blog/accelerating-scientific-breakthroughs-with-an-ai-co-scientist/" target="_blank" rel="noreferrer">Google AI Co-Scientist</a>:<span>提供“假设进化”。生成多个假设,比较、淘汰、组合,再产生新一代假设。</span></li>
- <li><a href="https://www.anthropic.com/engineering/multi-agent-research-system" target="_blank" rel="noreferrer">Anthropic Multi-Agent Research</a>:<span>提供“有限并行”。只有相对独立的问题,才交给多个研究者并行探索。</span></li>
- <li><a href="https://www.anthropic.com/engineering/harness-design-long-running-apps" target="_blank" rel="noreferrer">Anthropic 长任务 Harness</a>:<span>提供“验收和改道”。创作者与评价者分开;失败后明确决定继续细化还是换方向。</span></li>
- <li><a href="https://research.google/blog/towards-a-science-of-scaling-agent-systems-when-and-why-agent-systems-work/" target="_blank" rel="noreferrer">Google Agent Scaling</a>:<span>提供“协作边界”。事实探索、案例寻找适合并行;连续写作、上下文强依赖任务应该保持一个主创作上下文。</span></li>
- </ul>
- <blockquote>
- <p>问题可以递归,假设可以竞争,证据可以并行获取,但连续创作不能随意切碎;每一层都必须验收,并知道失败后退到哪里。</p>
- </blockquote>
- </section>
- </main>
- <footer>
- <div class="page">脚本构建第三版 · 业务讨论稿 · Run 454 复盘</div>
- </footer>
- </body>
- </html>
|