Sider.ai
  • 채팅
  • Wisebase
  • 도구
  • 확대
  • 클라이언트
  • 가격
지금 다운로드
로그인

Sider와 함께 더 빠르게 배우고, 더 깊이 생각하며, 더 스마트하게 성장하세요.

제품
앱
  • 확장 프로그램
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
도구
  • 웹 크리에이터New
  • AI 슬라이드New
  • AI 에세이 작성기
  • Nano Banana Pro
  • Nano Banana Infographic
  • AI 이미지 생성기
  • 이탈리안 브레인롯 생성기
  • 배경 제거기
  • 배경 변경기
  • 사진 지우개
  • 텍스트 제거기
  • 인페인트
  • 이미지 업스케일러
  • 생성하기
  • AI 번역기
  • 이미지 번역기
  • PDF 번역기
Sider
  • 문의하기
  • 도움말 센터
  • 다운로드
  • 가격
  • 교육 계획
  • 새로운 소식
  • 블로그
  • 커뮤니티
  • 파트너
  • 제휴
  • 초대하기
©2026 모든 권리 보유
이용 약관
개인정보 보호정책
  • 홈 페이지
  • 블로그
  • AI 도구
  • Claude 4.5로 가볍게 코딩 에이전트 구축하기—불필요한 기능은 빼고

Claude 4.5로 가볍게 코딩 에이전트 구축하기—불필요한 기능은 빼고

업데이트 날짜: 2025년 9월 30일

12 분


서론: 모두가 원하는 에이전트, 과장 광고는 빼고
코딩 에이전트의 문제는 대부분이 당신의 상사, 공동 조종사, 심리 치료사가 되려고 하면서 정작 코드 작성은 잊는다는 것입니다. 일반적인 방식은 다음과 같습니다. 벡터 저장소를 12개 추가하고, 오케스트레이션 요정 가루를 뿌리고, 브라우저를 장착한 다음, 끝났다고 선언합니다. 데모는 잘 됩니다. 하지만 금요일 오후 4시 52분에 불안정한 통합 테스트를 수정하라고 요청하는 순간 무너집니다.
Claude 4.5를 사용하여 경량 코딩 에이전트를 구축하는 것은—놀랍게도—만능 소프트웨어 집사의 꿈을 쫓는 것을 멈추고 코드 읽기, 계획, 편집, 실행 및 반복 작업을 수행하는 도구를 구축하면 실제로 간단합니다. “AI가 개발자를 대체한다”는 설교도 없고, 장치 같은 파이프라인도 없습니다. 단지 명백한 작업을 잘 수행하는 견고한 루프일 뿐입니다.
이것은 AI 운영 부서 전체를 끌어들이지 않고 목표를 달성하는 방법에 대한 가이드입니다. 두뇌로는 Claude 4.5를, 손으로는 파일 시스템과 셸을, 단기 집중을 위해서는 작은 메모리를 사용합니다. 그게 전부입니다. 경량이라는 것은 한 번에 이해하고, 로컬에서 실행하고, 모든 단계를 검사할 수 있기 때문에 신뢰할 수 있다는 의미입니다. 최근에 이 분야의 다른 것을 사용해 본 적이 있다면 거의 파격적입니다.
최소 에이전트에 Claude 4.5가 적합한 이유
Claude 4.5는 코드에 실제로 필요한 성질을 가지고 있습니다. 즉, 명령을 주의 깊게 따르고, 를 놀라울 정도로 잘 읽고, 요청하지 않은 프레임워크를 섣불리 제시하지 않습니다. 이 모델은 프롬프트 소설 전체를 요구하지 않고도 단계별 추론에 능숙합니다. 추론과 자제의 조합은 코딩 에이전트 루프에 이상적입니다.
  • 관찰: 현재 파일, 오류 로그 및 테스트를 읽습니다.
  • 계획: 근거와 함께 구체적인 편집을 제안합니다.
  • 실행: 파일을 패치하고 명령을 실행합니다.
  • 반성: 출력을 평가하고 반복하거나 중단합니다.
