Software Engineering Research in the Agent Era: Complexity, Knowledge, and Harness Engineering
The article explores how software engineering research is shifting from human-centered to agent-centered development (Harness Engineering), identifying key research questions around software complexity characterization, machine-readable knowledge representation, agent team collaboration, and adapting traditional SE theories, while advising against investing in generic agent frameworks already dominated by large companies.
The piece opens with a quote from Demis Hassabis: intelligence ultimately reduces to pattern recognition in massive noisy data, and intuition is an algorithm science can uncover.
Shift in Research Focus
A referenced article notes that software engineering research is moving from a human-centric core — how to develop and maintain software efficiently — to an agent-centric paradigm dubbed Harness Engineering . The fundamental goal remains the same: achieve high-quality, efficient development and business success, but now the question is how to use agents to reach it.
Core Problem: Software Complexity
The author argues that the essential challenge for agent-driven development is identical to the human-driven one: software complexity , citing the "First Law of Software Engineering: Complexity Law." From this root, four high-level research questions emerge:
Complexity characterization: What are the dimensions of software complexity? How can we measure them and evaluate where agents perform poorly?
Machine-readable software knowledge: How to represent requirements, architecture, and decisions so agents can read, write, and execute them? What schema, expression, and organization methods are needed?
Agent team collaboration: Humans align via documents, meetings, and chat. How do agents align when they depend on external tools? How do humans align their own use of diverse agents?
Adapting traditional SE theory, methods, and tools: How must existing practices evolve for agent-based workflows?
Decomposition into Concrete Sub-questions
The author further breaks down the first two high-level questions:
What specific dimensions define software complexity characterization (referencing another article on "hybrid and scattered" complexity)?
How to automatically compute complexity from those dimensions?
How to generate evaluation benchmarks from real projects (e.g., AOSP, Linux kernel) using the defined complexity metrics?
What constitutes software knowledge? How should each type be recorded, organized, continuously extracted, and precipitated across requirements, design, coding, and testing? This ties into agent observability and memory management.
Guiding Principles for Research Investment
The author proposes two filters to avoid low-return work:
Avoid directions easily absorbed by foundation models: Generic agent frameworks, tool calling, and general software engineering knowledge are already well-handled by major labs.
Avoid shallow topics: As agent frameworks stabilize, rebuilding another framework yields diminishing returns. Core valuable modules (memory, search engines) are gradually separating from the harness layer.
The article concludes that many deep problems remain to be excavated, but researchers should focus on areas where they can contribute unique depth rather than competing on commoditized infrastructure.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Thought Artisan
I think, therefore I am; recording insights from daily life and technology.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
