Harness engineering and agent feedback: Exploring AI coding sensors

· Source: Thoughtworks Insights · Field: Technology & Digital — Software Development & Engineering, Artificial Intelligence & Machine Learning · Depth: Intermediate, extended

Summary

Published on May 13, 2026, this analysis explores harness engineering for AI coding agents, emphasizing the critical role of "sensors" as a feedback mechanism. Harness engineering involves supporting coding agents to perform tasks effectively. While feed-forward mechanisms like skills and guardrails provide initial instructions, sensors offer computational feedback through deterministic tools such as linters, test runners, and static analysis. An experiment on a TypeScript data dashboard demonstrated that equipping a coding agent with sensors, including ESLint, Semgrep, Dependency Cruiser, and test quality reports, significantly improved code quality and increased test coverage over time. Sensors help maintain coding standards, manage warnings, and enable agents to self-correct without immediate human intervention, thereby reducing the review burden on developers. The concept also envisions future "harness templates" pre-configured with ideal guides and sensors for specific application types.

Key takeaway

For AI Engineers building agent-assisted development workflows, integrating computational sensors is crucial. You should move beyond relying solely on natural language prompts by implementing deterministic feedback mechanisms like linters, static analysis, and test quality checks. This approach enables agents to self-correct, significantly reducing your review burden and ensuring consistent code quality. Consider developing harness templates to standardize sensor configurations across projects, accelerating adoption and maintaining high standards.

Key insights

Computational sensors provide deterministic feedback, enabling AI coding agents to self-correct and improve code quality autonomously.

Principles

Method

An experiment involved running a coding agent on a TypeScript data dashboard with and without a sensor suite. Sensors included static analysis (ESLint, Semgrep), structural checks (Dependency Cruiser), and test quality (coverage, mutation testing) to provide feedback for self-correction.

In practice

Topics

Best for: AI Engineer, Machine Learning Engineer, MLOps Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by Thoughtworks Insights.