어떤 저장소에도 연결하여 오후에 가치를 얻을 수 있습니다. 핵심은 이를 “AI 플랫폼”으로 바꾸려는 충동을 억제하는 것입니다. 에이전트를 가볍게 유지하면 Claude 4.5가 방해 없이 어려운 작업을 수행합니다.
경량 아키텍처: 5가지 요소, 문제 없음
필요한 전체 스택은 다음과 같습니다.
  • 핵심 루프: Claude 4.5를 호출하고 해당 도구 사용 메시지를 해석하는 하나의 프로세스입니다.
  • 도구: 작은 세트—read_file, write_file, list_dir, run_tests (또는 run_cmd), search_code.
  • 컨텍스트 빌더: 저장소 메타데이터와 최근 를 사용하여 짧고 핵심적인 프롬프트를 구성합니다.
  • 단기 메모리: 롤링 대화 창과 계획 및 제약 조건에 대한 명시적 스크래치패드입니다.
  • 안전 장치: 토큰, 시간 및 파일 쓰기 제한; 드라이 런 모드; 롤백 스냅샷.
그게 전부입니다. 터미널에서 헤드리스로 실행하거나 필요한 경우 최소한의 UI로 래핑할 수 있습니다. 이것이 작동하는 이유는 간단합니다. 모든 동작이 관찰되고 검증 가능하기 때문입니다. 에이전트는 변경 사항을 제안하고, 를 표시하고, 테스트를 실행하고, 출력을 읽고, 계속하거나 중단합니다. 중간에 미스터리한 것은 없습니다.
에이전트 구축 방법 (핵심을 잃지 않고)
1단계: 계약 정의—프롬프트 및 도구
에이전트는 모델과의 계약만큼 좋습니다. 시스템 프롬프트를 짧고 엄격하며 철저히 실용적으로 유지하십시오.
요약된 시스템 프롬프트:
  • 당신은 코딩 에이전트입니다. 당신의 임무는 사용자 작업을 만족시키기 위해 저장소를 약간 올바르게 변경하는 것입니다.
  • 숨겨진 스크래치패드에서 소리 내어 생각하십시오. 계획과 만 사용자에게 노출하십시오.
  • 최소한의 , 작동하는 테스트 및 점진적인 진행을 선호합니다.
  • 확실하지 않은 경우 실험을 제안하고 실행하십시오.
  • 파일이나 명령을 조작하지 마십시오. 편집하기 전에 목록을 작성하고 읽으십시오.
도구 스키마 (너무 많이 생각하지 마십시오):
  • list_dir(path)
  • read_file(path, offset?, length?)
  • write_file(path, content, create_if_missing=false)
  • run_cmd(command, timeout=60, cwd=repo_root)
  • search_code(query, path=repo_root, max_results=50)
선택적 편의 사항: 핸즈프리 롤백을 원할 경우 git_diff 및 git_revert(sha). 벡터 저장소는 건너뛸 수 있습니다. 가장 유용한 작업은 작업 메모리의 몇 가지 파일과 빠른 검색에 달려 있습니다.
2단계: 컨텍스트를 간결하게 유지
컨텍스트 채우기는 에이전트 설계의 입니다. 전체 모노레포를 프롬프트에 덤프하지 마십시오. 대신:
  • 저장소 요약: 한 단락의 요약; 진입점; 테스트 러너 명령.
  • 활성 파일: 에이전트가 터치할 계획인 파일만 필요에 따라 청크 단위로 읽어 들입니다.
  • 작업: 사용자 목표를 명확하게 표현합니다. “tests/foo_test.py에서 실패하는 테스트 FooTest.test_bar 수정”
  • 제약 조건: 런타임 제한, 파일 쓰기 허용 목록, 스타일 규칙 및 해당하는 경우 시맨틱 버전 관리 기대치.
  • 최근 기록: 마지막 두 개의 와 해당 테스트 결과. 다른 것은 없습니다.
