Microsoft Build 2026 · BRK208
Microsoft Build 2026 · BRK208

코드를 사람이 짜지 않는 시대, 검증이 전부다

코딩 에이전트가 코드를 쏟아내는 지금, 진짜 경쟁력은 그 코드를 믿을 수 있게 만드는 검증 능력입니다. Simon Willison이 실전에서 통하는 Agentic Engineering 패턴을 풀어놓습니다.

54 슬라이드
스크롤하여 시작
01 / 54
Slide 1

오늘은 Agentic Engineering, 그중에서도 코드를 어떻게 믿을 수 있는가 하는 검증 이야기를 해보려고 합니다. 저는 Simon Willison이고요, 반갑습니다.

02 / 54
Slide 2

2022년부터 LLM과 함께

저는 2022년부터 LLM의 도움을 받아 코드를 짜 왔는데요, 그동안 이 도구들이 얼마나 빠르게 달라졌는지 직접 겪어 왔습니다.

03 / 54
Slide 3

달라진 개발 풍경

그 몇 년 사이에 개발이라는 일 자체의 모습이 꽤 많이 바뀌었습니다.

04 / 54
Slide 4

도구의 진화

도구가 좋아질수록, 우리가 실제로 하는 일이 무엇인지 다시 묻게 되더라고요.

05 / 54
Slide 5

전문가의 바이브 코딩, 뭐라 부를까

전문 소프트웨어 엔지니어가 진짜 제품을 만들면서 하는 바이브 코딩, 이걸 도대체 뭐라고 불러야 할까요?

06 / 54
Slide 6

저는 이걸 Agentic Engineering이라고 부릅니다. 오늘 이야기의 중심 개념이죠.

07 / 54
Slide 7

완전히 새로운 문제

이건 어떤 면에서는 완전히 새로운 문제입니다.

08 / 54
Slide 8

코딩 에이전트, 이제야 쓸만해졌다

LLM이 코드를 직접 쓰고 실행까지 하는 코딩 에이전트가 정말 쓸만해진 건 사실 지난 11월부터입니다. 얼마 안 됐어요.

09 / 54
Slide 9

2004년, 하루 10~50줄

Steve McConnell의 Code Complete를 보면, 2004년엔 하루에 전달하는 코드가 10줄에서 50줄 정도였습니다.

10 / 54
Slide 10

2014년, 하루 600줄이면 예외

2014년만 해도 하루 600줄은 개발자 성과에서 아주 예외적인 수치로 여겨졌죠.

11 / 54
Slide 11

이제는 산책하며 폰으로 600줄

그런데 지금 저는 개를 산책시키면서 폰으로 테스트와 문서까지 갖춘 600줄을 짤 수 있습니다.

12 / 54
Slide 12

그런데 그 코드, 좋은 코드일까

문제는 이겁니다. 개랑 산책하면서 짠 그 코드가 과연 좋은 코드일까요?

13 / 54
Slide 13

동시에 아주 오래된 문제

그리고 이건 동시에 아주 오래된 문제이기도 합니다.

14 / 54
Slide 14

10만 개발자 규모의 Microsoft

생각해 보세요. Microsoft처럼 경력도 제각각인 개발자가 10만 명이 넘는 회사가 도대체 어떻게 뭔가를 출시해 내는 걸까요?

15 / 54
Slide 15

거대 팀의 방식을 노트북 규모로

거대한 팀에서 통하는 방식을 알아내서, 그걸 우리 노트북 한 대 규모로 줄여 오면 됩니다.

16 / 54
Slide 16

우리 일은 코드 생산과 검증

결국 우리 일은 코드를 만들어 내고, 그게 제대로 작동하는지 검증하는 것, 이 두 가지입니다.

17 / 54
Slide 17

타이핑 병목은 사라졌지만

컴퓨터에 코드를 타이핑하는 병목은 사라졌습니다. 하지만 나머지 수많은 병목은 그대로 남아 있죠.

18 / 54
Slide 18

이제 실제 사례를 하나 볼까요. StrongDM의 Dark Factory 이야기입니다.

19 / 54
Slide 19

규칙 1, 2: 사람은 손대지 않는다

규칙 1, 코드는 사람이 쓰지 않는다. 규칙 2, 코드는 사람이 리뷰하지 않는다. 정말 과감하죠.

20 / 54
Slide 20

시나리오를 검증하는 에이전트 군단

대신 에이전트 군단이 소프트웨어를 상대로 온갖 시나리오를 테스트합니다.

21 / 54
Slide 21

Digital Twin Universe

핵심은 Digital Twin Universe입니다. Slack, Okta 같은 의존성들을 에이전트가 직접 복제해 만든 거죠.

22 / 54
Slide 22

의존성을 통째로 복제하다

이렇게 외부 서비스 클론을 갖춰 두면, 실제 환경과 똑같이 마음껏 테스트를 돌릴 수 있습니다.

23 / 54
Slide 23

원조 토큰맥서

한 엔지니어당 하루에 토큰을 최소 1,000달러어치는 써야, 소프트웨어 팩토리에 개선 여지가 없다고까지 말합니다. 원조 tokenmaxxers인 셈이죠.

24 / 54
Slide 24

자, 그럼 이제 실제로 통하는 패턴들을 하나씩 살펴보겠습니다.

25 / 54
Slide 25

모든 줄을 못 본다면, 어디를 볼까

모든 줄을 다 리뷰하지 않는다면, 그럼 우리는 어떤 줄을 봐야 할까요?

26 / 54
Slide 26

리뷰하면서 능동적으로 리팩터링

