AI Agent 개발의 의도 부채와 Loop Engineering 대응
AI agent 개발에서 코드 생성보다 어려워진 의도 보존, 검증, judge 설계 문제를 논문, 업계 글, 도구 흐름과 함께 정리한 노트.
AI Agent 개발의 의도 부채와 Loop Engineering 대응
한 줄 요약
AI agent 시대의 개발 병목은 코드를 생성하는 능력보다, 무엇을 만들지 정의하고, 무엇을 깨면 안 되는지 보존하고, 어떤 증거가 있어야 완료인지 판단하는 능력으로 이동하고 있다.
왜 저장했나
AI가 코드를 더 빨리 만들수록 개발자가 편해지는 것이 아니라, 리뷰어가 뒤늦게 의도와 제약을 복원해야 하는 상황이 늘어난다. 이 문제는 단순한 프롬프트 품질 문제가 아니라 spec, test, judge, 권한, 보안, 기록 방식까지 포함한 개발 운영 구조의 문제다.
원 질문
의도를 판단하기 힘든 AI agent 개발과 loop engineering의 문제를 어떻게 대응해야 하는지, 관련 논문, 토론, 저명인사의 글, GitHub repository가 있는지 분석하고 정리한다.
핵심 답변
이 문제는 "AI가 코드를 못 쓴다"보다 "AI가 코드 생성 비용을 낮췄지만 의도 보존과 검증 비용은 자동으로 낮추지 못했다"에 가깝다. 대응의 중심은 더 긴 프롬프트가 아니라, agent가 반복해서 참조할 수 있는 명세, 작은 diff, plan-first 작업, layered judge, ADR, 보안 gate를 갖춘 개발 루프다.
핵심 결론
- 코드가 자동화될수록 의도는 더 명세화되어야 한다.
- AI agent loop는 좋은 judge가 없으면 좋은 제품이 아니라 빈약한 judge를 만족하는 결과로 수렴한다.
- 리뷰 비용은 diff 크기만이 아니라 의도 불명확성, 영향 범위, 검증 부재가 곱해져 커진다.
- 개발자의 역할은 코드 작성자에서 problem framer, spec designer, constraint setter, judge designer, agent supervisor, risk owner 쪽으로 이동한다.
- 완전 자율 agent보다 plan-first workflow, 작은 PR, 명확한 acceptance criteria, 자동 테스트와 인간 판단의 분리가 먼저다.
문제의 이름
Intent Debt
코드는 남았지만 의도, 제약, 대안, 판단 기준이 남지 않는 상태다. technical debt가 구현 선택의 미래 비용이라면, intent debt는 "왜 이렇게 했는지 알 수 없음"에서 생기는 미래 비용이다.
AI가 만든 코드는 그럴듯한 형태를 빨리 갖추지만, 다음 질문에 자동으로 답하지 않는다.
- 왜 이 구조를 선택했는가
- 어떤 대안을 버렸는가
- 어떤 제약을 우선했는가
- 어떤 실패 케이스를 고려했는가
- 완료 기준은 무엇인가
- 나중에 바꾸는 사람이 무엇을 조심해야 하는가
Verification Debt
AI가 빠르게 만든 결과물을 충분히 검증하지 못한 채 쌓아두는 상태다. SonarSource의 2026 조사에서는 AI 도구를 사용한 개발자 다수가 결과물을 리뷰, 테스트, 수정한다고 답했지만, 항상 커밋 전에 검증한다고 답한 비율은 더 낮았다. 이는 AI 코드가 늘어날수록 검증 병목이 커질 수 있음을 보여준다.
Specification Debt
요구사항, non-goal, acceptance criteria, trade-off가 명세화되지 않은 상태에서 구현이 먼저 생기는 문제다. GitHub Spec Kit이나 spec-driven development 논의는 이 문제를 줄이려는 흐름으로 볼 수 있다.
Rationale Debt
설계 결정의 이유가 사라지는 상태다. AI가 만든 구현에 대해 나중에 "왜 이렇게 했는지"를 묻는 것은 충분하지 않다. 모델은 그럴듯한 사후 설명을 만들 수 있지만, 그것이 실제 판단 근거였다는 보장은 없다. 중요한 결정은 작업 전 spec이나 작업 중 decision log, ADR로 남기는 편이 더 강하다.
LLM이 설계 rationale을 사후 생성할 수는 있지만, 관련 연구들은 유용한 근거와 잘못된 근거가 섞일 수 있음을 지적한다. 따라서 rationale은 나중에 모델에게 복원시키기보다 작업 전 spec과 작업 중 decision log로 남기는 편이 안전하다.
왜 Agent Loop에서 더 커지는가
일반적인 agent loop는 다음처럼 돈다.
목표 입력
→ 계획
→ 코드 수정
→ 테스트 실행
→ 실패 시 재시도
→ 통과하면 종료
문제는 "무엇을 통과로 볼 것인가"다. 테스트가 통과해도 성능, 보안, 접근성, 유지보수성, 장기 아키텍처, 사용자 경험은 깨질 수 있다. agent는 judge가 주는 신호를 최적화하므로, judge가 빈약하면 루프는 빈약한 기준을 만족하는 쪽으로 수렴한다.
따라서 loop engineering의 핵심은 "AI가 더 많이 반복하게 하기"가 아니라, 반복의 종료 조건을 설계하는 것이다.
대응 전략
1. 프롬프트가 아니라 Intent Packet을 만든다
긴 프롬프트보다 중요한 것은 반복해서 재사용 가능한 의도 문서다.
# Intent Packet
## Problem
어떤 사용자 문제를 해결하는가?
## Desired outcome
사용자나 시스템이 어떤 상태가 되면 성공인가?
## Non-goals
이번 변경에서 하지 않을 것은 무엇인가?
## Constraints
반드시 지켜야 할 제약은 무엇인가?
예: API 호환성, 성능, 보안, 비용, 접근성, 데이터 마이그레이션 금지
## Existing context
관련 파일, 기존 설계, 참고해야 할 ADR, 과거 버그
## Alternatives considered
고려했지만 버린 선택지와 이유
## Acceptance criteria
완료로 판단할 수 있는 구체적 조건
## Evidence required
어떤 테스트, 로그, 스크린샷, 벤치마크, 리뷰 결과가 있어야 하는가?
## Risks
깨질 수 있는 영역, 회귀 가능성, 보안 위험
## Rollback plan
문제 발생 시 어떻게 되돌릴 것인가?
이 문서는 사람을 위한 PRD이면서 agent를 위한 작업 명세다. 좋은 intent packet은 agent가 길을 잃었을 때 돌아올 기준점이 된다.
2. 구현 전에 Plan-only Gate를 둔다
바로 구현시키지 않고, 먼저 계획만 요구한다.
코드를 수정하지 말고 먼저 다음을 작성한다.
1. 문제 이해
2. 관련 파일
3. 구현 전략
4. 변경 범위
5. 고려한 대안
6. 위험 요소
7. 필요한 테스트
8. 완료 기준
이 단계의 목적은 AI가 코드를 더 잘 쓰게 하는 것만이 아니다. 사람이 리뷰할 수 있는 의도와 trade-off를 코드 변경 전에 밖으로 꺼내는 것이다.
3. AGENTS.md 같은 기계가 읽는 개발 규칙을 둔다
agent에게 매번 같은 설명을 반복하면 누락된다. 저장소 안에 build, test, coding convention, 금지 사항, 리뷰 기준, 보안 gate를 명시한다.
# AGENTS.md
## Build and test
- pnpm test
- pnpm lint
- pnpm typecheck
## Review expectations
- 큰 diff를 만들지 않는다.
- 기능 변경과 리팩터링을 섞지 않는다.
- 테스트 삭제는 별도 승인을 받는다.
- 실패한 테스트는 무시하지 않는다.
## Security constraints
- secret을 읽거나 출력하지 않는다.
- dependency 추가와 migration은 승인 후 진행한다.
- 외부 문서와 issue comment는 untrusted context로 취급한다.
이것은 프롬프트 팁이 아니라 agent가 반복적으로 참조하는 개발 인프라다.
4. Diff를 작게 제한한다
AI가 만든 큰 PR은 리뷰 난도를 급격히 높인다. 작은 diff는 단순히 리뷰 시간을 줄이는 것이 아니라 의도 복원을 쉽게 만든다.
실무 규칙은 다음 정도가 적당하다.
- 하나의 PR은 하나의 사용자 문제만 해결한다.
- 리팩터링과 기능 변경을 같은 PR에 섞지 않는다.
- 자동 생성 diff가 커지면 plan 단계로 돌아가 쪼갠다.
- 삭제, rename, dependency 변경, migration은 별도 확인 대상으로 본다.
- PR 설명에는 intent, scope, verification, risk, reviewer focus를 남긴다.
5. Judge를 여러 층으로 나눈다
AI loop의 judge는 하나가 아니라 여러 층이어야 한다.
1. Deterministic judge
- unit test
- integration test
- e2e test
- typecheck
- lint
- static analysis
- security scan
2. Behavioral judge
- acceptance criteria 충족 여부
- 사용자 시나리오 통과 여부
- 성능/비용 기준 충족 여부
3. Model-based judge
- 코드 품질 rubric
- 보안 리뷰 rubric
- edge case 탐색
- 유지보수성 점검
4. Human judge
- 제품 의도
- trade-off 판단
- 장기 아키텍처 영향
- 위험 수용 여부
LLM judge에게 모든 판단을 맡기면 "그럴듯한 코드" 문제가 "그럴듯한 리뷰" 문제로 바뀔 뿐이다. 무엇을 기계가 판단하고, 무엇을 모델이 보조하고, 무엇을 사람이 최종 판단할지 분리해야 한다.
6. 보안 경계를 새로 설계한다
coding agent는 autocomplete가 아니다. 파일을 읽고, shell을 실행하고, dependency를 설치하고, 테스트를 돌리고, 때로는 배포 단계까지 건드린다. 따라서 prompt injection은 텍스트 문제가 아니라 시스템 권한 문제로 바뀐다.
기본 원칙은 다음과 같다.
- agent에게 production secret을 노출하지 않는다.
- shell command는 allowlist 또는 승인 기반으로 둔다.
- 외부 문서, issue, PR comment, README를 untrusted context로 취급한다.
- AGENTS.md, workflow, dependency 파일 변경은 code owner review를 요구한다.
- agent 실행은 sandbox, container, ephemeral environment에서 수행한다.
- network access와 filesystem access를 최소 권한으로 제한한다.
7. Agent Loop는 단순한 Workflow부터 시작한다
처음부터 완전 자율 agent를 붙이는 것보다, 실패해도 통제 가능한 workflow에서 시작해 점진적으로 agentic behavior를 늘리는 편이 안전하다.
Level 1. AI autocomplete
사람이 코드 작성, AI는 보조
Level 2. Chat-based implementation
사람이 맥락 제공, AI가 일부 구현
Level 3. Plan-first agent
AI가 계획 작성, 사람이 승인, AI가 구현
Level 4. Test-gated loop
AI가 구현 후 테스트 실패를 보고 반복 수정
Level 5. Multi-judge loop
테스트, lint, 보안, 성능, LLM review, human review를 통과해야 종료
Level 6. Semi-autonomous engineering loop
이슈 triage, 계획, 구현, 검증, PR 생성까지 자동화하되 merge는 인간 책임
가장 중요한 전환점은 Level 3이다. 이때부터 사람의 역할이 "코드 한 줄 한 줄 쓰기"에서 "의도, 제약, 종료 조건을 설계하기"로 바뀐다.
8. ADR과 Decision Log를 남긴다
중요한 구조 변경은 코드만 남기지 말고 짧은 ADR이나 decision log를 남긴다.
# ADR: 결제 상태 전이를 명시적 state machine으로 분리한다
## Context
현재 결제 상태 전이가 service 내부 조건문에 흩어져 있어 agent 수정 시 회귀 위험이 크다.
## Decision
상태 전이를 별도 state machine으로 분리하고, 허용된 transition만 테스트한다.
## Alternatives
- 기존 조건문 유지
- DB trigger 사용
## Consequences
- transition 테스트가 쉬워진다.
- 초기 리팩터링 비용이 든다.
AI 시대의 ADR은 문서화 이상의 의미가 있다. 다음 agent가 같은 결정을 다시 뒤집지 않도록 하는 경계선이다.
관련 연구와 논문
SonarSource State of Code 2026
AI 코딩 도구 사용은 넓게 퍼졌지만, 개발자들은 AI 결과를 완전히 신뢰하지 않고 상당한 리뷰와 수정 노력을 들이고 있다. 이 자료는 AI 코드 증가가 곧바로 검증 비용 감소를 뜻하지 않는다는 점을 보여준다.
원문에서 특히 중요했던 대비는 검증 부채다. SonarSource 조사에서는 AI 결과물을 리뷰, 테스트, 수정한다는 응답이 95%였지만, 항상 커밋 전에 확인한다는 응답은 48%였다. 또한 AI 도구 사용 경험자 중 72%가 매일 사용한다고 답했고, 개발자들은 자신이 커밋하거나 기여하는 코드의 42%가 AI 생성 또는 AI 보조 코드라고 추정했다. 96%는 AI 생성 코드의 기능적 정확성을 완전히 신뢰하지 않는다고 답했고, 38%는 AI 코드 리뷰가 사람이 쓴 코드 리뷰보다 더 많은 노력이 든다고 답했다.
DORA의 생성형 AI 분석
DORA의 AI 관련 분석은 AI 도입이 throughput, stability, batch size, review flow에 미치는 영향이 단순하지 않다는 점을 보여준다. 연도와 조사 맥락에 따라 결과가 달라질 수 있으므로, "AI는 항상 생산성을 높인다" 또는 "항상 낮춘다"로 단정하면 안 된다.
METR의 경험 많은 오픈소스 개발자 실험
METR의 2025 실험은 AI 도구 사용이 일부 조건에서 오히려 작업 시간을 늘릴 수 있음을 보였다. 이 결과는 모든 팀에 일반화할 수는 없지만, 익숙한 코드베이스에서도 이해, 검증, 수정 비용이 전체 생산성을 좌우할 수 있음을 보여준다.
원문에서 이 실험은 반직관적 근거로 중요했다. 경험 많은 오픈소스 개발자들이 자신이 잘 아는 저장소의 실제 이슈를 처리했는데도, AI 도구 사용 조건에서 작업 시간이 19% 늘었다고 보고했다. 다만 이 결과는 실험 시점, 모델 성능, 과제 성격의 영향을 받으므로 최신 팀 생산성 예측으로 직접 일반화하면 안 된다.
Do Users Write More Insecure Code with AI Assistants?
AI assistant를 사용한 참가자들이 일부 과제에서 더 안전하지 않은 코드를 작성하고도 자신이 작성한 코드가 안전하다고 믿는 경향을 보였다는 연구다. AI 결과의 신뢰감과 실제 안전성은 분리해서 봐야 한다.
SWE-bench
SWE-bench는 실제 GitHub issue와 pull request에서 가져온 software engineering 과제로 AI 시스템을 평가한다. 중요한 점은 "코드를 생성할 수 있는가"가 아니라 "기존 코드베이스에서 문제를 이해하고, 수정하고, 테스트를 통과시킬 수 있는가"를 묻는다는 것이다.
범위도 함께 기억해야 한다. 원문 기준 SWE-bench는 12개 Python repository의 2,294개 task를 바탕으로 하며, 핵심 평가는 fail-to-pass test, 즉 기존에 실패하던 테스트를 통과시키는지다. 따라서 "일반적 소프트웨어 역량 전체"라기보다 실제 저장소 이슈 수정 능력을 특정 방식으로 측정하는 benchmark로 보는 편이 정확하다.
SWE-agent
SWE-agent는 language model이 repository를 탐색하고, 명령을 실행하고, 테스트를 돌리고, issue를 수정하도록 구성한 연구와 도구 흐름이다. 핵심은 agent에게 코드를 쓰게 하는 것뿐 아니라 agent-computer interface를 설계하는 것이다.
Agentless
Agentless는 복잡한 autonomous agent 없이 localization, repair, patch validation 단계를 구조화해 SWE-bench 문제를 푸는 접근이다. 모든 문제에 완전 자율 agent가 필요한 것은 아니며, 잘 나눈 workflow가 더 안정적일 수 있음을 보여준다.
Agentic Coding Editor 보안 연구
"Your AI, My Shell"과 prompt injection 관련 연구들은 coding agent가 shell과 filesystem 권한을 가질 때 외부 입력이 명령 실행, 데이터 유출, 권한 오남용으로 이어질 수 있음을 다룬다. agent 개발은 생산성 문제가 아니라 보안 모델 문제이기도 하다.
저명인과 업계 글
Addy Osmani
Addy Osmani의 agentic code review와 good spec 관련 글은 이 문제와 직접 연결된다. 핵심 메시지는 agent에게 매번 지시하는 것이 아니라, spec, self-check, conformance test, judge를 갖춘 loop를 설계해야 한다는 것이다.
Anthropic
Anthropic의 effective agents 글은 복잡한 framework보다 단순하고 명시적인 workflow, 명확한 tool interface, 좋은 eval, human-in-the-loop를 강조한다. eval 글에서는 code-based grader, model-based grader, human grader의 조합을 설명한다.
GitHub
GitHub Spec Kit은 spec-driven development를 agent 시대의 작업 방식으로 제안한다. GitHub Copilot coding agent 문서는 agent가 repository 조사, 계획, branch 작업, PR 생성, 리뷰 반복으로 이어지는 workflow를 설명한다.
Martin Fowler / Thoughtworks
ADR은 AI 이전부터 있던 실천이지만, AI 시대에는 더 중요해진다. 구현 생성이 쉬워질수록 "왜 이 구조인가"를 보존하는 기록이 없으면 다음 사람이나 다음 agent가 같은 판단을 반복하거나 잘못 뒤집기 쉽다.
Simon Willison
Simon Willison은 vibe coding과 책임 있는 AI-assisted programming을 구분한다. AI를 사용하더라도 결과를 이해하고 리뷰하며 책임지는 태도가 필요하다는 관점은 agent loop의 인간 책임 문제와 맞닿아 있다.
참고할 만한 GitHub Repository와 도구
Spec, Intent, Instruction
- github/spec-kit: spec-driven development를 위한 toolkit.
- agentsmd/agents.md: coding agent가 읽을 수 있는 repository instruction 형식.
- architecture-decision-record/architecture-decision-record: ADR 자료와 템플릿 모음.
- joelparkerhenderson/architecture-decision-record: ADR 예시와 설명 자료.
Coding Agent와 Benchmark
- swe-bench/SWE-bench: 실제 issue 기반 software engineering benchmark.
- swe-agent/swe-agent: repository 탐색, 명령 실행, 테스트 루프를 사용하는 coding agent.
- openautocoder/agentless: autonomous agent보다 구조화된 workflow를 강조하는 SWE-bench 접근.
- OpenHands/openhands: software development agent 환경.
- aider-ai/aider: 터미널 기반 AI pair programming 도구.
- cline/cline: IDE 안에서 plan/act mode와 tool execution을 제공하는 coding agent.
보안과 위험 패턴
- Mindgard/ai-ide-vuln-patterns: AI IDE와 coding agent 취약점 패턴 모음.
- Mindgard/ai-ide-skills: AI IDE 보안과 관련된 skill 자료.
Reading List
- wasiahmad/Awesome-LLM-SWE-Bench: LLM software engineering benchmark 관련 자료.
- fudanselab/agent4se-paper-list: software engineering을 위한 LLM agent 논문 목록.
- bradAGI/awesome-cli-coding-agents: CLI coding agent 목록.
바로 적용할 운영 규칙
개발 흐름 비교
기존 방식은 사람이 요구사항을 이해하고 구현한 뒤 리뷰와 테스트를 거쳤다.
요구사항
→ 개발자 구현
→ 코드 리뷰
→ 테스트
→ 배포
단순한 AI 보조 개발은 AI 구현이 먼저 나오고, 사람이 뒤늦게 그 의도를 복원하는 흐름이 되기 쉽다.
요구사항
→ AI 구현
→ 사람이 AI 코드 이해
→ 코드 리뷰
→ 테스트
→ 수정
→ 배포
agent 시대에 더 맞는 방식은 의도와 검증 기준을 먼저 artifact로 만들고, agent가 작은 diff를 만든 뒤, deterministic judge와 human judge를 통과하게 하는 것이다.
Intent Packet 작성
→ agent가 plan 작성
→ 사람이 plan과 trade-off 리뷰
→ agent가 작은 diff 생성
→ deterministic judge 실행
→ model judge로 보조 리뷰
→ human judge가 의도와 위험 승인
→ PR에 evidence와 rationale 기록
→ ADR/spec 업데이트
핵심은 AI가 코드를 잘 쓰게 하는 것이 아니라, AI가 의도에서 벗어나지 못하게 만드는 구조를 갖추는 것이다.
PR 템플릿
## Intent
이 PR은 어떤 사용자 문제를 해결하는가?
## Scope
이번 PR에 포함되는 것과 포함되지 않는 것은 무엇인가?
## Agent involvement
AI 또는 agent가 어떤 부분을 작성했는가?
## Plan
구현 전 계획은 무엇이었는가?
## Alternatives rejected
고려했지만 버린 접근은 무엇인가?
## Verification
- [ ] unit test
- [ ] integration test
- [ ] e2e test
- [ ] typecheck
- [ ] lint
- [ ] security check
- [ ] manual scenario check
## Risk
어떤 영역이 깨질 수 있는가?
## Reviewer focus
리뷰어가 특히 봐야 할 부분은 무엇인가?
Agent 작업 규칙
- 코드를 수정하기 전에 plan을 먼저 출력한다.
- plan 승인 전에는 파일을 수정하지 않는다.
- 하나의 작업은 하나의 목적만 가진다.
- 큰 리팩터링과 기능 변경을 섞지 않는다.
- 테스트를 삭제하려면 이유를 설명하고 승인을 받는다.
- 실패한 테스트를 무시하지 않는다.
- 통과한 명령과 실패한 명령을 PR에 남긴다.
- 보안, 권한, dependency, migration 변경은 별도 승인 gate를 둔다.
Judge 설계 규칙
- correctness는 테스트로 본다.
- style은 formatter와 linter로 본다.
- type safety는 typecheck로 본다.
- 보안은 SAST, dependency scan, secret scan으로 본다.
- 유지보수성은 rubric 기반 LLM review와 human review를 함께 쓴다.
- 제품 의도와 trade-off는 사람이 본다.
더 깊은 본질
이 문제의 핵심은 생산성 도구의 변화가 아니라 software engineering artifact의 중심 이동이다.
예전에는 코드가 중심 artifact였다.
의도는 사람 머릿속에 있고
코드는 저장소에 있고
테스트는 일부만 자동화되어 있었다
AI agent 시대에는 다음도 artifact가 되어야 한다.
의도
명세
제약
대안
판단 기준
테스트
judge
agent instruction
rationale
리뷰 기록
따라서 개발자의 역할도 점점 다음 쪽으로 이동한다.
Problem framer
Spec designer
Constraint setter
Judge designer
Agent supervisor
Rationale curator
Risk owner
의도가 없으면 리뷰는 검증이 아니라 해석 작업이 된다. 코드가 자동화될수록 의도는 더 명세화되어야 한다.
Source Fidelity Notes
- Preserved key numbers: SonarSource의 72%, 42%, 96%, 95%, 48%, 38%; METR의 19%; SWE-bench의 12개 Python repository와 2,294개 task.
- Preserved frameworks / models: Intent Debt, Verification Debt, Specification Debt, Rationale Debt; plan-first agent; layered judge; workflow-to-agent maturity model.
- Preserved templates / checklists: Intent Packet, Plan-only Gate, AGENTS.md 예시, layered judge, PR template, agent 작업 규칙, judge 설계 규칙.
- Omitted or compressed: 원문의 긴 반복 설명, 일부 출처별 세부 해설, 도구별 긴 설명, 공개 독자에게 덜 필요한 raw GPT 문장 흐름.
- Omission risk: 원문 전체를 복원할 수 있는 수준은 아니지만, 핵심 주장과 실무 적용에 필요한 수치, 모델, 템플릿, caveat는 보존했다. 원문은 Waitworthy
sources/layer에 별도 보존되어 있으며 공개 페이지에는 raw output을 직접 노출하지 않는다.
검증이 필요한 주장
- SonarSource, DORA, METR의 수치는 조사 대상, 시점, 조직 맥락이 다르므로 특정 팀의 생산성 예측으로 직접 일반화하면 안 된다.
- SWE-bench 성능은 빠르게 변하므로 특정 모델이나 agent의 최신 순위는 별도로 확인해야 한다.
- agentic coding editor의 prompt injection 공격 성공률은 도구, 권한, sandbox, 승인 정책에 따라 달라진다.
- AGENTS.md, CLAUDE.md, Cursor rules 같은 instruction 파일은 도구마다 해석 범위와 우선순위가 다르므로 실제 사용 도구의 문서를 확인해야 한다.
출처 / 참고자료
- SonarSource: State of Code Developer Survey Report
- DORA: The Impact of Generative AI in Software Development
- Google Cloud: 2025 DORA Report announcement
- METR: Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity
- METR: Update on AI Productivity Study
- Do Users Write More Insecure Code with AI Assistants?
- SWE-bench
- SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering
- Agentless: Demystifying LLM-based Software Engineering Agents
- Your AI, My Shell
- Prompt Injection Attacks on Agentic Coding Assistants
- Anthropic: Building Effective Agents
- Anthropic: Demystifying Evals for AI Agents
- Anthropic: Effective Context Engineering for AI Agents
- Addy Osmani: Agentic Code Review
- Addy Osmani: How to write a good spec for AI agents
- GitHub Blog: Spec-driven development with AI
- GitHub Spec Kit
- AGENTS.md
- OpenAI Codex: Custom instructions with AGENTS.md
- Martin Fowler: Architecture Decision Record
- Martin Fowler: Understanding Spec-Driven Development
- Simon Willison: Vibe engineering
- Amp Manual
- NVIDIA: Mitigating Indirect AGENTS.md Injection Attacks
- Mindgard AI IDE Vulnerability Patterns