promptfusion
요약
Prompt Fusion은 AI 에이전트의 복잡한 지침을 관리하기 위한 3계층 프롬프트 시스템입니다. 수치적 가중치를 LLM이 이해할 수 있는 의미론적 우선순위로 변환하여 지침 간의 충돌을 해결하고 정교한 역할 수행을 지원합니다.
핵심 포인트
- 기초, 브레인, 페르소나의 3계층 프롬프트 구조 제공
- 수치적 가중치를 의미론적 우선순위 레이블로 변환
- 지침 간 충돌 자동 해결 및 명시적 우선순위 정렬
- 다양한 LLM 제공업체 및 사용자 역할에 유연하게 대응
AI 에이전트를 위한 의미론적 가중치 프롬프트 레이어링 (Semantic Weighted Prompt Layering)
지능적인 우선순위 관리를 통해 다층 프롬프트 (multi-layer prompts)를 구성하는 정교한 시스템입니다. 기초 규칙, 워크스페이스 설정, 그리고 동적인 역할 기반 행동 사이의 균형을 맞춰야 하는 AI 에이전트를 위해 설계되었습니다.
Ahmad Othman Ammar Adi (Othman Adi)
시리아 하마 출신의 풀스택 개발자 (Full Stack Developer), AI 에이전트 오케스트레이터 (AI Agents Orchestrator)이자 열정적인 교육자이며, 현재 독일 베를린에 거주하고 있습니다.
- 🎓 학력: 컴퓨터 과학 (Computer Science) 수습 과정 수료
- 👨🏫 교육: 2020년부터 8,000회 이상의 기록된 강의 진행
- 📚 형식: 워크숍 (며칠에서 몇 주), 집중 과정 (2~6개월), 그리고 어린이를 위한 다년제 주말 코딩 클래스를 포함한 장기 프로그램
- 💼 현재 역할: migRaven의 AI 에이전트 오케스트레이터 (AI Agents Orchestrator)
이 프로젝트는 다음과 같은 작업이 필요한 프로덕션용 AI 에이전트를 구축하는 과정에서의 실질적인 과제로부터 탄생했습니다:
- 여러 지침 소스 (instruction sources) 간의 균형 유지
- 다양한 사용자 역할에 대한 적응
- 유연성을 유지하면서 안전성 (safety) 확보
- 다양한 LLM 제공업체 간의 작동
연락처:
- 🎯 프로젝트 웹사이트: promptsfusion.com
- 🌐 개인 웹사이트: othmanadi.com
- 💼 LinkedIn: codingwithadi
- 🐙 GitHub: OthmanAdi
Prompt Fusion은 다음을 지능적으로 결합하는 **3계층 프롬프트 관리 시스템 (three-layer prompt management system)**입니다:
Base Layer (기초 계층) - 도구 정의 (Tool definitions), 안전 규칙 (safety rules), 기초 제약 조건 (foundational constraints)
Brain Layer (브레인 계층) - 워크스페이스 설정 (Workspace configuration), 프로젝트 컨텍스트 (project context), 사용자 선호도 (user preferences)
Persona Layer (페르소나 계층) - 역할별 행동 (Role-specific behavior), 동적 오버레이 (dynamic overlays)
혁신 요소: 수치적 가중치 (0.0-1.0)를 LLM이 실제로 이해할 수 있는 우선순위 레이블로 변환하는 의미론적 가중치 부여 (Semantic weighting) 기술입니다.
AI 에이전트를 구축할 때, 여러분은 종종 다음과 같은 요소들을 결합해야 합니다:
정적 기초 지침 (Static base instructions) (사용 가능한 도구, 안전 규칙)
동적 워크스페이스 설정 (Dynamic workspace config) (프로젝트 컨텍스트, 사용자 선호도)
역할 기반 오버레이 (Role-based overlays) (분석가 vs. 연구원 vs. 개발자 행동)
전통적인 접근 방식:
- ❌ 단순 연결 (Simple concatenation) → 명확한 우선순위 부재
- ❌ 수치적 가중치 (Numerical weights) → LLM이 미세한 차이를 무시함
- ❌ 하드코딩된 프롬프트 (Hardcoded prompts) → 역할이나 문맥에 적응할 수 없음
Prompt Fusion:
- ✅ 의미론적 우선순위 (Semantic priorities) → "CRITICAL PRIORITY" vs "MODERATE GUIDANCE"
- ✅ 자동 충돌 해결 (Automatic conflict resolution) → 명시적인 우선순위 정렬
- ✅ 동적 구성 (Dynamic composition) → 런타임 역할 전환
- ✅ 프레임워크 불가지론 (Framework agnostic) → 모든 LLM 프레임워크에서 작동
# 리포지토리 클론
git clone https://github.com/OthmanAdi/promptfusion.git
cd promptfusion
...
import PromptFusionEngine from './core/promptFusionEngine.js';
const engine = new PromptFusionEngine();
// 레이어 정의
...
출력 (Output):
[BASE LAYER - MODERATE GUIDANCE]
You are a helpful AI assistant. Never share private information.
[BRAIN CONFIGURATION - MODERATE GUIDANCE]
...
수치적 가중치는 다음과 같이 의미론적 레이블 (Semantic labels)로 자동 변환됩니다:
| 가중치 범위 (Weight Range) | 의미론적 레이블 (Semantic Label) | 의미 (Meaning) |
|---|---|---|
>= 0.6 | CRITICAL PRIORITY - MUST FOLLOW | 다른 모든 지침보다 우선함 |
>= 0.4 | HIGH IMPORTANCE | 행동에 강력한 영향력을 미침 |
>= 0.2 | MODERATE GUIDANCE | 균형 잡힌 고려 사항 |
< 0.2 | OPTIONAL CONSIDERATION | 배경 문맥으로만 활용 |
다양한 시나리오를 위한 일반적인 패턴:
// 패턴 1: 활성 페르소나 포함 (Persona dominates)
const WITH_PERSONA = {
base: 0.2, // 배경 (Background)
...
messageModifier와 함께 사용:
import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { createFusionModifier } from './patterns/message-modifier-fusion.js';
const agent = createReactAgent({
...
instructions 파라미터와 함께 사용:
import { createFusionAgent } from './examples/openai-sdk/agent-with-fusion.ts';
const agent = createFusionAgent('analyst'); // 사전 구성된 페르소나
const response = await agent.run("Analyze customer retention trends");
system 파라미터와 함께 사용:
system 파라미터와 함께 사용:
import { claudeWithFusion } from './examples/anthropic/claude-with-fusion.ts';
const response = await claudeWithFusion(
"RCT에서 방법론적 고려사항 설명",
...
┌─────────────────────────────────────────┐
│ LAYER 3: 페르소나 (역할 오버레이) │
│ ├─ 분석가(Analyst): 통계학적 초점 │
...
사용자 메시지 전송
↓
페르소나 로드 (활성화된 경우)
...
권장되는 퓨전 방법: 가중치를 의미론적 레이블로 변환합니다.
매개변수(Parameters):
basePrompt
(string): 기본 계층(brainPrompt)
(string): 구성 계층(personaPrompt)
(string): 역할 계층(weights)
(object): { base, brain, persona }
- 합계가 1.0이어야 합니다.
반환값(Returns): (string) 의미론적 강조가 된 퓨전된 프롬프트
예시:
const fused = engine.semanticWeightedFusion(
"기본 지침",
"뇌 설정",
...
숫자 마커를 사용한 기본 퓨전.
반환값(Returns): (string) [BASE_WEIGHT:0.2]와 같은 가중치 마커가 있는 퓨전된 프롬프트
레이어 간 상충되는 지침 감지.
반환값(Returns): (array) 충돌 객체 배열
예시:
const conflicts = engine.detectConflicts(
"장황하고 상세하게 작성",
"전문적인 어조 유지",
...
숫자 가중치를 의미론적 레이블로 변환합니다.
매개변수(Parameters):
weight
(number): 0.0 - 1.0
반환값(Returns): (string) 의미론적 우선순위 레이블
// 분석가와 연구원 역할을 동적으로 전환
const analystWeights = { base: 0.2, brain: 0.3, persona: 0.5 };
const researcherWeights = { base: 0.2, brain: 0.3, persona: 0.5 };
...
// 프로덕션 작업 공간 (제한됨)
const prodBrain = "환경: 프로덕션. 접근: 읽기 전용.";
// 개발 작업 공간 (전체 접근)
...
// 도구 안전성(base) > 프로젝트 규칙(brain) > 사용자 선호도(persona)
const safetyFirst = { base: 0.6, brain: 0.3, persona: 0.1 };
import PromptFusionEngine from './core/promptFusionEngine.js';
const engine = new PromptFusionEngine();
// 시나리오: 분석가 역할을 가진 고객 분석 에이전트
...
우리는 핵심 융합 로직 (fusion logic)을 개선하거나, 새로운 통합 예시를 추가하거나, 문서를 강화하는 모든 기여를 환영합니다.
기여 방법:
- 🐛 이슈 또는 버그 보고
- 💡 새로운 가중치 패턴 (weight patterns) 제안
- 📝 문서 개선
- 🔌 프레임워크 통합 예시 추가
- 🧪 벤치마크 또는 사례 연구 공유
커뮤니티 정신 (Community Ethos):
이 프로젝트는 탐험과 발견에 관한 것입니다. 우리는 다음 사항에 관심이 있습니다:
- 의미론적 가중치 부여 (semantic weighting)의 새로운 응용
- 다른 접근 방식과의 성능 비교
- 실제 사용 사례 및 패턴
- 프롬프트 구성 (prompt composition)에 대한 이론적 통찰
MIT License - 자세한 내용은 LICENSE 파일을 참조하세요.
- 아키텍처 심층 분석 (Architecture Deep Dive)
- 가중치 패턴 가이드 (Weight Pattern Guide)
- LangChain 통합
- OpenAI SDK 통합
- Anthropic 통합
질문이 있으신가요? 아이디어나 발견한 것이 있나요?
promptsfusion.com을 방문하거나 GitHub에 이슈를 생성해 주세요. 여러분이 이것으로 무엇을 만들어낼지 정말 궁금합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기