ed-w.com · contributions · open source · research · mail
I build stream systems moving 1e9+ events/day at Bloomberg by day, and measure how AI agents fail by night — deterministic, annotation-free health checks(体检) for the agentic era. My rule for both jobs is the same: if a claim can't be checked by an oracle, it's a vibe, not a guarantee.
I contribute code back across five layers of the AI stack — to projects at Apache · Google · NVIDIA · LinkedIn · Alibaba · IBM Research · Databricks · LangChain · Uber · UK AI Security Institute. Pick a project to see the actual work, or see it all at once →
| area | projects |
|---|---|
| Agent infrastructure Getting agents onto production-grade systems — streaming runtimes, agent protocols, durable workflows. |
apache/flink-agents long-term contributor · apache/flink-connector-kafka · dapr/dapr-agents · a2aproject/a2a-java · langchain-ai/openwiki |
| Training & inference How models get trained and served — training kernels, fine-tuning frameworks, inference engines, multimodal and RL. |
linkedin/Liger-Kernel · modelscope/ms-swift Alibaba · google/gemma.cpp · QwenLM/Qwen-MM-Plugins Alibaba · 0xShug0/audio.cpp · mujocolab/mjlab |
| Evaluation, safety & observability Deciding whether an agent is ready to ship — eval frameworks, security scanning, tracing and semantic conventions. |
UKGovernmentBEIS/inspect_ai UK AISI · mlflow/mlflow Databricks · NVIDIA/SkillSpector · modelscope/evalscope Alibaba · uber/ADR |
| Interpretability Looking inside the model — mechanistic interpretability, sparse autoencoders, circuit tracing. |
TransformerLensOrg/TransformerLens · decoderesearch/SAELens · decoderesearch/circuit-tracer · ndif-team/nnsight |
| Data for AI The data models are fed — document parsing, feature stores, multimodal lakehouse formats, semantic search. |
docling-project/docling IBM · feast-dev/feast · lance-format/lance · neuml/txtai |
Benchmarks where a program, not a judge, decides right from wrong.
NeurIPS 2026 — two co-authored papers on jailbreaks and content-safety guards · arXiv ↗ · arXiv ↗
- Jailbreaks & content guards — Why encoded jailbreaks slip past guards; whether a guard fails to understand or fails to enforce — and how to close the gap without taxing utility.
- Reliability of tool-using agents — Do agents double-charge under ambiguous failures, drop pages when aggregating, ignore backoff contracts? Decided by deterministic oracles, not judges.
- LLM judges & evaluation methodology — The systematic biases of LLM-as-judge — serial-position bias among them — and when an evaluation’s conclusion can actually be trusted.
- Software supply chain × LLM reasoning — Version constraints, vulnerability-identifier applicability, CVSS scoring, vulnerability triage — how reliable models are on security tasks that have a ground truth.
- Streaming semantics × LLM — Can models reason about event-time stream-processing semantics, and can agents repair streaming SQL from execution feedback? A mirror image of my day job.
| repo | what it is | |
|---|---|---|
| ● | tracelake | the open trace lakehouse for AI agents — OpenTelemetry GenAI traces in, Apache Iceberg tables out, deterministic checks in-stream |
| ● | RetryLedger | exactly-once compliance of tool-using agents under ambiguous failures — code + all 576 episodes |
| ● | CompletenessCliff | paginated-aggregation collapse: accuracy hits 0 while the agent still claims it read every page — code + data |
$ tail -f /var/log/edson/offcourt.log
[courts] tennis · badminton — the original adversarial evaluation
[hawk ] phone video of my rallies → ball tracks → flame trails (ed-w.com/tennis)
[winter] skiing
[iron ] barbell, compound lifts onlybanner compiled by tools/gen_hero.py · typeface: JetBrains Mono (OFL) · even this README has a build step