리뷰하는 도중에 직접 리팩터링을 합니다. 사람한테 이러면 무례하지만, 에이전트한테는 괜찮죠.

27 / 54
Slide 27

중복 제거, 변수명 통일

예를 들면, 테스트의 중복 코드를 줄이고 변수명을 blog/models.py와 일관되게 맞춰 달라고 바로 시키는 겁니다.

28 / 54
Slide 28

위험을 따지고 이음새를 찾아라

무엇을 얼마나 볼지는, 걸린 위험이 얼마나 큰지 따져 보고 코드의 이음새를 찾는 데서 시작합니다.

29 / 54
Slide 29

API 설계 검증을 위해 코드를 쏟아내라

API 설계가 좋은지 검증하려면, 그 API를 쓰는 코드를 잔뜩 생성해 보는 게 최고입니다.

30 / 54
Slide 30

마지막 커밋 리뷰 후 기능 3개 프로토타입

마지막 커밋을 리뷰한 다음, 새 API를 상대로 기능 세 개를 브레인스토밍해서 프로토타입으로 만들어 보라고 시킵니다.

31 / 54
Slide 31

먼저 프로토타입, 그다음 합치기

순서가 중요합니다. 먼저 프로토타입을 만들고, 그다음에 그 프로토타입들을 합칩니다.

32 / 54
Slide 32

붙여넣기 감지 에디터 프로토타입

예를 들어, 직접 타이핑은 되지만 X자 넘게 붙여넣으면 그걸 paste-file 이벤트로 처리하는 텍스트 에디터를 만들어 보라고 하는 거죠.

33 / 54
Slide 33

프로토타입이 돌아가는 모습

이렇게 하면 아이디어가 실제로 동작하는 모습을 곧바로 확인할 수 있습니다.

34 / 54
Slide 34

빠르게 검증하는 실험

작게 빠르게 만들어 보면서 설계가 맞는지 실험하는 겁니다.

35 / 54
Slide 35

프로토타입을 실제 기능으로

그다음, file-paste.html 프로토타입을 바탕으로 chat에 paste-file 기능을 붙여 달라고 이어서 시킵니다.

36 / 54
Slide 36

에이전트가 문서까지?

그럼 문서 작업도 에이전트에게 맡길 수 있을까요?

37 / 54
Slide 37

diff 보고 문서 갱신 검토

main과 diff를 떠서, 업데이트가 필요한 문서가 있는지 검토하게 합니다.

38 / 54
Slide 38

의견도 근거도 넣지 마라

단, 의견이나 장황한 근거는 넣지 말라고 못을 박습니다.

39 / 54
Slide 39

과한 홍보성 표현만 손보기

예를 들면 커밋 메시지가 그냥 과하게 홍보성이던 표현을 좀 다듬었다, 이 정도면 충분하죠.

40 / 54
Slide 40

프리뷰 환경에 지속 배포

그리고 프리뷰 환경으로 지속적으로 배포합니다.

41 / 54
Slide 41

PR마다 새 머신에 자동 배포

새 PR을 fly.io, Cloud Run, Vercel 같은 새 머신에 배포하는 GitHub Actions 워크플로를 짜게 합니다.

42 / 54
Slide 42

먼저 명확화 질문부터

이럴 때는 곧바로 만들지 말고, 먼저 확인 질문부터 하라고 시키는 게 좋습니다.

43 / 54
Slide 43

실수의 폭발 반경 줄이기

이제 실수가 났을 때 그 폭발 반경을 어떻게 줄일지 살펴보겠습니다.

44 / 54
Slide 44

CSP, 샌드박스 iframe, WASI

프런티어 에이전트한테 Content Security Policy, 샌드박스 iframe, WebAssembly와 WASI 같은 걸 물어보세요.

45 / 54
Slide 45

샌드박스, 탈출해 봐

제가 만든 샌드박스 안에서 돌고 있으니 한번 탈출을 시도해 보라고, 일부러 시켜 보기도 합니다.

46 / 54
Slide 46

불안정한 테스트엔 무관용

불안정한, 이른바 flaky 테스트에는 무관용 원칙을 세웁니다.

47 / 54
Slide 47

Docker로 CI 크래시 재현

CI에서 Linux의 Python 3.14로 크래시가 났다면, Docker를 써서 그대로 재현해 보라고 합니다.

48 / 54
Slide 48

엔지니어를 돕는 도구가 에이전트도 돕는다

재미있는 건, 엔지니어를 돕는 도구는 그대로 에이전트한테도 도움이 된다는 점입니다.

49 / 54
Slide 49

온보딩 문서부터 로그까지

온보딩 문서, CI, 린터, 코드 포매터, 디버거, 로그까지, 사람한테 좋은 건 에이전트한테도 그대로 좋습니다.

50 / 54
Slide 50

수십 년 된 좋은 관행을 가르치는 트릭

사실 Agentic Engineering은, 수십 년간 쌓여 온 좋은 엔지니어링 관행을 모두에게 가르치는 하나의 트릭입니다.

51 / 54
Slide 51

다크 팩토리는 곧 검증 기계

다크 팩토리를 만든다는 건, 결국 검증 기계를 만든다는 뜻입니다.

52 / 54
Slide 52

우리는 지금, 소프트웨어를 만드는 방식 자체를 다시 발명할 기회를 얻은 겁니다.

53 / 54
Slide 53

simonwillison.net

더 자세한 이야기는 simonwillison.net에 있습니다. 감사합니다.

54 / 54
Slide 54

감사합니다

들어 주셔서 감사합니다.