Claude 4.5는 search_code 및 read_file을 통해 필요할 때 더 많은 컨텍스트를 가져올 수 있습니다. 영토가 아닌 지도를 제공하십시오.
3단계: 루프 (관찰 → 계획 → 실행 → 반성)
  • 관찰: 디렉토리를 나열하고, 실패하는 테스트, 테스트 중인 코드 및 오류 로그를 읽는 것으로 시작합니다. Claude에게 실패 증상을 2~3개의 글머리 기호로 요약하도록 요청하십시오.
  • 계획: Claude에게 다음을 포함하는 계획을 제안하도록 합니다.
  • 실패에 대한 가설
  • 검사 또는 편집할 파일
  • 시도할 최소한의
  • 유효성을 검사할 테스트 명령
  • 실행: write_file을 통해 제안된 를 적용합니다. 를 있는 그대로 표시합니다. 테스트를 실행합니다.
  • 반성: stdout/stderr를 다시 공급합니다. Claude에게 진행, 롤백 또는 중단하도록 요청하십시오. 계획이 변경되면 실제 출력을 참조하여 한 문장으로 정당화해야 합니다.
  • 종료: 테스트가 통과하거나 N회 반복 후 먼저 오는 것을 기준으로 중단합니다.
이것은 페어 프로그래밍을 미화한 것으로, 실제로 페어링을 정직하게 유지합니다.
4단계: 주말을 구하는 안전 장치
  • 쓰기 허용 목록: src/, lib/ 또는 명시적으로 승인된 경로 내에서만 쓰기를 허용합니다.
  • 크기 제한: 단계당 편집을 200~500줄로 제한합니다. 더 큰 경우 하위 단계로 분할합니다.
  • 명령 허용 목록: 테스트 러너, 린터 및 몇 가지 개발 스크립트. 네트워크를 금지합니다. 야생 서부 시대의 이 아닌 재현성을 원합니다.
  • 시간 초과 및 재시도: 짧은 시간 초과, 최대 1회 재시도—끝없는 재실행 루프는 에이전트가 죽는 곳입니다.
  • 드라이 런 모드: 제안된 를 인쇄하되 쓰지는 마십시오. 코드 검토에 좋습니다.
Claude 4.5는 명시적으로 규칙을 준수합니다. 그렇지 않은 경우 2017년 블로그 게시물에서 일부 게시물에 따라 전체 저장소를 재구성하여 “도움”을 주려고 할 때 놀라지 마십시오.
5단계: 실제로 유용한 메모리
단기 메모리는 문제의 80%를 해결합니다. 다음을 유지하십시오.
  • 현재 가설 및 계획에 대한 스크래치패드.
  • 이 세션에서 터치한 파일 목록.
  • 마지막 두 개의 명령 출력.
Claude 4.5가 일관성 있게 추론하기에 충분합니다. 장기 메모리—작업 로그, 임베딩—는 반복되는 코드베이스에 유용할 수 있지만 선택적 설탕으로 취급하십시오. 에이전트가 500MB 벡터 인덱스 없이 테스트를 수정할 수 없다면 에이전트가 아니라 종속성입니다.
최소 구현 스케치
의사 코드 용어로 이 에이전트를 수백 줄로 구현할 수 있습니다.
  • initialize: 저장소 메타데이터, 제약 조건 및 모델 클라이언트 로드
  • loop(task):
  • observe: 실패하는 테스트, 파일, 로그 읽기
  • plan = model.propose_plan(context)
  • while not done and steps < MAX:
  • diff = model.propose_patch(plan)
  • show(diff); maybe approve
  • write_file(diff)
  • out = run_cmd(plan.test_cmd)
  • reflect = model.evaluate(out)
  • if reflect == pass: done = true
  • else if reflect == rollback: git_revert(last_commit)
  • else: plan = model.revise_plan(out)
누락된 부분은 다음과 같습니다. 에이전트를 관리하는 에이전트, “대리인”, 별도의 “계획 모델” 및 “실행 모델”이 없습니다. 장치로 망치지 않으면 Claude 4.5가 두 가지 작업을 모두 잘 수행할 수 있습니다.
너무 열심히 노력하지 않는 프롬프트
나쁜 프롬프트는 영리하려고 노력합니다. 좋은 프롬프트는 지루하고 구체적입니다. 핵심 명령 블록에 대한 건전한 스켈레톤은 다음과 같습니다.
  • 목표: 정확한 코딩 작업 및 성공 기준을 명시합니다.
  • 컨텍스트: 프로젝트 구조, 진입점 및 테스트 명령.
  • 제약 조건: 쓰기 허용 목록, 크기 제한, 네트워크 없음.
  • 스타일 기본 설정: 언어 버전, 포맷터, 린터 규칙.
  • 프로세스: 관찰 → 계획 → 실행 → 반성; 표시; 테스트 실행; 최대 N단계 반복; 테스트가 통과되면 중단합니다.
