에이전트 중심 개발 선언문 (The Agentic Development Manifesto)
요약
AI 에이전트를 활용한 소프트웨어 개발 시 추론된 동작보다 선언된 의도와 기계적 검증을 우선시해야 한다는 원칙을 제시합니다. 코드의 양보다 검증된 속성과 시스템의 일관성을 강조하며, 에이전트 간의 갈등을 방지하기 위한 사양 관리의 중요성을 다룹니다.
핵심 포인트
- 생성기와 독립된 검증기를 통한 기계적 정당성 입증 필수
- 사양, 계약, 불변량을 에이전트 간 조정 프로토콜로 활용
- 코드의 양보다 검증된 속성(capability)을 자산으로 측정
- 인간의 역할은 코드 검토가 아닌 올바른 사양 결정에 집중
- 사양의 버전 관리를 통해 에이전트 간 정보 불일치 방지
에이전트 중심 개발을 위한 선언문 (Manifesto for Agentic Development)
우리는 AI 에이전트(AI agents)를 통해 소프트웨어를 구축하는 더 나은 방법들을 발견하고 있습니다. 이 작업을 통해 우리는 다음과 같은 가치들을 소중히 여기게 되었습니다:
추론된 동작(inferred behavior)보다 선언된 의도(declared intent)
검토된 코드(reviewed code)보다 검증된 속성(verified properties)
단위 처리량(unit throughput)보다 시스템 일관성(system coherence)
축적된 기능(accumulated features)보다 명명된 본질(named essence)
즉, 오른쪽에 있는 항목들도 가치가 있지만, 우리는 왼쪽에 있는 항목들을 더 가치 있게 여깁니다.
에이전트 중심 개발 선언문의 원칙들
-
우리의 최우선 과제는 생성기(generator)와 독립된 검증기(verifier)에 의해 기계적으로 정당성을 입증할 수 있는 소프트웨어를 전달하는 것입니다. 코드를 작성한 도구가 그 코드가 정확함을 확인하는 신탁(oracle)이 될 수는 없습니다.
-
사양(Specifications), 계약(contracts), 그리고 불변량(invariants)은 에이전트들을 위한 조정 프로토콜(coordination protocols)입니다. 이것들이 없다면, 에이전트가 많아질수록 처리량이 늘어나는 것이 아니라 갈등만 늘어날 뿐입니다.
-
요구사항의 변경을 환영하십시오. 하지만 변경하기 전에 반드시 **사양의 버전을 관리(version the specification)**하십시오. 서로 다른 진실의 버전을 바탕으로 작업하는 에이전트들은 스플릿 브레인(split-brain) 시스템을 만들어냅니다.
-
AI가 생성한 코드에 대한 가장 신뢰할 수 있는 관문은 사람이 읽는 것이 아니라, 선언된 속성에 따라 기계가 검증하는 것입니다. 인간의 판단은 모델이 생성한 것을 읽는 하류(downstream) 단계가 아니라, 무엇이 올바른 것인지 결정하는 상류(upstream) 단계에 속해야 합니다.
-
아무도 강제하지 않는 사양은 단지 바람일 뿐입니다. 강제(Enforcement)는 기계적이거나, 그렇지 않으면 존재하지 않는 것입니다. CI(지속적 통합)는 마감 압박 속에서도 검사를 결코 건너뛰지 않는 유일한 검토자입니다.
-
코드는 부채(liability)이며, 역량(capability)이 자산(asset)입니다. 생성된 코드 줄 수가 아니라 검증된 속성을 측정하십시오. 검증된 속성의 성장 없이 커지는 코드베이스는 관리되지 않는 리스크를 축적하고 있는 것입니다.
-
최고의 아키텍처, 요구사항, 설계는 어떤 문제가 연역 가능한지(deducible) 그리고 어떤 문제가 창발적인지(emergent)를 알고, 어느 쪽에도 잘못된 방법을 적용하기를 거부하는 팀으로부터 나옵니다.
-
작동하는 소프트웨어는 필수적이지만, 그것만으로는 충분하지 않습니다.
**선언된 불변량 (declared invariants)**을 만족하는 작동하는 소프트웨어가 진척도의 척도입니다.
-
단순성(Simplicity) — 생성되지 않은 작업량을 극대화하는 기술 — 은 필수적입니다. 생성 비용이 거의 제로에 가깝다는 사실은 절제된 제거(subtraction)를 가치 없게 만드는 것이 아니라, 오히려 더 가치 있게 만듭니다.
-
제품의 본질이 무엇인지 이름을 붙일 수 있을 때, 그 본질을 희석하는 것들을 삭제하십시오 — 작동하는 코드까지도 포함하여 말입니다. 남은 것이 본질일 때, 제품은 크기가 작아짐으로써 더 강력해집니다.
-
최고의 에이전트 보조 팀은 두 가지 뚜렷한 관행을 유지합니다: 단위(unit)를 위한 엄격한 프로세스 (명세(spec), 기술, 경계가 지정된 작업)와 시스템을 위한 탐색-감지-반응 (probe-sense-respond) (통합, 관찰, 접점에서의 인간의 판단)입니다. 어느 것도 다른 하나를 대체할 수 없습니다.
-
정기적인 간격으로, 팀은 "얼마나 많이 생성했는가"가 아니라 **"얼마나 많은 불확실성을 제거했는가, 그리고 우리가 구축한 것 중 얼마만큼이 본질에 속하는가"**를 질문합니다.
-
인간의 판단을 상류(upstream)로 이동시키는 것이 깊게 파고드는 능력을 포기하는 것을 의미하지는 않습니다. 기계적 검증(mechanical verification)이 실패할 때 — 그리고 반드시 실패할 것입니다 — 인간은 여전히 어떤 게이트(gate)도 잡아내지 못한 문제를 진단할 수 있을 만큼 시스템을 잘 이해할 수 있어야 합니다. 세부 사항으로 내려갈 수 없는 판단은 판단이 아니라, 단지 희망일 뿐입니다.
애자일 선언문(The Agile Manifesto)은 경직성 — 경직된 프로세스, 느린 인도, 적응할 수 없는 조직 — 을 위한 치료제였습니다. 그것은 그 문제들을 해결했습니다. 에이전트 중심 개발 선언문(The Agentic Development Manifesto)은 혼돈 — 저렴한 생성, 부족한 검증, 그리고 인간이 이해할 수 있는 속도보다 더 빠르게 성장하는 시스템 — 을 위한 치료제입니다. 시대가 다르면 질병도 다르고, 약도 달라야 합니다. 애자일 선언문이 해결했던 문제들은 지금 우리가 겪고 있는 문제들이 아닙니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기