Add Git4Data Part 14: Agent Traces — Logs Alone Won't Tell You Why (EN + ZH) - #68
Add Git4Data Part 14: Agent Traces — Logs Alone Won't Tell You Why (EN + ZH)#68dengn wants to merge 3 commits into
Conversation
…N + ZH) Deliberately the most restrained part in the series: a trace is an append-only log, so it neither needs nor suits row-level diff and merge — and the article says so explicitly (there is not a single DATA BRANCH MERGE in it). What needs versioning is what the trace DEPENDED on. Two gaps it closes: a v1-vs-v2 comparison is only valid if the eval set is frozen; and a trace can never explain WHY unless each run records the memory version it read, because that memory keeps changing (Part 13's subject). Content: a v1 -> v2 regression walked from headline to root cause in three SQL statements, then a fourth that time-travels to reconstruct what the run knew; plus an explicit does/doesn't-do boundary table. Verified on MatrixOne 4.1.0, deterministic: 4,000 runs / 16,000 steps; v1 ok 97.5% vs v2 ok 72.5%; 500 regressed inputs, all in 'technical'; search_kb failures 2.5% -> 27.5%; replay reads plan_tier=basic at mem_r1. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Fourth correction on this point, applied systematically across Parts 11-15: wherever Git4Data was the grammatical subject of a product-like action (guarantees / doesn't do / we took X to), it now names MatrixOne or says 'the Git4Data capability' explicitly. Figures updated too. Part 11 additionally drops the invented 'receipt' metaphor for the standard industry term: the title becomes 'Auditable and Reproducible', and 收据 -> 审计记录 / receipt -> audit record throughout (prose, table header, figure, frontmatter). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…try -> MatrixOne -> where it fits Trace isn't a term everyone shares, so the article now builds the background before the SQL: 1. what a trace is — distributed-tracing origins, metric/log/trace, what an agent trace looks like as a tree, the OpenTelemetry GenAI semantic conventions (operation names, gen_ai.* attributes, still Development), and the three ways an agent trace differs from a microservice trace 2. why traces matter for agents — debuggability, cost/latency attribution to spans, failures landing on a step, version comparison, evidence behind an eval 3. how the industry does it — hand-rolled logs, APM extensions, Langfuse/LangSmith/Phoenix/Braintrust/Weave, OTel — and the gap they share: none record what the world looked like to the agent 4. what production tracing requires (7 items; 4-6 are versioning, 7 is colocation) 5. what MatrixOne adds, with the append-only boundary stated up front 6. the v1->v2 regression hunt (SQL and numbers unchanged) 7. where it fits and where it doesn't Adds a trace-anatomy figure (ZH + EN) contrasting five log lines with the same run as a tree, and retitles to 'From Observable to Explainable'. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Fact-check findings(按文章声明使用 MatrixOne v4.1.0 检查):
其余 OTel GenAI semantic-conventions、Dapper/OpenTelemetry 及文中列举的产品能力,我已对照各自官方资料核过;上述是需要改正文或 SQL 的 findings。 |
What
Adds Part 14 — Agent Traces: Logs Alone Won't Tell You Why (EN + ZH).
Deliberately the most restrained part in the series. A trace is an append-only log, so it neither needs nor suits row-level diff and merge — and the article says so outright. There is not a single
DATA BRANCH MERGEin it, and that's the point. What needs versioning is what the trace depended on.Two gaps it closes:
Content
Verification
On MatrixOne 4.1.0, fully deterministic (
14-agent-trace/): 4,000 runs / 16,000 steps; v1 ok 97.5% vs v2 ok 72.5%; 500 regressed inputs, all intechnical;search_kbfailures 2.5% → 27.5%; replay readsplan_tier=basicatmem_r1.pnpm validate→ 385/385 ok.🤖 Generated with Claude Code