Claude 4.5는 이 구조로 100줄 역할극 시나리오가 필요하지 않습니다. 그냥 작동합니다.
실용적인 예: 실패하는 테스트 수정
tests/time_test.py에서 parse_time(“09:00”)이 32400 대신 5400을 반환하기 때문에 테스트가 실패한다고 가정합니다. 에이전트의 루프는 다음과 같습니다.
  • 관찰: time.py 및 time_test.py를 읽습니다. pytest -k parse_time을 실행합니다.
  • 계획: 가설—초 대 분 수학 버그; parse_time 편집을 제안합니다. 단위 에지 케이스를 추가합니다.
  • 실행: parse_time을 패치하고 선행 0시간에 대한 테스트를 추가합니다. 테스트를 실행합니다.
  • 반성: 테스트가 여전히 실패하면 오류를 읽고 수학 또는 정규식을 조정하고 다시 실행합니다.
최소한의 성공적인 패치는 두 줄 변경일 수 있습니다. 그게 요점입니다. 작은 편집, 빠른 주기, 실제 진행.
경량이 를 이기는 곳
  • 대기 시간: 하나의 모델, 하나의 루프, 오케스트레이션 오버헤드 없음.
  • 투명성: 모든 단계를 감사할 수 있습니다. 할 수 있고, 되돌릴 수 있고, 다시 실행할 수 있습니다.
  • 제어: 안전 장치는 손상을 로컬로 유지합니다. 에이전트가 인프라로 벗어날 수 없습니다.
  • 비용: 호출 횟수 감소, 컨텍스트 감소, 예측 가능한 토큰.
  • UX: 당신은 그것을 이해합니다. 당신의 팀원들은 그것을 이해합니다. 당신의 미래 자아는 당신을 미워하지 않을 것입니다.
그리고 절충안:
  • 범위: 경량 코딩 에이전트는 단일 패스에서 5개 언어 모노레포를 리팩터링하지 않습니다. 그렇게 해서도 안 됩니다.
  • 주도성: 몇 주 동안의 로드맵을 발명하지 않습니다. 당신이 작업을 제공합니다.
  • 상태 유지: 큰 메모리 계층이 없으면 의도적으로 먼 기록을 잊어 버립니다. 버그가 될 때까지는 기능입니다.
코딩 에이전트를 위한 Claude 4.5의 스위트 스폿
Claude 4.5는 다음에서 빛을 발합니다.
  • 및 로그 읽기 및 추론.
  • 일관성 있고 최소한의 코드 변경 생성.
  • 제약 조건을 따르고 불확실성에 대해 명시적입니다.
다음에는 좋지 않습니다.
  • 읽을 수 없는 API 동작 추측.
  • 무거운 도구 안무 (여기서는 필요하지 않음).
  • 사람이 단계를 안내하지 않고는 긴 다중 파일 리팩터링.
마지막 요점이 중요합니다. 강력한 결과를 얻는 가장 좋은 방법은 에이전트를 더 크게 만드는 것이 아니라 작업을 더 작게 만드는 것입니다. 범위 지정에는 두뇌를 사용하고 해당 범위 내에서 실행에는 Claude 4.5를 사용하십시오.
IDE 통합에 대한 단어
50개의 토글이 있는 IDE 창에 직접 구울 충동을 억제하십시오. 일반 텍스트 가 있는 터미널 기반 루프가 더 신뢰하고 디버그하기 쉽습니다. 편집기 설탕을 원하면 멍청하게 유지하십시오.
  • 루프를 시작/중지하는 명령.
  • 분할 뷰에 를 표시합니다.
  • 쓰기에 대한 승인 프롬프트 (선택 사항이지만 현명함).
