PHP로 뉴스룸 AI 모듈 구축하기

대부분의 사람들은 뉴스룸의 AI라고 하면 커다란 채팅창 하나를 떠올립니다. 이는 잘못된 생각입니다. 그런 모델은 사람들이 한두 번 쓰고 방치하게 되는 기능들을 만들어낼 뿐입니다.

뉴스룸에는 수십 가지의 작고 구체적인 요구사항이 있습니다. 헤드라인 옵션이 필요하고, 소셜 미디어용 요약 문구가 필요하며, SEO 타이틀과 엔티티 태깅도 필요합니다. 각 작업은 규모는 작지만 저마다의 규칙을 가지고 있습니다.

200개의 뉴스 사이트와 협업하며 저는 이를 구축하는 올바른 방법을 찾아냈습니다. 하나의 거대한 "AI 기능"을 만들지 마세요. 대신 작고 전문화된 워크플로우의 레지스트리(registry)를 구축하십시오.

PHP로 구현하는 방법은 다음과 같습니다:

  • 프롬프트가 아닌 태스크(task)를 사용하세요. 태스크는 고정된 계약(contract)을 가진 이름이 지정된 단위입니다. 태스크는 무엇이 필요한지, 무엇을 반환하는지 알고 있습니다.
  • 태스크 내부에서 출력을 검증하세요. 모델은 종종 JSON을 원하는 상황에서도 텍스트를 반환합니다. 태스크가 스스로 출력을 검증한다면, 에디터를 망가뜨리지 않고도 재시도하거나 우아하게 오류를 처리할 수 있습니다.
  • 계층 기반 라우터를 사용하세요. 단순한 작업은 저렴한 모델에서 실행하고, 법률이나 리스크 관련 작업은 프리미엄 모델에서 실행하십시오.
  • 태스크와 입력값별로 캐싱하세요. 에디터가 동일한 기사에서 버튼을 두 번 클릭했다고 해서 AI 호출 비용을 두 번 지불할 필요는 없습니다. 캐싱은 최고의 비용 관리 수단입니다.
  • 규칙은 코드에, 감각(taste)은 프롬프트에 두세요. 헤드라인이 70자 미만인지 확인하라고 모델에게 요청하지 마세요. 그런 작업은 PHP를 사용하십시오. 모델은 헤드라인이 좋은지 판단하는 데 사용하세요. 코드는 규칙을 처리하고, 모델은 판단을 처리합니다.

체계적인 관리를 위해 태스크를 그룹화하세요:

• Headlines: SEO titles, social blurbs, push notifications. • Structure: Summaries, key points, read more suggestions. • Classification: Category suggestions, tag extraction. • Media: Alt text, captions, crop hints. • Quality: Tone checks, risk flags, profanity filters.

목표는 운영의 신뢰성입니다. 바쁜 뉴스 데이 도중에 AI 제공업체가 다운되더라도, 코드를 다시 작성하는 것이 아니라 설정 파일만 변경하면 되도록 만들어야 합니다.

성공을 위한 마지막 두 가지 규칙:

  1. 제안은 초안일 뿐입니다. AI가 발행 필드에 직접 글을 쓰게 하지 마세요. 반드시 사람이 검토하고 승인해야 합니다.
  2. 백그라운드에서 작업하세요. 태스크가 1초 이상 걸린다면 비동기(async) 작업으로 실행하십시오. 에디터가 로딩 화면을 보며 기다리게 만들지 마세요.

아키텍처를 먼저 구축하세요. 모델은 그다음입니다.

Source: https://dev.to/mahmut_gndzalp_c736ac4b/building-newsroom-ai-modules-in-php-50-specialized-workflows-2co1