Burada kod yazmanız, JSON girmeniz ya da bir API öğrenmeniz gerekmez. Birine
“portre iş akışımı aç ve steps’i 30’a çıkar” diye sordunuzsa arayüzü zaten
biliyorsunuz.
Bir araç, ajanın yapabileceği bir şeydir; sizin yazdığınız bir şey değil
Kendi başına bir sohbet modeli yalnızca metin üretebilir. Bir iş akışını anlatabilir; birini açamaz. Bir araç, modele verdiğimiz belirli, adlı bir eylemdir; böylece gerçekten sizin ComfyUI’nize ulaşabilir — bir dosya yüklemek, bir işlemeyi kuyruğa almak, bir düğüm paketi kurmak, çıkan resmi bakmak. Model bunları uyduramaz. Sabit bir menü alır ve menüdeki her madde tam olarak neye ihtiyacı olduğunu söyler. O menüden asla siz seçmezsiniz. Ne istediğinizi, aklınıza gelen sözcüklerle söylersiniz; ajan seçer.
İkinci satıra bakın: bir cümle, iki araç, bilmeniz gerekmeyen bir sırada. Bütün
düzenlemenin amacı budur. Bir dosyayı bulmak ile okumanın ayrı işlemler olduğunu
bilmeniz beklenmez.
Peki referans sayfalarındaki tüm o JSON ne işe yarıyor?
Her araç sayfası şöyle bir blok gösterir:Araçlar iki yerden gelir
İki yüzey vardır ve bunlar farklı soruları yanıtladıkları için vardır.Kenar çubuğu paneli
ComfyUI’nin içinde, Ajan sekmesinde yaşar. Araçları (
panel_*) şu anda
baktığınız grafikte — kaydedilmemiş değişikliklerinizle birlikte gerçek
tuvalde — iş görür.Dış bir istemci
Claude Desktop, Claude Code, bir düzenleyici, telefonunuz. Araçları
sunucuda iş görür: diskteki dosyalar, iş kuyruğu, modeller, düğüm
paketleri, ComfyUI sürecinin kendisi.
- önünüzdeki grafiği okumak (
panel_graph_outline) - onu çalıştırmak, Queue Prompt’a basmışsınız gibi (
panel_run) - bir düğüm bağlamak, bir widget değiştirmek, bir düğümün neden kırmızı olduğunu
söylemek (
panel_add_node,panel_set_widget,panel_get_errors) - tuvale bütün bir iş akışı yüklemek ya da orada olanı kaydetmek
(
panel_load_workflow,panel_save_workflow)
Bir araç, birkaç iş
Bazı araçların biraction aldığını fark edeceksiniz:
workspace bir konudur — hangi ComfyUI
kurulumundan söz ediyoruz — ve action o konu hakkında hangi soruyu
sorduğunuzu söyler: oku, varsayılanı değiştir, neler var listele.
Sıradan konuşma gibi okunur; fiil ile nesne ayrı sözcüklerdir:
Hiçbir şey kaldırılmadı
Bu biçim oldukça yenidir ve yeteneğin kesildiği gibi okunması kolaydır. Öyle değildir ve kafa karışıklığını doğrudan savuşturmak gerekir, çünkü bu zaten ortaya çıktı. Eskiden soru başına bir araç vardı — bir çalışma alanını okumak için ayrı bir ad, ayarlamak için başka, listelemek için başka. O adlar gitti ve araç sayısına bakarsanız keskin biçimde düştüğünü görürsünüz. Gerçekte olan, ilgili araçların silinmesi değil birleştirilmesidir:
Alttaki kod aynı, davranış aynı, yanıtlar aynı. Yalnızca öndeki etiket değişti.
Nedeni, menünün incitecek kadar uzamasıdır. Her aracın tam açıklaması, model
seçebilsin diye önceden modele verilmek zorundadır ve belli bir boyuttan sonra
seçimin kendisi bozulur — özellikle küçük modeller doğru olan yerine makul
görünen komşuyu seçmeye başlar. Daha az, daha geniş araç ve net bir
action
bunu ölçülebilir biçimde düzeltir. Ayrıca modelin dikkatini bir katalog
okumaktan çok sizin isteğinize harcaması anlamına gelir.
Bunun hiçbirini fark etmemelisiniz. Eski adı da siz yazmıyordunuz; “hangi
ComfyUI’deyim?” diyordunuz ve bu hâlâ işe yarar.
Daha eski bir kılavuz ya da bir modelin kendi belleği artık var olmayan bir
ada uzanırsa, boş bir “unknown tool” yerine yerine geçen adı veren belirli bir
hata alırsınız — örneğin: removed in 0.49.0. Call workspace (action:“get”)
instead. Ajan genellikle kendini düzeltir ve siz hiçbir şey yapmadan yeniden
dener.
Farklı bir şey istemek
Her araç sayfası parametreler listeler —max_chars, limit, depth,
fields. Bunları nereye yazmanız gerektiği adil bir sorudur ve dürüst yanıt
şudur: hiçbir yere. max_chars için bir ayarlar kutusu yoktur, çünkü o bir
ayar değildir. Ajanın her araç çağrısında taze taze doldurduğu bir argümandır.
Bu sizi dışarıda bırakmaz. Denetimin nasıl göründüğünü değiştirir:
Bir parametre ayarlamazsınız. Bir parametre istersiniz — zaten yazacağınız
aynı cümlede.
İki isteme yolu
İkisi de işe yarar. Farklı biçimde başarısız olurlar; ikisini de bilmenin tek nedeni budur.
Aracı ve argümanı adlandırmak doğru biçim değildir — zorlayıcı biçimdir.
Bunu yeniden deneme için saklayın.
Yanıt kesildiğinde
Uzun okumalar tavanlanır; böylece devasa bir grafik bütün konuşmayı yutamaz. Aynı okumayı iki farklı tavan durdurabilir — listelenen düğüm sayısı (limit)
ve karakter bütçesi (max_chars) — ve sorun olmayanı yükseltmek hiçbir şeyi
değiştirmez; bu da tam olarak yeniden denemenin başarısız olduğu gibi okunur.
Hangisi olduğunu çözmeniz beklenmez. Kayıtlı bir dosyada not, ateşlenen
kaldıracı adlandırır ve diğerini eleer, açık açık:
… truncated at 40 of 300 byVe kaldıraç zaten tavanındaysa, sizi yeniden yükseltmeye göndermek yerine bunu söyler; çünkü yükseltilecek bir şey kalmamıştır.limit=40 — raiselimitup to 200, or narrow withtypes/where/ids/depth.max_charsis not the constraint here.
Canlı tuvalde (
panel_query_graph) aynı okuma, panelin bu motorun henüz o
ifadeye yetişmemiş kendi kopyası tarafından çalıştırılır. Oradaki bir not bir
argümanı adlandırıyor ve onu yükseltmek hiçbir şeyi değiştirmiyorsa, aracın
bozuk olduğu sonucuna varmadan önce diğerini deneyin.That got truncated — read the note and retry the same query, raising the limit it names.
Duvarlar nerede
Bunlar, bir grafiği bütçeyle okuyan iki araç için sayılardır —panel_query_graph
(canlı tuval) ve get_workflow with action: "query" (kayıtlı bir dosya):
Bu iki araçta bir tavanın ötesini istemek sessizce aşağı yuvarlanmak yerine
geçersiz argüman olarak reddedilir; böylece ajan hemen öğrenir ve kendini
düzeltebilir. Sayılar evrensel de değildir: birkaç başka araç bir
max_chars
alır ve kendi tavanını koyar; bu da o aracın kendi açıklamasında belirtilir.
Kapsam, bütçeyi yener
Tavanı yükseltmek denenecek ikinci şeydir, birincisi değil. 600 düğümlü bir iş akışında daha büyük bir bütçe çoğunlukla size daha çok yanlış düğüm alır ve yanıtı yüzlerce ilgisizin arasına gömmek, teknik olarak sığsa bile yanıtı bozar. Önce daraltın, doğal gelen sözcüklerle:
Sonra hâlâ kesiliyorsa genişletin.
Hayır dediğinde
Bir aracın reddetmesi genellikle bir hata değildir. Reddetmelerin çoğu, çağrı sizin istemediğiniz bir şeyi yapacağı için ateşlenen bir korumadır.”Reddetti ve nedenini bilmiyorum”
Yığın izi değil, düz dil görürsünüz — neyi yapmayacağını ve yerine ne yapılacağını adlandıran bir şey. Bunu ajanın sıkışmış değil, dikkatli olduğu olarak okuyun. Yaygın dürüst reddetmeler:- Hangi iş akışını kastettiğinizi anlayamaz. Birden fazla sekme açıktır ya da grafiğin henüz kayıtlı bir kimliği yoktur. Kaydedin ya da hangisi olduğunu söyleyin.
- Bir şeyin üzerine yazardı. Yeni bir dosya adı isteyin, devam eder.
- O şey gerçekten orada değildir. Bir model dosyası, bir düğüm paketi, çalışan bir sunucu.
”Bu panel çok eski”
Gerçek bir çözümü olan en yaygın reddetme. Kabaca şöyle okunur:This ComfyUI-MCP panel is too old for ”…” — update the ComfyUI-MCP panel, then reconnect.Kenar çubuğu paneli ile bu sunucu ayrı ayrı yayımlanan ayrı parçalardır; biri diğerinin gerisinde kalabilir. Sunucu, kurulu panelin güvenle yapamayacağı bir şey istediğinde tahmin etmek yerine geri çevirir — hangi iş akışına bir komutun düştüğünü doğrulayamayan eski bir panel düzenlemenizi yanlış sekmeye uygulayabilirdi, bu yüzden güncellenene kadar okumalarla sınırlanır. Düzeltme üç adımdır ve üçüncüsü insanların atladığıdır:
1
Paneli güncelleyin
Ajandan güncellemesini isteyin (
install_comfyui(action:'panel', panel_action:'update'))
ya da ComfyUI-Manager’dan yapın; orada comfyui-agent-panel olarak listelenir.2
ComfyUI'yi yeniden başlatın
Güncelleme kendi başına hiçbir şeyi yeniden başlatmaz. Ajandan isteyin ya da
kendiniz yeniden başlatın.
3
ComfyUI tarayıcı sekmesini zorla yenileyin
Ctrl+Shift+R (Mac’te Cmd+Shift+R). Tarayıcınız eski panel kodunu
önbelleğe almıştır ve yalnızca yeniden başlatmak onu sökmez. Bunu atlayın,
aynı ileti hemen geri gelir; bu yüzden güncelleme başarısız olmuş gibi
görünür, oysa olmamıştır.
”Bağlı panel yok”
Farklı bir sorun, benzer görünen bir ileti. Bu, dış ajanın ComfyUI tarayıcı sekmenizi bulamadığı anlamına gelir. Neredeyse her zaman şunlardan biridir:- ComfyUI hiç bir tarayıcıda açık değildir — açın ve kenar çubuğundaki Ajan sekmesine bakın.
- ComfyUI yeni yeniden başlatıldı ya da sekmeyi yenilediniz. Bu bağlantıyı düşürür. ComfyUI sekmesini yenileyin, hemen geri gelir.
- Ajan sekmesi açıktır ama hiç bağlanmamıştır. Panel, bir sağlayıcı seçip Bağlan’a tıkladığınızda tutunur, yüklemede asla; dolayısıyla yeni açılmış ve hiçbir şey göstermeyen bir sekme bir arıza değil sıradan durumdur.
- Panel henüz kurulu değildir. Bkz. panel kılavuzu.
Hiçbir şey söylemediğinde
Daha zor başarısızlık, içinde hiç hata olmayanıdır. Ajan bir araç çağırmaz, reddetmez, şikayet etmez. Yalnızca konuşur: iş akışınızın muhtemelen ne içerdiğini anlatır ya da size bir betik yazmayı teklif eder. Yardımcı görünür ve hiçbir şeye bakmamıştır. Tamamen farklı üç durum aynı davranışı üretir ve sizin oturduğunuz yerden ayırt edilemezler:Yok
İstemciniz araçları hiç almadı. Modele verdiği listede yokturlar, dolayısıyla
çağrılacak bir şey yoktur.
Engelli
İstemcinizde araçlar vardır ve modelin onları çalıştırmasına izin vermez.
Çağrı istemcinizin içinde durdurulur.
İstenmedi
Her şey çalışır. İstediğiniz şey, hiç gündeme gelmemiş bir adın altında
vardır; kimse ona uzanmamıştır.
Bunları ayıran iki soru
Ajana, düz sözcüklerle sorun:1
Neyi görebildiğini sorun
comfyui-mcp’den hangi araçların var? Yalnızca adları listele.Birkaç düzine adlık bir liste normal ve sağlıklıdır — 0.50.0’dan beri varsayılan olan doğrudan yüzey budur.Üç ad —
list_tools, describe_tool, call_tool — de normal ve
sağlıklıdır. Bu, --compact geçirerek aldığınız
kompakt kiptir ve küçük yerel
modeller hâlâ bunu kendiliğinden seçer. Katalogun geri kalanı bir
list_tools çağrısı uzaktadır; onu çalıştırmasını isteyin, gerçek listeyi
görürsünüz. İki yanıt da bir şeyin saklandığı anlamına gelmez.Hiç ad yoksa ya da “ComfyUI için hiç aracım yok” ise, üçüncü durumu
eleyen ve başka hiçbir şeyi elemeyen yanıttır. Yok anlamına gelmez.
Bir izin politikası, modele gösterilen listeden araçları saklayabilir; bu
yüzden kurulu, bağlı ve çalışan bir sunucu tam olarak bu yanıtı üretir. Yok
ile engelli bu adımda ayırt edilemez ve bir kullanıcıya günler kaybettiren
dal budur — kablonun bozuk olduğundan emin olmak.Bunu daraltan bir denetim vardır ve ajanın görebileceği bir şey değildir:
istemcinizin kendi MCP sunucuları listesini açın — hangi sunuculara
bağlandığını gösterdiği yer; bu, modele verdiği araç listesinden farklı bir
listedir.- comfyui-mcp orada değil ya da başarısız görünüyor → yok. İstemci tarafında bir kablolama sorunu, panel ya da sunucu arızası değil. Yine ikiye ayrılır — hiç bağlanmamış ya da onları hiç tutamayan bir ana makine — ve aşağıdaki liste bunları ayırır.
- Orada ve bağlı, model hâlâ hiçbir şey listelemiyor → araçlar istemcinize ulaştı. Ondan sonra nerede durdukları hâlâ açıktır: bir izin kuralıyla modelden saklanmış olabilirler ya da model onları listelemeyi başaramamış veya reddetmiş olabilir; buradan birebir aynı görünür. Yalnızca buna dayanarak izinleri gevşetmeye başlamayın. O sunucu listesi ayrıca comfyui-mcp’den hangi araçları aldığını da gösteriyorsa mesele kapanır: orada listelenip model tarafından listelenmeyen araçlar, sorunun izinleriniz değil model olduğu anlamına gelir; orada hiçbiri yoksa modele ulaşmadan önce süzülüyorlardır. İstemciniz bunu göstermiyorsa — ve çoğu göstermez — buradan ikisini ayıracak bir şey yoktur ve 2. adım daha iyi bir şanstır, çünkü bir reddetme sözcüklerle geri gelir.
2
Denenmesini ve birebir rapor etmesini isteyin
Şimdi çalışmayan şey için kullanacağın aracı çağır ve geri gelenin tam olarak ne olduğunu yapıştır — hata varsa o da dahil. Etrafından dolaşma.O cümledeki iki ayrıntı işi yapar.Çalışmayan şey için kullanacağın araç, özellikle. İzin kuralları genellikle araç başına yazılır; farklı bir aracın başarılı olması umursadığınız hakkında hiçbir şey kanıtlamaz — bir engelin gizlenmesi tam olarak böyledir. Okunmayan tuval ise, sınama bir tuval okuması olmak zorundadır.Etrafından dolaşma. Bütün başarısızlık kipi, bir ajanın bir engeli adlandırmak yerine sessizce etrafından dolanmasıdır; kendi haline bırakılırsa bunu yine yapar.
- Gerçek bir sonuç — o araç çalışıyor. Üçüncü durumdasınız.
- “That was denied” / “not permitted” / “I need permission” — engelli, istemcinizin içinde. Bu kesindir: ajan sordu ve reddedildi.
- “I don’t have that tool” — hâlâ yok ya da engelli. Saklanan bir araç ile eksik bir araç, modelin koltuğundan özdeş görünür; bu yüzden buna tek başına harekete geçmeyin: 1. adımın sunucu listesine geri götürün ve o liste de sunucu başına araç göstermiyorsa, ikisini ayıracak bir şeye ulaşamazsınız ve dürüst sonraki hamle ayarları değiştirmeye başlamak değil, issue izleyicisinde sormaktır.
- Daha fazla düzyazı, hâlâ çağrı yok — düz sorun: “Bir araç çağırdın mı? Çağırmadıysan neden?” İki kez kaçıran bir ajan genellikle bahsetmediği bir şeyin etrafından dolaşıyordur.
Buradan görebildiklerimiz ve göremediklerimiz
Aynı olgu diğer yöne de keser ve insanları yanıltan kısım budur: sessiz bir günlük, hiçbir şeyin denenmediğinin kanıtı değildir. Yok, engelli ve hiç istenmemiş, buradan hepsi sessizlik gibi görünür. Bu yüzden asıl tanı yukarıdaki iki sorudur. İşe yararlar çünkü odada olan tek katılımcıya — ajanınıza — ne denediğini söyletir ve yanıtın etrafından dolaşma seçeneğini reddederler.Her yanıt genellikle nereden gelir
Engelli — istemcinizin kendi izin kuralları. Claude Code’da bu,settings.json dosyasının permissions bloğudur (~/.claude/settings.json
ya da projenin .claude/settings.json dosyası); MCP araçları orada ad alanlı
adlarıyla görünür, mcp__comfyui__<tool>. Onlardan hiç söz etmeyen katı bir
allow listesi her çağrıyı gönderilmeden durdurur. Bir kullanıcıya birkaç gün
kaybettiren durum budur: araçlar çalışıyor gibi görünüyordu, tam da avladığı
hatalar hiçbir zaman ortaya çıkamayacağı için.
Yok ve düzeltilebilir — hiç kablolanmamış. İstemci MCP konuşur ama bu
sunucudan hiç haberdar edilmemiştir ya da edilmiş ve girdi yanlıştır. Yaygın
olan budur ve bir yapılandırma düzenlemesidir; istemcinizin beklediği girdi
için Hızlı başlangıç sayfasına bakın.
Yok ve düzeltilemez — hiç MCP istemcisi olmayan bir ana makine. Bazı
ajanlar MCP konuşmaz ve hiçbir yapılandırma bunu değiştirmez. pi bunlardan
biridir: kendi yerleşik kabuk-ve-düzenleyici araçları vardır, MCP istemcisi
yoktur; dolayısıyla kurulu olan her ne olursa olsun bizimkiler ona verilemez.
Panel, onu seçtiğinizde bunu açıkça söyler — “pi has no ComfyUI tools (no
MCP)”. O satır yanıttır, ayıklanacak bir belirti değil; çözüm farklı bir arka
uç seçmektir.
İkisi de — arada oturan bir şey. MCP trafiğinizi taşıyan bir ağ geçidi,
vekil ya da yönlendirici yüzeyin yalnızca bir kısmını iletebilir. Katalog ile
gerçekten çalışanlar birbirini tutmuyorsa ortadakinden kuşkulanın.
Üçüncü durum çıkarsa
O zaman hiçbir şey bozuk değildi ve kimse yanlış yapılandırmadı: bir yetenek vardı ve sizin bunu öğrenmenizin bir yolu yoktu. Bu sizin değil bizim başarısızlığımızdır ve bize söylemeye değer — ajandan bunu dosyalamasını isteyin; kurulumunuzu sizin yerinize ekler. Kimsenin bulamadığı bir özellik, sizin oturduğunuz yerden, yayımlamadığımız bir özelliktir.Küçük bir yerel model çalıştırıyorsanız
Bütün menüyü bir modele vermek, bir söz söylemeden önce çok okuma pahasına gelir. Büyük, barındırılan bir modelde bu sorun değildir. Kendi makinenizde çalışan küçük bir modelde çoğu zaman çalışmak ile çalışmamak arasındaki farktır. Bu yüzden varsayılan olarak ajan tam küme yerine üç araç alır: kataloğa göz atmak için biri, tek bir aracı ayrıntılı bakmak için biri, çalıştırmak için biri. İhtiyacı olanı, ihtiyaç duyduğu anda getirir; her şeyi baştan okumak yerine. Bunu almak için bir şey yapmanız gerekmez — varsayılandır. Kontroller, onları isterseniz vardır:COMFYUI_MCP_TOOL_MODE=compact ya da COMFYUI_MCP_TOOL_MODE=full
ile de ayarlanabilir.
Takas, ilk gerçek eylemden önce birkaç ekstra gidiş-dönüş karşılığında
düşünmeye yer kalmış bir modeldir. Büyük modeller genellikle --full ile
daha mutludur. Hangi modellerin hangisiyle baş ettiğini yerel LLM’ler
sayfasında görün.
Sırada nereye gidilir
Hızlı başlangıç
Kurun ve ilk görselinizi üretin.
Kenar çubuğu paneli
ComfyUI içindeki ajan ve tuvalinize neler yapabileceği.
Araç referansı
Her araç, gerçek bir çağrının nasıl göründüğüne dair işlenmiş örneklerle.
Sorun giderme
Reddetme değil de gerçekten bir şey bozulduğunda.