About the problem
어느 사용자가 글을 올렸습니다. 빈번하게 릴리스 되는(기능 변경이 있는) 제품을 다루고 있는데, 커밋 메시지와 문서를 비교해서 문서의 업데이트가 필요한지 여부를 확인할 수 있는지에 대한 문의였습니다. 릴리스 되는 내용이 명확하고 기능이 공개되기 전에 매뉴얼 담당자에게 전달이 된다면 문제가 없겠지만, 많은 조직에서 기능 릴리스와 문서 업데이트가 별도의 프로세스로 동작합니다. 때문에 문서 업데이트를 놓치는 경우가 많죠(사실 프로세스가 있더라도 기능을 구현하면서 개발자가 문서 업데이트가 필요 없다고 생각해 매뉴얼 담당자를 프로세스에 배정하지 않는다면 놓치기도 합니다).
하여간 이 글을 보고 발표자는 한 가지 아이디어가 떠올랐고, 바로 검증을 해보았다고 합니다. ChatGPT에서 GPTs를 활용하는 방식이었습니다. Jira, GitLab, GitHub 모두 API를 활용할 수 있어서 저장소에 대한 커밋 메시지를 확인할 수 있습니다. 커밋 메시지 목록을 확인하고 문서와 비교해서 변경이 필요한 항목을 작성자에게 보여주는 방식입니다.
Our proofs of concept
동작에 대한 검증을 위해 인증 없이 날씨 정보를 제공하는 API를 사용했다고 합니다. API를 통해 날씨 정보를 가져와서 여행자 가이드 문서에 오늘의 추천 의상 설명과 비교하고 업데이트가 필요한지 보여주는 것입니다. 어렵지 않은 방식이라 빠르게 구현하고 GPTs로 잘 동작하는 것을 확인했습니다.
그 다음에는 공개된 GitLab 리소스 중에서 GNU Mailman의 커밋 메시지를 가지고 문서 업데이트에 대한 검토가 가능한지 확인했습니다. 커밋 메시지는 GitLab의 API를 사용했고 문서는 공개된 문서를 스크래핑해서 마크다운 형식으로 변환한 후 확인했습니다.
https://gitlab.com/mailman
- Instructions
'Track commits' includes an action to retrieve commits data directly from an external API. The GPT will use this data to suggest updates to a user guide (called "GNU Mailman 3.1 - List Member Manual") that is attached as a knowledge file.
- Action information
When performing the "getRepository Commits" action: the value for the parameter "project_id" is "12345678". Look at the "Link to Commit" hyperlinks provided in the response and provide a summary of the changes. Use this information to use this data to suggest updates to a user guide.
- Conversation starters
Make the API query. Recommend updates to the GNU Mailman 3.1 - List Member Manual
- Knowledge
GNU Mailman 3.1 - List Member Manual.md
이번에는 GitHub에 있는 리소스 중에서 Joplin 리소스를 가지고 검토해 보았습니다. 자주 업데이트되는 저장소라 이전과 다르게 커밋 메시지를 조회하는 기간에 제한을 두었습니다.
https://github.com/laurent22/joplin/
- Instructions
Update Joplin Documentation is a specialised GPT designed to interact with the GitHub API, particularly focusing on the Joplin repository.
Its primary function is to fetch recent commits, emphasising those from the last day.
It then uses this data to suggest updates to the Joplin user guide, which is included in its knowledge base.
The GPT will analyse the commit data and cross-reference it with the user guide to identify areas that need updating or clarification in response to recent changes in the Joplin project.
This ensures that the user guide remains current and accurately reflects the latest features and modifications.
The GPT will present its suggestions in a clear, concise, and actionable format, making it easier for users to implement the necessary updates.
- Conversation starters
What are the latest commits for Joplin?
Show me yesterday's Joplin updates.
Suggest changes to the user documentation
- Knowledge
compiled_markdown_document.md
Challenges and limitations
일단 GPTs를 사용하려면 유료 버전의 ChatGPT를 사용해야 합니다. 물론 직접 프로그래밍을 해서 GPT에 접근을 하거나(이렇게 하더라도 비용이 들지 않나 싶지만), zapier(이것도 무료는 기능이 제한적입니다) 같은 도구를 사용하는 방법도 있습니다.

이렇게 문제를 확인하고 PoC를 해보았다고 마무리하는데, 현실 세계에서는 문서의 범위가 하나의 마크다운 파일로 만들지 못할 수도 있어서, 좀 더 많은 수고가 들어갈 수도 있습니다. PoC가 실제 제품화로 이어진 것은 아닌 것 같구요.
Q&A에서 문서 내 챗봇에 대한 이야기가 있었는데 발표자 의견으로는 아직 최적의 챗봇은 만나보지 못했다라고 이야기합니다. 아무래도 문서를 작성해 주는 회사 정책 상 좀 더 보수적으로 접근하는 것이 아닌가 싶습니다. 하지만 다른 세션에서 RAG 기반 챗봇에 대한 솔루션들이 많이 소개되었고 답변의 정확도를 높이기 위한 여러 가지 시도가 있었기 때문에 지금은 의견이 달라지지 않았을까 싶네요. 스트라이프의 경우에도 현재는 Ask AI 기능을 기본 제공하고 있습니다.
Best practices guide for using Stripe Doc & Ask AI
https://vimeo.com/1110399664
https://youtu.be/OAIu2j3rUQA?si=xzE2IkOBHgQ3yc0w