나중에 통합할 수 있습니다. 먼저 작동하게 만드십시오.
Sider.AI, 아껴서 사용하면 실제로 도움이 됩니다.
비계를 재발명하지 않고 이런 종류의 루프를 실행할 수 있는 실용적인 환경을 원한다면 Sider.AI는 실제로 작동합니다. 적어도 잘하는 일에 사용하는 경우에는 그렇습니다. 대화와 를 깔끔하게 유지하고, 명령을 실행할 수 있으며, 웅장한 “자율 에이전트 프레임워크”를 강요하지 않습니다. 요령은 짧은 프롬프트, 견고한 루프, 보이는 와 같은 자신의 규칙을 지키는 것입니다. 는 방해가 되지 않으며, 이는 당연한 것보다 드뭅니다.
일반적인 함정 (어리석어 보이지 않는 방법)
  • 과도한 컨텍스트: 프롬프트가 몸값 요구 사항처럼 보이면 잘못하고 있는 것입니다. 요청 시 파일을 가져옵니다.
  • 조기 리팩터링: 에이전트가 모듈 재구성을 제안합니까? 먼저 테스트를 통과하게 만드십시오. 나중에 리팩터링하십시오.
  • 환각 파일: 새 경로에 write_file하기 전에 list_dir 및 read_file이 필요합니다.
  • 무한 재실행 루프: 단계 제한. 각 새로운 가설에 대한 정당성을 요구합니다.
  • 하나의 거대한 : 변경 사항을 분할합니다. 더 작은 는 더 빨리 실패하고 추론하기 쉽습니다.
편집증 없는 보안 및 안전
  • 로컬 실행: 샌드박스 디렉토리에서 실행합니다. 기본적으로 네트워크가 없습니다.
  • 종속성 격리: 로컬 venv 또는 컨테이너를 사용합니다. 버전을 고정합니다.
  • 비밀: 에이전트에게는 필요하지 않습니다. 명령에 토큰이 필요한 경우 중지하고 요청하십시오.
  • 감사: 모든 계획, 및 명령을 로그에 유지합니다.
작동 중인지 확인하는 방법
  • 리드 타임 단축: 한 시간 걸리던 버그 수정이 이제 10분 걸립니다.
  • 실수 감소: 가 더 작아지고 테스트가 더 친환경적입니다.
  • 당신은 그것을 신뢰합니다. 당신은 모든 행동을 주시하는 것을 멈춥니다. 왜냐하면 그것이 당신을 태우지 않았기 때문입니다.
  • 팀원들이 그것을 사용합니다. 성공의 정의는 다른 사람들이 회의 없이 그것을 채택한다는 것입니다.
신중하게 확장
정말로 확장해야 한다면 규율을 가지고 하십시오.
  • 병렬 두뇌가 아닌 병렬 하위 작업: 작업을 분할하고, 별도의 디렉토리에서 여러 개의 경량 루프를 실행하고, 녹색이 되면 병합합니다.
  • 두뇌 덤프가 아닌 에피소드 메모리: 성공적인 패치 및 증상-수정 매핑을 저장합니다. 외과적으로 검색합니다.
  • 주기적인 “더 큰” 패스: 사람이 안내하는 리팩터링 세션을 예약합니다. 에이전트가 지원하고 주도하지 않습니다.
최소 참조 구현 (스케치)
이동하기 위한 Python 스타일 의사 코드:
  • class LightweightAgent:
  • def init(self, repo_root, model):
  • self.root = repo_root
  • self.model = model
  • self.history = [] # 마지막 두 개의 및 테스트 출력
  • def context(self, task):
  • return {
  • "task": task,
  • "repo": summarize_repo(self.root),
  • "constraints": {"write_whitelist": ["src/", "tests/"], "max_diff_lines": 300, "no_network": True},
  • "history": self.history[-2:],
  • }
  • def step(self, task):
  • plan = self.model("propose_plan", self.context(task))
  • diff = self.model("propose_patch", {"plan": plan})
  • approve(diff)
  • apply_diff(diff)
  • out = run_cmd(plan.test_cmd)
  • eval = self.model("evaluate", {"output": out, "plan": plan})
  • self.history.append({"diff": diff, "out": tail(out)})
  • return eval
