Agent-first Driven Development: A Bottom-Up Methodology for Building Software in the Age of AI Agents

Read full text
Authors: Masaomi Hatakeyama
Cited by: 0

Abstract

Abstract The rapid proliferation of AI coding assistants and agent frameworks has produced several competing de- velopment methodologies—from unstructured vibe coding to Spec-Driven Development (SDD) and Agent- Driven Development (ADD). However, these approaches share a common assumption: humans write spec- ifications, tests, or instructions, and AI agents implement them. The design origin remains human-centric. This paper proposes Agent-first Driven Development (AFD), a bottom-up methodology where agent tools serve as the primary interface and source of truth for system design. In AFD, developers implement domain logic as agent tools first, validate through agent interaction, extract deterministic operations into backend APIs, and finally add human-facing UIs—yielding a dual-interface architecture that serves both AI agents and human users. AFD introduces six principles, including Zero-Gap Deployment (tool implementation is simultaneously deployment) and Classify by Cognition (separating API-able from Agent-native operations). We contextualize AFD within a comprehensive review of AI-era development methodologies and demon- strate its application through KairosChain, an MCP-based meta ledger for auditable AI skill evolution. AFD fills a methodological gap: while the industry actively converts existing APIs into agent tools (top-down), AFD provides the missing bottom-up direction for greenfield development. Keywords: agent-first development, MCP, tool-driven design, API extraction, dual-interface architecture, software methodology, KairosChain

Fields of Study & Subjects

Software Engineering Techniques and Practices Advanced Software Engineering Methodologies Software Engineering Research

Publication details

Journal / source
Zenodo (CERN European Organization for Nuclear Research)
Publication date
15 February 2026
Language
EN
Document type
Preprint