정말 눈 코 뜰 새 없이 바빴다. 일의 일정에 대한 압박도 심했고, 성과에 대한 압박도 심했다. Claude Code한테 시키면 모든 게 다 딸깍하고 만들어진다고 믿는 리더들 덕분에 갈리고 갈렸다. (딸깍 하면 만들어지는 것은 사실이지만, 이걸 몇 천명이 쓰는 서비스로 배포하기 까지는 오랜 검증 과정이 필요한데 말이다)
Tool 개발
작년까지만 해도 MCP가 Agent를 만들 때 필수 요소라고 느껴졌는데, 요즘에는 모델들의 성능이 계속 좋아지면서 tool calling 능력도 자연스레 좋아지고, 굳이 MCP까지 가지 않아도 된다고 느꼈다. 그래서 최근에 Agent 개발할 때는 MCP는 거의 만들지 않고 OpenAI API 형식의 tool definition으로 tool을 많이 개발한다. 각자의 장단점이 있겠지만, stdio로 만들어야 하는 MCP라면 그냥 OpenAI API 형식으로 만드는 게 더 나은 것 같다. 디버깅도 쉽고.
Pipeline 개발
요즘 Agent 개발할 때는 거의 Claude Code에서 참고할 점이 없나 유심히 살펴본다. 거기서 고안해서 우리 프로젝트에 적용시킨 건 user의 질문을 보고 llm이 plan을 만들고, checklist를 생성하고, 답변을 평가하고 부족한 점이 있다면 다시 동적으로 하위 작업을 만들어서 최대한 정확한 답변을 내게 하는 pipeline이다. 이 답변의 성능을 0.01점 이라도 올리게 하기 위해 프로젝트원들이 다같이 수많은 trial&error를 거쳤는데 성능 높이는 게 진짜 궁둥이 싸움이라는 생각이 들었다.
OpenCode, Claude Code 도구들
이제 사내에서도 on premise용 OpenCode, Claude Code를 사용하는 사람들이 많아지면서 Skills, Plugin에 대한 요구사항도 점점 늘어난다. 사실 난 OpenCode, Claude Code를 Coding Agent로만 사용하기 때문에 많은 Skills 들이 필요하진 않은데 실제로 문서를 생성하는 일이 많은 사람들에게는 Skills를 잘 사용하면 생상성이 많이 높아질 것 같다. 여유가 될 때 Skills, Plugin도 한 번 개발해야겠다. (아니 해야 한다.. ㅠㅠ)
UI, UX에 대한 집착
llm 답변의 성능을 0.1점 ..아니 0.01점이라도 높이기 위해 trial&error 거치면서 궁둥이 싸움을 열심히 해봤자 그 모든걸 무산시킬 수 있는 건 구린 UI와 UX다. 좋은 기능을 많이 넣고 싶어서 이것 저것 추가하다 보니 user가 서비스를 사용할 때 필요한 클릭 수가 많아졌다. 어떤 서비스를 만들 때 늘 생각하는 말이 있는데, 스티븐 잡스가 아이폰을 처음 발표할 때 했던 말이다. ‘설명서가 필요 없는 인터페이스를 만들었다’. 좋은 서비스는 구구절절 적힌 User Guide를 읽지 않아도 바로 사용할 수 있어야 한다. 그런 의미에서 user의 클릭수를 줄이는 게 요즘 최대 난제다.