인간 규모의 결말
업계는 자율 개발자 에이전트를 계속 약속하고 있습니다. 실제로 필요한 것은 읽고, 계획하고, 편집하고, 실행하고, 중지하는 정직한 도우미입니다. Claude 4.5는 스스로를 정당화하기 위해 대부분 존재하는 프레임워크에 묻히지 않는다면 좋습니다. 경량은 타협이 아니라 요점입니다. 루프를 구축하고, 안전 장치를 추가하고, 도구가 단순하게 유지될 때 항상 수행했던 작업을 수행하도록하십시오. 작업을 더 작게 만드십시오.
결론: 지루한 지름길이 승리합니다.
Claude 4.5를 사용한 경량 코딩 에이전트에 대한 체크리스트는 다음과 같습니다.
  • 하나의 루프, 하나의 모델, 작은 도구.
  • 견고한 컨텍스트: 작업, 몇 개의 파일, 마지막 출력.
  • 최소한의 , 빈번한 테스트, 강력한 제한.
  • 로컬, 샌드박스 실행; 네트워크 없음.
  • 선택적 편집기 설탕; 결코 필요하지 않습니다.
눈을 가늘게 뜨면 의심스럽게 좋은 소프트웨어 엔지니어링처럼 보입니다. 더 빠릅니다. 그리고 그것이 펀치라인입니다. 여기서 할 수 있는 가장 현명한 일은 “자율성”을 쫓는 것이 아니라 규율을 성문화하는 것입니다. 에이전트에 요청할수록 더 많은 것을 얻을 수 있습니다.

FAQ

Q1: Claude 4.5로 경량 코딩 에이전트 구축을 시작하려면 어떻게 해야 합니까? 작은 도구 세트 (읽기, 쓰기, 검색, 실행)를 정의하고 엄격한 시스템 프롬프트를 작성하고 관찰 → 계획 → 실행 → 반성 루프를 구현합니다. 컨텍스트를 작게 유지하고 실제 로그와 를 공급하십시오. Claude 4.5는 작업이 좁고 피드백이 구체적일 때 가장 잘 수행됩니다.
Q2: Claude 4.5 코딩 에이전트에 벡터 데이터베이스 또는 메모리 계층이 필요합니까? 아니요. 대부분의 작업에서 단기 메모리와 search_code만으로 충분합니다. 동일한 저장소를 반복적으로 방문하고 에이전트를 더 멍청하게 만들지 않고 토큰을 절약할 수 있다는 것을 증명할 수 있는 경우에만 장기 메모리를 추가하십시오.
Q3: Claude 4.5 코딩 에이전트에 필수적인 안전 장치는 무엇입니까? 쓰기 가능한 경로를 허용 목록에 추가하고, 크기를 제한하고, 명령을 제한하고, 모든 작업을 기록합니다. 이러한 간단한 제한은 에이전트를 예측 가능하게 유지하고 롤백을 지루하게 만듭니다. 좋은 의미로.
Q4: 경량 에이전트가 다중 파일 리팩터링을 처리할 수 있습니까? 예, 작업을 작은 단계로 분할하고 루프를 견고하게 유지하면 가능합니다. Claude 4.5는 리팩터링을 관리할 수 있지만 범위를 안내합니다. 그렇지 않으면 검토하고 싶지 않은 하나의 거대하고 깨지기 쉬운 를 얻게 됩니다.
Q5: Sider.AI는 Claude 4.5 코딩 에이전트와 어떻게 관련됩니까? Sider.AI는 깔끔한 작업 공간으로 유용합니다. 무거운 에이전트 프레임워크를 강요하지 않고도 대화, 및 명령을 한 곳에서 볼 수 있습니다. 루프를 재발명하는 것이 아니라 루프를 실행하는 데 사용하십시오.

최근 기사
ChatPDF 마스터하기: 방대한 문서에서 빠르게 인사이트 얻는 법

ChatPDF 마스터하기: 방대한 문서에서 빠르게 인사이트 얻는 법

빠르고 정확한 문서 번역을 위한 최고의 X 자동 번역 대안

빠르고 정확한 문서 번역을 위한 최고의 X 자동 번역 대안

이란에서 삼성 AI 번역이 불가능한가요? 실용적인 해결 방법

이란에서 삼성 AI 번역이 불가능한가요? 실용적인 해결 방법

페르시아어 번역 도구: 빠르고 정확한 작업을 위한 실용 가이드

페르시아어 번역 도구: 빠르고 정확한 작업을 위한 실용 가이드

깊이 있고 인용된 연구를 위한 최고의 Grok 대안

깊이 있고 인용된 연구를 위한 최고의 Grok 대안

실제로 사용할 AI 이미지 생성기 상위 15가지 기능

실제로 사용할 AI 이미지 생성기 상위 15가지 기능