Files
dsh_ai1net_server/归档/试验与样例/积分图发布物/index.html
T
admin c1b5e4d966 chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
2026-10-10 23:13:22 +08:00

191 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
<title>注意这个问题立省 50% token</title>
<style>
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{margin:0;padding:26px 14px 34px;background:#f4f5f7;color:#0b1220;
font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;
-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
.wrap{max-width:920px;margin:0 auto}
.card{background:#fff;border:1px solid #e6e9ee;border-radius:18px;padding:24px 26px;margin-bottom:14px;
box-shadow:0 1px 2px rgba(11,18,32,.04),0 10px 28px -14px rgba(11,18,32,.13)}
h1{font-size:33px;line-height:1.25;margin:0;letter-spacing:-.9px;font-weight:800;word-break:break-word}
h1 em{font-style:normal;color:#c02626}
/* ── 流程图示(纯 HTML,随屏宽自动重排) ───────────────── */
.flow{width:100%}
.frow{display:flex;gap:12px;align-items:stretch}
.fbox{flex:1 1 0;min-width:0;background:#f8fafc;border:1.5px solid #dbe1e8;border-radius:14px;padding:14px 16px}
.fbox.hl{background:#fff9f9;border-color:#fecaca}
.far{flex:0 0 auto;display:flex;align-items:center;font-size:24px;font-weight:800;color:#c02626}
.fcap{font-size:12.5px;font-weight:800;color:#6b7688;margin-bottom:7px}
.ftxt{font-size:16px;font-weight:800;line-height:1.5;color:#0b1220}
.ftxt b{color:#c02626;font-size:20px}
.fsub{font-size:12.5px;font-weight:700;color:#6b7688;margin-top:6px;line-height:1.5}
.fdown{text-align:center;font-size:26px;line-height:1;color:#c02626;font-weight:800;margin:11px 0}
.fcap2{font-size:14px;font-weight:800;color:#0b1220;margin:15px 0 9px;line-height:1.55}
.tank{height:52px;border-radius:13px;background:#f6f7f9;border:1.5px solid #e6e9ee;padding:2px}
.fill{height:100%;width:45%;border-radius:11px;background:linear-gradient(90deg,#e05a5a,#a81c1c)}
.big{font-size:32px;font-weight:800;color:#c02626;letter-spacing:-1.4px;margin-top:10px;line-height:1.2}
.big span{font-size:13px;color:#6b7688;letter-spacing:0;font-weight:700;margin-left:8px}
.comp{display:flex;height:30px;border-radius:8px;overflow:hidden}
.comp i{display:block;height:100%}
.concl{margin-top:16px;background:#fef2f2;border:1.5px solid #fecaca;border-radius:10px;
padding:12px 15px;font-size:14.5px;font-weight:800;color:#c02626;line-height:1.6}
.lg{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}
.lg span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#4b5563;
background:#f8fafc;border:1px solid #e8ecf1;border-radius:999px;padding:6px 13px}
.lg i{width:11px;height:11px;border-radius:3px;flex:0 0 auto}
/* ── 轮次条 ─────────────────────────────────────────── */
.row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px dashed #eef1f4}
.row:last-of-type{border-bottom:0}
.row.hot{background:#fffafa;border-radius:10px;margin:2px -8px;padding:13px 8px}
.lab{flex:0 0 118px;line-height:1.35}
.lab b{font-size:15.5px;font-weight:800;display:block}
.lab i{font-style:normal;font-size:12.5px;color:#6b7688;font-weight:700}
.bar{flex:1 1 auto;min-width:0;height:34px;border-radius:9px;overflow:hidden;display:flex;
background:#f6f7f9;border:1px solid #eef1f4}
.inh{background:linear-gradient(180deg,#d94f4f,#b91c1c);display:block}
.add{background:linear-gradient(180deg,#f5a95c,#e07a24);display:block}
.val{flex:0 0 62px;text-align:right;font-size:17px;font-weight:800;color:#b91c1c;font-variant-numeric:tabular-nums}
.note{flex:0 0 auto;font-size:12.5px;font-weight:800;color:#c02626;background:#fef2f2;
border:1px solid #fecaca;border-radius:999px;padding:4px 10px;white-space:nowrap}
.key{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:13.5px;color:#4b5563;font-weight:700}
.key i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.k1 i{background:#c02626}.k2 i{background:#e8892f}
.tot{margin-top:14px;padding:12px 16px;border-radius:12px;background:#ecfdf5;border-left:4px solid #0a7a4f;
font-size:15px;font-weight:800;color:#0a7a4f;line-height:1.65}
.tot s{text-decoration:none;color:#c02626}
/* ── 问题 / 方案卡 ──────────────────────────────────── */
.mp{background:#fef2f2;border:1.5px solid #fecaca;border-radius:14px;padding:18px 20px}
.mpt{font-size:12.5px;font-weight:800;color:#c02626;letter-spacing:1.2px;margin-bottom:9px}
.mpb{font-size:17px;font-weight:800;line-height:1.7;color:#0b1220}
.mpb b{color:#c02626}
.so{background:#ecfdf5;border:1.5px solid #bbf7d0;border-radius:14px;padding:18px 20px}
.sot{font-size:12.5px;font-weight:800;color:#0a7a4f;letter-spacing:1.2px;margin-bottom:9px}
.sob{font-size:20px;font-weight:800;line-height:1.5;color:#0b1220}
.sob b{color:#0a7a4f}
.sof{display:flex;align-items:center;gap:11px;margin-top:14px;flex-wrap:wrap}
.sof .n{background:#fff;border:1px solid #bbf7d0;border-radius:11px;padding:10px 15px;
font-size:15px;font-weight:800;color:#0a7a4f}
.sof .n s{text-decoration:none;color:#c02626}
.sof .ar{font-size:20px;font-weight:800;color:#0a7a4f}
.sos{font-size:13.5px;font-weight:700;color:#4b5563;margin-top:12px;line-height:1.65}
/* ── 手机端:全部改为竖排,禁止横向撑破 ───────────────── */
@media (max-width:600px){
body{padding:16px 10px 26px}
.card{padding:17px 15px;border-radius:14px}
h1{font-size:23px;letter-spacing:-.4px}
.frow{flex-direction:column;gap:0}
.fbox{flex:0 0 auto}
.far{transform:rotate(90deg);justify-content:center;margin:8px 0;line-height:1}
.ftxt{font-size:15px}
.ftxt b{font-size:18px}
.fcap2{margin:13px 0 8px;font-size:13.5px}
.tank{height:44px}
.big{font-size:26px}
.big span{display:block;margin:5px 0 0}
.comp{height:24px}
.concl{font-size:13.5px;padding:11px 13px}
.lg{gap:7px}
.lg span{font-size:12px;padding:5px 10px}
.row{flex-wrap:wrap;gap:6px 10px;padding:9px 0}
.lab{flex:1 1 100%}
.lab b{display:inline;font-size:14.5px}
.lab i{margin-left:8px}
.bar{flex:1 1 62%;order:2;height:26px}
.val{flex:0 0 auto;order:3;text-align:left;font-size:15px}
.note{order:4;font-size:11.5px;padding:3px 9px}
.key{gap:10px;font-size:12.5px}
.tot{font-size:13.5px;padding:11px 13px}
.mpb{font-size:15.5px}
.sob{font-size:17px}
.sof .n{font-size:13.5px;padding:8px 12px}
.sos{font-size:13px}
}
</style></head><body><div class="wrap">
<div class="card">
<h1>注意这个问题立省 <em>50% token</em></h1>
</div>
<div class="card">
<div class="flow">
<div class="frow">
<div class="fbox">
<div class="fcap">第 1 轮 · 我问了什么</div>
<div class="ftxt">「代码注释里还有 96 处遗留备注,全清掉」</div>
</div>
<div class="far">→</div>
<div class="fbox hl">
<div class="fcap">模型干了什么</div>
<div class="ftxt">展开了 <b>101</b> 次工具调用</div>
<div class="fsub">142 次文件编辑 · 179 次命令</div>
</div>
</div>
<div class="fdown">↓</div>
<div class="fcap2">上下文 = 101 次调用的「入参 + 输出」原文</div>
<div class="tank"><div class="fill"></div></div>
<div class="big">27 万 <span>token(占最终 59 万的 45%)</span></div>
<div class="fcap2">这 27 万里面装的是什么</div>
<div class="comp">
<i style="width:75.3%;background:#a81c1c"></i>
<i style="width:19.0%;background:#d97706"></i>
<i style="width:4.5%;background:#2563eb"></i>
<i style="width:1.3%;background:#0a7a4f"></i>
</div>
<div class="lg">
<span><i style="background:#a81c1c"></i>工具输出(命令回显 / 文件内容 / 搜索结果)75%</span>
<span><i style="background:#d97706"></i>工具入参 19%</span>
<span><i style="background:#2563eb"></i>我的提问(含系统注入)4.5%</span>
<span><i style="background:#0a7a4f"></i>AI 回复 1.3%</span>
</div>
<div class="concl">从此永久留在历史里 —— 之后每一轮、每一次请求,都要把它整份重发一遍</div>
</div>
</div>
<div class="card">
<div class="row"><div class="lab"><b>第 1 轮</b><i>101 次调用</i></div><div class="bar"><span class="inh" style="width:0.0%"></span><span class="add" style="width:65.4%"></span></div><div class="val">27 万</div></div>
<div class="row"><div class="lab"><b>第 2 轮</b><i>26 次调用</i></div><div class="bar"><span class="inh" style="width:65.4%"></span><span class="add" style="width:22.3%"></span></div><div class="val">36 万</div></div>
<div class="row"><div class="lab"><b>第 3 轮</b><i>24 次调用</i></div><div class="bar"><span class="inh" style="width:87.6%"></span><span class="add" style="width:6.6%"></span></div><div class="val">39 万</div></div>
<div class="row hot"><div class="lab"><b>第 4 轮</b><i>10 次调用</i></div><div class="bar"><span class="inh" style="width:94.2%"></span><span class="add" style="width:5.8%"></span></div><div class="val">41 万</div><div class="note">AI 只回 620 字</div></div>
<div class="key"><span class="k1"><i></i>从前面继承的(每轮全量重发)</span>
<span class="k2"><i></i>本轮新增</span></div>
<div class="tot">共 29 轮 → 末尾 59 万 | 累计输入 1.93 亿 | 其中工具痕迹 93%<br>
<span style="display:block;margin-top:6px;font-size:.94em">但最贵的<b>不是</b>第 1 轮(它只占 <s>5.6%</s>)—— 是<span style="color:#c02626">水位已经很高、还跑了 50+ 次请求</span>的那两轮,合计 <s>40%</s></span></div>
</div>
<div class="card">
<div class="mp">
<div class="mpt">主 要 问 题</div>
<div class="mpb">一句话,被展开成<b>上百次工具调用</b>;<br>
而这些调用背后的<b>每一次模型请求</b>,都要把全部历史原文重发一遍。<br>
⇒ 成本 = 请求次数 × 当时的上下文体积,<b>越往后越贵</b>。</div>
</div>
</div>
<div class="card">
<div class="so">
<div class="sot">解 决 方 案</div>
<div class="sob">让 AI <b>写脚本</b>处理</div>
<div class="sof">
<span class="n"><s>101 次工具调用</s></span>
<span class="ar">➜</span>
<span class="n">1 个脚本,一次跑完</span>
</div>
<div class="sos">96 处同类改动合成一个脚本 —— 少一次调用,就少背一遍全部历史。</div>
</div>
</div>
</div></body></html>