合成分析师笔记的对抗性设计claude-quickstarts 知识维基如何捕获不可比 EBITDA 口径与来源可信度【免费下载链接】claude-quickstartsA collection of projects designed to help developers quickly get started with building deployable applications using the Claude API项目地址: https://gitcode.com/GitHub_Trending/an/claude-quickstarts本篇技术指南聚焦claude-quickstarts仓库中 managed-agents/knowledge-wiki 子项目的一份核心演示素材——example_data/analyst_note_synthetic.md一份明确标注为合成synthetic的 MA 分析师闪讯flash note。它以 Squarespace 被 Permira 私有化这一真实交易为背景故意构造了同一指标、不同口径的 EBITDA 数字冲突与非主要申报来源的可信度问题。读完本文你将掌握这份合成文档的完整内容与对抗性设计意图、它在知识维基管线中从 Word 归一化到冲突捕获escalation的完整旅程、以及如何在真实数据室中复现并泛化这套廉价且正确的 agentic 检索方案。一份合成分析师笔记的完整解剖先看原文。文件开头第一行就是醒目的声明# [SYNTHETIC DOCUMENT — created for this demo, not a real research note]这份文档是 demo 专用的合成文件并非真实研究报告。其正文标题为 Example Capital Research — Flash Note (demo)副标题是Squarespace (SQSP) — Permiras $44 looks like an opening bid, not a closing one落款日期May 14, 2024。它模拟的是真实交易时间线中的一份第三方分析师快评包含两组核心信息1. 交易条款与内幕信号Permira 以$44.00/股 全现金要约收购 SQSP对应约$6.9B 企业价值enterprise value创始人Anthony Casalena、以及General Atlantic 与 Accel选择**滚转股权rolling equity**而非套现——笔记将其解读为内部人认为价值高于要约价的信号由于过去 12 个月内股价曾交易在 $44 之上笔记认为交割前不排除提价sweetened price。2. 盈利数据的双口径冲突本文的核心技术焦点指标口径FY2023 数值Adjusted EBITDA公司 non-GAAP公司报告值$235.4MConsolidated EBITDACredit Agreement 定义分析师估算~$252M笔记明确说明Credit Agreement 口径允许超出公司自身 non-GAAP 指标的加回项transaction costs、changes in deferred revenue、以及其他管理层视为非经常性的项目因此$252M 与 $235.4M 两个数字不可直接比较两者都不可与无杠杆自由现金流unlevered free cash flow直接比较——而后者恰是公司顾问强调的指标。笔记最后给出给投资者的实操警告在引用任何倍数之前先核实使用的是哪个 EBITDA 口径。这一组数字并非随意编写它们是整个知识维基 demo 中跨文档事实冲突的核心载体对应仓库 README 中所说的one of them deliberately conflicts with the filings, so you can watch the wiki catch itREADME.md。为什么要合成对抗性测试数据的设计哲学在 README.md 中项目明确解释了数据室的构成42 份跨越 11 个月的真实 SEC 申报从交易宣布到交割完成全部按 accession number 从 SEC EDGAR 实时抓取不在此仓库中重分发另有两份在自身文本中明确标记为合成的小文件用来模拟真实交易室deal room会增加的内部文档——分析师笔记就是其中之一。这个数据室被刻意设计为最大程度对抗性maximally adversarial以覆盖 agent 检索最常见的失败模式一个在过程中变化的价格——$44.00 的要约价后来被 9 月的重新定价repricing取代构成时间性取代supersession问题外观相似的壳公司实体——data_provider_extract.csv 中与分析师笔记配套的合成供应商数据包含名称风格像 EDGAR 公司索引的 SQUARESPACE INC、Reuters 风格带后缀的 Squarespace, Inc.SQSP.N、无财务数据的壳实体 Spaceship Purchaser, Inc.、真实但不相关的支付公司 Block, Inc. (fka Square, Inc.)以及虚构公司 Squarespace Technologies Ltd——全部用于考验实体消解entity resolution只存在于图表中的数字——董事会 deck 中只有图没有文本层的数字数字只存在于图表中、以及同名义不同基的指标——即本笔记的双口径 EBITDA。生成脚本 make_analyst_docx.py 的 docstring 写明了设计意图第 4-7 行The note is synthetic and clearly marked as such. It quotes adjusted EBITDA on the Credit Agreement basis, which is deliberately non-comparable to the figure the company reports itself.The wiki must record both numbers with the basis each one is measured on.注意最后一句——笔记的使命是检验知识维基是否会把**每一个数字连同其计量口径basis**一起记录下来。脚本还向 Word 文档中写入了一张三列表格Metric / Basis / FY2023 value把两个 EBITDA 数字的数值—口径配对显式呈现供归一化阶段转换为 Markdown 管道表。笔记在数据室中的归一化旅程数据室data room不是纯文本。知识维基管线的第 2 步要求把每一种文件类型归一化为带溯源provenance的纯文本且对不支持的格式要大声失败——一个静默跳过某格式的加载器会让维基看起来完整而实际缺失。Word 文档解析而非栅格化.docx本质是 XML 的 zip 包notebook 中的normalize_docxdistill_documents_into_knowledge_wiki.ipynb直接用python-docx读取段落与表格Heading 1 段落前缀#表格转成 Markdown 管道表。归一化后的文本被写入data_room/docs/analyst_note.txt并加上与其他申报一致的溯源头[SOURCE: synthetic demo document (marked) | analyst flash note | as-of: 2024-05-14]这一步与 fetch_data_room.py 为 EDGAR 申报写入的[SOURCE: SEC EDGAR | form: ... | filed: ... | accession: ... | url: ...]头第 108-112 行保持同一格式约定——合成文档在语料中被明确标注为合成而非伪装成申报文件。这正是数据室来源可信度分层的关键wiki 和查询代理都能区分主要申报与第三方合成材料。从格式分派看扩展方式notebook 中的normalize_any展示了针对数据室的多格式入口第 364 行起.txt/.md直接读取、.docx走python-docx、.pdf走原生 PDF 文档块Claude 同时看到文本层与渲染页面图像因此图表也能读出数值、.xlsx用openpyxl、.pptx用python-pptx、.eml用标准库email。设计原则是为每种格式显式分派扩展而非过滤避免静默丢文档。冲突如何被知识维基捕获源码实证提取规则禁止合并不同口径的数字提取阶段的 system prompt 明确包含规则notebook 第 530 行附近NEVER merge figures computed on different bases (e.g. two EBITDA…)——绝不合并在不同基上计算的数字。这条规则直接回应了分析师笔记埋下的陷阱两个 EBITDA 数字必须作为两条事实分别记录各自携带口径与来源。Dream 整合写入排名的 escalations 文件在 dream服务端整合通道阶段冲突被识别并写入escalations.md。notebook 中已提交的运行输出显示第 1549-1566 行The dream wrote the mismatch intoescalations.mdas items#6 and #7— the metric-basis conflict, and the fact that the ~$252M traces to a document marked synthetic rather than to a primary filing.即#6是口径冲突本身中优先级#7是**~$252M 的溯源问题**——它来自一份被标记为合成的文档且从未与真实的信用协议文本核对过。查询验证只读、带溯源、明确 miss 行为查询阶段用一个全新的只读会话提问Ive seen more than one FY2023 adjusted EBITDA figure in this room. Reconcile them - are they comparable?notebook 第 1501-1528 行。wiki 的回答结构如下结论先行两个 FY2023 EBITDA 数字不可比——是不同定义不是重述restatement表格呈现$235.4M 公司报告的 non-GAAP Adjusted EBITDA并与 Centerview deck 的 2023A 行互相印证给出跨来源佐证~$252M 分析师基于 Credit Agreement 口径的估算溯源每个事实携带[source: meridian-flash-note-2024-05-14 | as-of: 2024-05-14]与[source: centerview-sc13e3-exhibit-c-ii-2024-05-12]miss 行为明确指出要完全验证 ~$252M 需要数据室中尚未摄入的真实信用协议文本wiki 中留下未确认的[[redlink: company-credit-agreement-2020-12-11]]并推荐把 $235.4M 视为可靠的公司报告值、把 ~$252M 视为待确认的估算。这就是廉价且正确的 agentic 检索分析师不再重新通读原始文档而是直接消费已整合、已消解、已排序、每一条事实都带溯源的维基并明确知道自己不知道什么。知识维基管线全景六个步骤围绕这份合成笔记所属的完整管线README.md 的 How it works 给出了六步主流程notebook 逐节展开组装语料Assemble your corpus收集代理会反复查询的文档集。本 demo 用 build_manifest.py 查询 SquarespaceCIK 0001496963的 EDGAR 提交索引按表单类型与时间窗口生成quickstart / mini / standard / full四级 manifest8 / 26 / 37 / 42 份文档。归一化为带溯源的文本PDF、Word、表格、邮件、幻灯片全部路由到纯文本带[SOURCE: ...]头不支持的格式大声失败。并行提取进共享记忆存储即维基语料分批每批一个并发 agent 会话把结构化笔记写入 memory storenote schema 放在 store 的附件指令上每个源文档拥有独立的单写者路径并发会话互不覆盖。整合前先解决未决问题用一遍 resolve pass 交叉阅读 wiki关闭提取遗留的开放问题真正缺失的标记为确认不可解而非猜测。一次受控 dream 完成整合dream 读取构建会话的 transcripts 与 store写出去重后的实体、把探索式读取变成一次查询的索引、排名的 escalations 文件、修复的链接。它从不接触原始语料——wiki 中为真的一切都是在提取阶段赢得的。分析师笔记的双口径冲突正是这一步被写入 escalations #6/#7。每个问题一个全新的只读查询会话只读附加整合后的 store要求每条事实带溯源miss 行为写成脚本数据室中没有该文档——指明需要哪份文档绝不猜测。在这六步之上还有第 7 步运营期重梦operate积累足够的真实查询后把工作 transcripts 连同 wiki 一起再 dream 一次让维基围绕人们实际问什么重组以及未随包发布的第 8 步评估与调优用固定 rubric 打分依据失败原因迭代 prompt 文件。复现与运行指南前置条件两个能力必须在组织上启用CLAUDE.md、skill.mdManaged Agents——记忆存储与 agent 会话Dreaming——gated research preview未启用时POST /v1/dreams返回 404notebook 会在第 5 步停下但此前所有步骤仍可运行。Dreaming 不在公共 PyPI 的anthropic包中需按 preview onboarding 安装专用 SDK 构建用python3 -c import anthropic; print(hasattr(anthropic.Anthropic().beta, dreams))验证打印False则只能跑到整合前。模型默认全链路claude-sonnet-5可通过COOKBOOK_MODEL / COOKBOOK_BUILD_MODEL / COOKBOOK_DREAM_MODEL / COOKBOOK_QUERY_MODEL环境变量拆分dream 可尝试claude-opus-5做 A/Bdreaming API 仅接受 sonnet/opus 级模型。命令序列最快路径是让 Claude 驱动配置cd managed-agents/knowledge-wiki后claude walk me through setting up the knowledge-wiki quickstart或手动执行pip install -r requirements.txt export EDGAR_USER_AGENTyour-name your-email # SEC 政策要求描述性 User-Agent python3 build_manifest.py python3 fetch_data_room.py --tiermini # 26 份文档~0.5 MB 文本 python3 fetch_real_deck.py # 6 页真实董事会 deck~1 MB python3 make_analyst_docx.py # 生成标记为合成的分析师笔记 Word 版 jupyter lab distill_documents_into_knowledge_wiki.ipynb认证走标准 Anthropic 凭据链无参数构造Anthropic()会依次解析 API key、ant auth loginprofile 或 Workload Identity Federation。注意两个坑skill.md不要同时设置ANTHROPIC_API_KEY与 profile过期的 key 会静默遮蔽 profilekey 与ANTHROPIC_AUTH_TOKEN并存会让 SDK 同时发送两个 header 而被 API 拒绝。成本与层级预期以下数据来自仓库已提交运行的记录均为数量级估计会随模型选择、语料与当期定价变动tier文档数墙钟时间约成本适用场景quickstart8~40 分钟~$25首次体验mini默认26~1 小时~$35完整演练standard37数小时数十美元研究级复现full42数小时以上更多完整复刻notebook 保存的全部输出均来自mini层级。经济性上全规模测试中对维基的查询比直接检索原始文档便宜约 5 倍wiki 查询约 $0.16 vs 原始文档约 $0.62见 README.md 与 notebook 前置条件节构建成本会在数百个问题内摊平——注意这些数字是方向性参考应在自己的语料上复测。从 demo 到你的数据室这份合成笔记演示的是一套可迁移的模式任何慢变化、被反复查询的语料都适用——MA 尽职调查本 demo、法律发现discovery、产品文档支持。迁移时只需替换语料与 schema 词汇六步管线不变。两个最值得带走的实操教训先清点格式再构建。仓库在归一化小节中记录了一次真实事故某任务的评分规格放在首个加载器跳过的.eml文件中导致下游所有分数受损且无任何报错。用normalize_any式的显式分派 大声失败是防止维基看似完整实则残缺的第一道防线。口径与来源是事实的一部分。分析师笔记的双 EBITDA 案例证明最危险的事实错误不在单个文档内部而藏在文档之间的接缝里——同名不同基的指标、中途变化的价格、标记为合成却混入语料的第三方材料。让提取规则显式禁止合并不同口径的数字、让每条事实携带 basis 与[source: ...]溯源、让 dream 把无法当场验证的冲突写入排名的 escalations 文件是这套方案正确性的落地机制。如果希望进一步系统化构建一次维基之后按固定 rubric 用评估器给每份交付物打分再依据失败原因迭代提取规则、store schema、分析师指令与 dream steering直到分数稳定——这是 README.md 明确标注为未随包提供的自然下一步也是把本 cookbook 从 demo 推向生产的关键闭环。【免费下载链接】claude-quickstartsA collection of projects designed to help developers quickly get started with building deployable applications using the Claude API项目地址: https://gitcode.com/GitHub_Trending/an/claude-quickstarts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考