토큰 낭비 문제: AI 에이전트가 권한을 평가하면 안 되는 이유
Source: Dev.to
Introduction
우리는 20년 전 if 문으로 해결할 수 있었던 문제에 수백만 개의 API 토큰을 태우고 있습니다. 저는 매일 멀티‑에이전트 시스템(MAS)을 구축하는 개발자들과 이야기를 나누며 같은 거대한 아키텍처 안티패턴을 목격합니다: 모든 것을 AI 모델을 통해 라우팅하는 것이죠.
- 에이전트의 권한을 확인해야 하나요? “LLM에 물어보세요.”
- 메시지를 라우팅해야 하나요? “LLM에 물어보세요.”
- 데이터 스키마를 검증해야 하나요? “LLM에 물어보세요.”
언어 모델은 뛰어난 추론 엔진이지만, 동시에 비용이 많이 들고, 확률적이며, 비교적 느립니다. 접근 정책을 확인하는 것처럼 결정적이고 정확한 답이 존재하는 문제는 신경망이 추측하기보다 런타임 코드가 평가해야 합니다.
The Problem: Over‑reliance on LLMs
결정적이고 규칙 기반으로 해결할 수 있는 작업에 LLM을 사용하는 것은 자원을 낭비하고 불필요한 불확실성을 초래합니다. 이 패턴은 다음과 같은 문제를 일으킵니다:
- 과도한 토큰 소비
- 지연 시간 증가
- 비결정적 결정으로 인한 잠재적 보안 위험
Probabilistic vs. Deterministic Approaches
Bad (Probabilistic) Example
// BAD: Asking the LLM to check permissions
const prompt = `You are an agent. The user wants to delete a file.
Here are their permissions: ${user.permissions}.
Should you allow it?`;
const decision = await llm.generate(prompt);
Good (Deterministic) Example
// GOOD: Let code handle policy, let AI handle reasoning
if (!user.hasPermission('delete_file')) {
throw new Error("Unauthorized");
}
// Only call the LLM for actual cognitive tasks
const plan = await agent.reasonAboutFile(file);
이 패턴에서는 결정적인 코드가 정책과 경계를 강제하고, AI는 진정한 인지 작업에만 사용됩니다.
Conclusion
AI가 흥미롭다고 해서 기본적인 소프트웨어 엔지니어링 원칙을 잊고 있지는 않은가요? MAS 분야는 더 많은 래퍼가 아니라, 결정적 로직과 AI 추론 사이의 명확한 경계를 강제하는 표준화된 프레임워크가 필요합니다. 견고한 인프라 구축으로 돌아가야 할 때입니다.