<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Claude &#8211; Few Steps &#8211; ก้าวสั้นๆ แต่ไปเรื่อยๆ</title>
	<atom:link href="https://myifew.com/tag/claude/feed/" rel="self" type="application/rss+xml" />
	<link>https://myifew.com</link>
	<description></description>
	<lastBuildDate>Fri, 24 Jul 2026 07:38:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.3</generator>

<image>
	<url>https://myifew.com/wp-content/uploads/2018/07/cropped-logo6-ts-32x32.png</url>
	<title>Claude &#8211; Few Steps &#8211; ก้าวสั้นๆ แต่ไปเรื่อยๆ</title>
	<link>https://myifew.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Working Agreement กับ AI: กติกาเล็กๆ ที่ทำให้ Coding Agent ไม่หลุดทาง</title>
		<link>https://myifew.com/7871/working-agreement-with-ai/</link>
					<comments>https://myifew.com/7871/working-agreement-with-ai/#respond</comments>
		
		<dc:creator><![CDATA[iFew]]></dc:creator>
		<pubDate>Fri, 24 Jul 2026 07:38:34 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AI Agent]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[Working Agreement]]></category>
		<guid isPermaLink="false">https://myifew.com/?p=7871</guid>

					<description><![CDATA[ทำไมทีมที่ใช้ AI coding agent ควรมีกติกาการทำงานร่วมกัน เช่น test ก่อน push, create issue หลังตกลง plan และห้าม merge dev โดยไม่ขอ approve]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ผมใช้ AI มาพักใหญ่ๆ แล้วเริ่มรู้สึกว่ามีเรื่องหนึ่งที่ตอนแรกดูเหมือนเล็ก แต่พอใช้งานจริงไปเรื่อยๆ กลับสำคัญมาก คือการมี <strong>Working Agreement กับ AI</strong> หรือข้อตกลงวิธีทำงานร่วมกันระหว่างเรากับ AI</p>



<p class="wp-block-paragraph">ช่วงแรกๆ ผมก็สั่งเป็นรอบๆ ไปเหมือนกันครับ วันนี้ให้ช่วยแก้ bug พรุ่งนี้ให้ช่วย refactor อีกวันให้ช่วยเขียน test แต่พอใช้ไปนานๆ จะเริ่มเห็น pattern ว่า หลายเรื่องเราสั่งซ้ำๆ อยู่ตลอด เช่น ก่อน push ต้อง test ก่อน, ถ้าตกลง plan แล้วให้ create task เป็น issue, ห้าม merge dev เอง ต้องขอ approve ก่อน</p>



<p class="wp-block-paragraph">จนวันหนึ่งผมสังเกตน้องในทีมใช้งาน AI แล้วไม่ได้คุยเรื่องข้อตกลงกันก่อน ผลคือ AI ทำบ้างไม่ทำบ้าง บางรอบจำได้ บางรอบลืม พอปิด session ก็เหมือนต้องเริ่มใหม่ ทั้งที่ขั้นตอนส่วนใหญ่เป็นเรื่องเดิมๆ นั่นแหละครับ</p>



<p class="wp-block-paragraph"><em>หมายเหตุ: บทความนี้เป็นงานเขียนร่วมกันระหว่างผมกับ AI agent โดยอิงจากประสบการณ์ใช้งานจริงของผมเอง ส่วนข้อมูลเชิงอ้างอิงนำมาประกอบจากเอกสารและแหล่งที่มาที่ลิงก์ไว้ท้ายบทความ</em></p>




<span id="more-7871"></span>




<h2 class="wp-block-heading">Working Agreement กับ AI คืออะไร</h2>



<p class="wp-block-paragraph">ถ้าแปลตรงตัว Working Agreement คือข้อตกลงในการทำงานร่วมกัน ในทีมคน เราอาจตกลงกันว่า pull request ต้องมี review, ต้องเขียน test, ห้าม push เข้า main ตรงๆ หรือถ้างานใหญ่ต้องแตก task ก่อนทำ</p>



<p class="wp-block-paragraph">พอมาเป็น AI coding agent แนวคิดเดียวกันก็ใช้ได้ครับ เพียงแต่คู่สนทนาของเราเป็น AI ที่อ่าน instruction แล้วพยายามทำตาม ถ้าเราไม่เขียนกติกาไว้ให้ชัด มันก็จะใช้ default behavior ของตัวเอง หรือเดาจาก prompt รอบนั้นๆ</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Working Agreement กับ AI คือการเปลี่ยนสิ่งที่เราต้องสั่งซ้ำทุกวัน ให้กลายเป็นกติกาประจำโปรเจกต์</p></blockquote>



<p class="wp-block-paragraph">สำหรับผม มันไม่ใช่เรื่องสวยหรูหรือ process หนักๆ แต่เป็น trick เล็กๆ ที่ช่วยลดการหลุด ลดการลืม และทำให้ AI ทำงานใกล้เคียงกับวิธีที่ทีมต้องการมากขึ้น</p>



<h2 class="wp-block-heading">ทำไมสั่งเป็นรอบๆ แล้ว AI ถึงหลุดง่าย</h2>



<p class="wp-block-paragraph">AI เก่งขึ้นมากก็จริง แต่การคุยแบบ chat มีข้อจำกัดตามธรรมชาติอยู่ครับ เช่น context ยาวขึ้นเรื่อยๆ, session ถูกปิด, prompt รอบใหม่ไม่เหมือนรอบเดิม หรือบางคำสั่งถูกกลืนไปกับรายละเอียดอื่น</p>



<p class="wp-block-paragraph">ถ้าเราบอกแค่รอบนี้ว่า “ช่วยแก้ให้แล้ว test ด้วยนะ” AI ก็อาจทำตามในรอบนี้ แต่ไม่ได้แปลว่ารอบหน้ามันจะจำได้ว่า project นี้ต้อง test ก่อน push เสมอ หรือห้าม merge เองทุกครั้ง</p>



<p class="wp-block-paragraph">เอกสารของ <strong>Claude Code</strong> มีแนวคิดเรื่อง memory files เช่น <code>CLAUDE.md</code> ที่ใช้เก็บ project instructions และบอกด้วยว่าสามารถใช้คำสั่ง <code>/init</code> เพื่อสร้างไฟล์เริ่มต้นจาก project ได้ ส่วน <strong>OpenAI Codex</strong> ก็มีแนวทางใช้ <code>AGENTS.md</code> เพื่อให้ coding agent รู้กติกา repo เช่น setup, test และ convention ของโปรเจกต์</p>



<p class="wp-block-paragraph">พอผมเห็นแนวทางนี้แล้ว มันทำให้คิดง่ายขึ้นว่า เราไม่ควรเอากติกาประจำโปรเจกต์ไปซ่อนอยู่ใน chat ชั่วคราว แต่ควรยกมันขึ้นมาเป็นไฟล์หรือ instruction ที่ AI อ่านซ้ำได้ทุกครั้ง</p>



<h2 class="wp-block-heading">เริ่มง่ายสุด: init project แล้วเขียนกติกาไว้</h2>



<p class="wp-block-paragraph">วิธีที่ง่ายที่สุดสำหรับคนใช้ Claude Code คือเริ่มจาก <code>/init</code> เพื่อให้ Claude อ่าน repo แล้วสร้าง <code>CLAUDE.md</code> เป็น project memory ตั้งต้นก่อน จากนั้นค่อยเติม Working Agreement ของทีมลงไป</p>



<pre class="wp-block-code"><code>/init</code></pre>



<p class="wp-block-paragraph">สำหรับเครื่องมืออื่น แนวคิดเหมือนกันครับ เช่น Codex ใช้ <code>AGENTS.md</code>, บางทีมใช้ <code>.cursorrules</code>, บางทีมใช้ project instructions หรือ docs เฉพาะของตัวเอง ชื่อไฟล์อาจต่างกัน แต่หน้าที่คล้ายกัน คือบอก AI ว่า “โปรเจกต์นี้ทำงานกันแบบนี้นะ”</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>อย่าปล่อยให้ rule สำคัญอยู่ในหัวคน หรืออยู่ใน chat รอบเดียว ถ้ามันเป็นกติกาซ้ำๆ ให้เขียนลง project instruction</p></blockquote>



<h2 class="wp-block-heading">ควรเขียน Working Agreement อะไรไว้บ้าง</h2>



<p class="wp-block-paragraph">จากที่ผมใช้มา กติกาที่ควรเขียนไว้ไม่จำเป็นต้องเยอะมาก แต่ควรครอบคลุมจุดที่ถ้า AI หลุดแล้วจะกระทบ workflow หรือทำให้ทีมเสียเวลา</p>



<figure class="wp-block-table"><table><thead><tr><th>หมวด</th><th>ตัวอย่างข้อตกลง</th><th>ทำไมสำคัญ</th></tr></thead><tbody><tr><td>Safety</td><td>ห้าม merge dev/main อัตโนมัติ ต้องขอ approve ก่อน</td><td>กัน side effect ที่กระทบ repo จริง</td></tr><tr><td>Testing</td><td>ก่อน push ต้องรัน test ที่เกี่ยวข้อง และรายงานผลจริง</td><td>ลด bug จาก patch ที่ยังไม่ verify</td></tr><tr><td>Task management</td><td>หลังตกลง plan แล้วให้ create issue/task เสมอ</td><td>กันงานหายและทำให้ทีมตามต่อได้</td></tr><tr><td>Code change</td><td>แก้แบบ minimal diff ไม่ rewrite ทั้งไฟล์ถ้าไม่จำเป็น</td><td>ลด regression และลด review cost</td></tr><tr><td>Communication</td><td>ถ้า scope ไม่ชัด ให้ถามก่อนแก้ส่วนที่เสี่ยง</td><td>กัน AI เดาแล้วแตะผิดจุด</td></tr><tr><td>Verification</td><td>ทุก final response ต้องบอกไฟล์ที่แก้และ command ที่รัน</td><td>ทำให้ตรวจสอบย้อนหลังได้</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">ตัวอย่าง CLAUDE.md / AGENTS.md แบบสั้น</h2>



<p class="wp-block-paragraph">ตัวอย่างนี้เป็นแนวทางที่ผมคิดว่าเริ่มใช้ได้ทันที แล้วค่อยปรับตามทีมครับ</p>



<pre class="wp-block-code"><code># AI Working Agreement

## Goal
ช่วยพัฒนา project นี้แบบปลอดภัย ตรวจสอบได้ และไม่ทำ side effect โดยไม่ขออนุญาต

## Before coding
- ถ้างานเกิน 1 ไฟล์ ให้เสนอ plan สั้นๆ ก่อนแก้
- ถ้า scope ไม่ชัด ให้ถามก่อน ไม่เดาเองในจุดเสี่ยง
- หลังตกลง plan แล้ว ให้สร้างหรืออัปเดต issue/task เสมอ

## Coding rules
- แก้แบบ minimal diff
- ห้าม rewrite ทั้งไฟล์ถ้าไม่จำเป็น
- ทำตาม style เดิมของ repo
- ถ้าเปลี่ยน behavior ต้องเพิ่มหรือแก้ test ที่เกี่ยวข้อง

## Verification
- ก่อนเสนอว่าเสร็จ ต้องรัน targeted test ที่เกี่ยวข้อง
- ถ้าแก้หลายส่วน ให้รัน lint/typecheck ตามที่เหมาะสม
- final response ต้องบอก command ที่รันและผลจริง

## Git safety
- ห้าม merge dev/main/master อัตโนมัติ
- ห้าม push โดยไม่ขอ approve
- ห้ามลบไฟล์หรือ migration สำคัญโดยไม่ถามก่อน

## Output
- สรุป changed files
- สรุป tests ที่รัน
- บอก risk หรือสิ่งที่ยังไม่ได้ verify</code></pre>



<p class="wp-block-paragraph">แค่นี้ก็ช่วยได้เยอะแล้วครับ เพราะมันเปลี่ยนจากการสั่งซ้ำทุกครั้ง เป็นข้อตกลงที่ AI อ่านก่อนเริ่มงาน</p>



<h2 class="wp-block-heading">Working Agreement ไม่ใช่ prompt ยาวๆ แต่คือ guardrail</h2>



<p class="wp-block-paragraph">จุดที่ต้องระวังคืออย่าเขียน instruction ยาวจนกลายเป็น manual ที่ไม่มีใครอ่าน ทั้งคนและ AI ควรเขียนให้สั้น ชัด และ actionable</p>



<ul class="wp-block-list"><li>เขียนเป็น bullet</li><li>แยกหมวดชัดเจน</li><li>ระบุ command ที่ต้องใช้จริง</li><li>แยกสิ่งที่ทำได้เอง กับสิ่งที่ต้องขอ approve</li><li>มี verification rule ทุกงาน</li></ul>



<p class="wp-block-paragraph">ผมชอบคิดว่ามันคือ guardrail ไม่ใช่ prompt สวยๆ หน้าที่ของมันคือกันไม่ให้ AI หลุดออกจากวิธีทำงานที่ทีมตกลงกันไว้</p>



<h2 class="wp-block-heading">แยกกติกาเป็น 3 ระดับ</h2>



<p class="wp-block-paragraph">ถ้าใช้จริงในทีม ผมแนะนำให้แยก rule เป็น 3 ระดับ จะดูแลง่ายกว่าเขียนทุกอย่างกองไว้ที่เดียว</p>



<figure class="wp-block-table"><table><thead><tr><th>ระดับ</th><th>ตัวอย่าง</th><th>ควรอยู่ที่ไหน</th></tr></thead><tbody><tr><td>Team rule</td><td>ห้าม merge เอง, ต้องขอ approve ก่อน push</td><td>global/team instruction</td></tr><tr><td>Project rule</td><td>วิธีรัน test, build, lint, naming convention</td><td>CLAUDE.md / AGENTS.md ใน repo</td></tr><tr><td>Task rule</td><td>งานนี้แก้เฉพาะ payment flow ห้ามแตะ auth</td><td>prompt หรือ issue ของงานนั้น</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">การแยกแบบนี้ช่วยให้ rule ที่ถาวรไม่ปนกับรายละเอียดงานชั่วคราว และช่วยลดโอกาสที่ AI จะเอา instruction เฉพาะ task ไปใช้ผิดบริบทในงานอื่น</p>



<h2 class="wp-block-heading">ตัวอย่าง rule ที่ผมว่าน่าใส่แทบทุก repo</h2>



<p class="wp-block-paragraph">ถ้าจะเริ่มแบบ practical ผมว่าสามารถ copy แนวนี้ไปปรับได้เลยครับ</p>



<ul class="wp-block-list"><li><strong>ต้อง search ก่อนอ่านไฟล์เยอะๆ</strong> เพื่อประหยัด token และลด noise</li><li><strong>ต้องอ่านไฟล์ที่เกี่ยวข้องจริงก่อน patch</strong> ห้ามเดา code จากชื่อไฟล์อย่างเดียว</li><li><strong>ต้องเสนอ plan ก่อนงานใหญ่</strong> โดยเฉพาะงานที่แตะหลาย module</li><li><strong>ต้องทำ minimal diff</strong> ถ้าไม่ได้สั่ง refactor ใหญ่</li><li><strong>ต้องรัน test ก่อนบอกว่าเสร็จ</strong> และรายงาน output จริง</li><li><strong>ห้าม push/merge/delete/migrate โดยไม่ขอ approve</strong></li><li><strong>ถ้า command fail ต้องรายงานตรงๆ</strong> ห้ามบอกว่าสำเร็จจากการเดา</li><li><strong>ถ้าเจอ requirement ใหม่ ให้บันทึกเป็น issue/task</strong> ไม่ปล่อยหายใน chat</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>AI ที่เก่งแต่ไม่มี working agreement จะทำงานเร็ว แต่ทีมอาจต้องเสียเวลาตามเก็บทีหลัง</p></blockquote>



<h2 class="wp-block-heading">ควรทบทวนกติกานี้เมื่อไร</h2>



<p class="wp-block-paragraph">Working Agreement ไม่ควรเขียนครั้งเดียวแล้วจบครับ เพราะวิธีทำงานของทีมเปลี่ยนได้ตลอด เครื่องมือ AI ก็เปลี่ยนเร็วมากเหมือนกัน</p>



<p class="wp-block-paragraph">ผมคิดว่าน่าทบทวนเมื่อมีเหตุการณ์พวกนี้</p>



<ul class="wp-block-list"><li>AI หลุด rule เดิมซ้ำๆ</li><li>ทีมเริ่มใช้ AI agent หลายตัวพร้อมกัน</li><li>มี incident จากการแก้ code โดยไม่ได้ verify</li><li>เปลี่ยน test command หรือ build pipeline</li><li>มีคนใหม่เข้าทีมแล้วใช้ AI ไม่เหมือนคนอื่น</li><li>เริ่มใช้เครื่องมือใหม่ เช่น Claude Code, Codex, Cursor หรือ Gemini CLI</li></ul>



<p class="wp-block-paragraph">พูดง่ายๆ คือถ้าเป็นบทเรียนที่ไม่อยากให้เกิดซ้ำ ให้ย้ายมันเข้า Working Agreement ครับ</p>



<h2 class="wp-block-heading">ข้อควรระวัง: อย่าเชื่อว่าเขียน rule แล้ว AI จะไม่พลาดอีกเลย</h2>



<p class="wp-block-paragraph">การมี Working Agreement ช่วยได้มาก แต่ไม่ได้ทำให้ AI กลายเป็นระบบ deterministic 100% ครับ เรายังต้องมี verification, test, review และ approval gate อยู่ดี</p>



<p class="wp-block-paragraph">โดยเฉพาะ rule ที่มีผลกับ production หรือ source control เช่น merge, push, deploy, migration, delete data อันนี้ไม่ควรปล่อยให้ AI ตัดสินใจเองจาก prompt อย่างเดียว ต้องมี human approval หรือ branch protection ช่วยล็อกอีกชั้น</p>



<p class="wp-block-paragraph">ผมมองว่า Working Agreement เป็นชั้นแรกที่ช่วยให้ AI ทำถูกทางมากขึ้น ส่วน test, CI, review และ approval เป็นชั้นถัดมาที่ช่วยจับความผิดพลาดก่อนกระทบของจริง</p>



<h2 class="wp-block-heading">สรุป</h2>



<p class="wp-block-paragraph">หลังจากใช้ AI มาพักใหญ่ ผมเริ่มรู้สึกว่าเราไม่ควรมอง AI เป็นแค่ chatbot ที่สั่งทีละรอบ แต่ควรมองเป็นผู้ช่วยทำงานที่ต้องมี working agreement เหมือนสมาชิกทีมคนหนึ่ง</p>



<p class="wp-block-paragraph">ถ้ามีเรื่องที่เราต้องสั่งซ้ำๆ เช่น test ก่อน push, create issue หลังตกลง plan, ห้าม merge dev เอง หรือรายงานผล verify ทุกครั้ง ก็ไม่ควรปล่อยให้มันอยู่ในความทรงจำชั่วคราวของ session ครับ เขียนมันลง project instruction ไปเลย</p>



<p class="wp-block-paragraph">เริ่มจากเล็กๆ ก็พอ เช่นใช้ <code>/init</code> ใน Claude Code เพื่อสร้าง <code>CLAUDE.md</code> แล้วเติมกติกาของทีมลงไป หรือถ้าใช้ Codex ก็ทำ <code>AGENTS.md</code> ใน repo ให้ชัด แค่นี้ก็ช่วยลดการหลุด ลดการสั่งซ้ำ และทำให้ AI ทำงานเข้ากับทีมได้ดีขึ้นมากแล้วครับ</p>



<h2 class="wp-block-heading">แหล่งอ้างอิง</h2>



<ul class="wp-block-list"><li><a href="https://code.claude.com/docs/en/memory" target="_blank" rel="noreferrer noopener">Claude Code Docs: How Claude remembers your project</a></li><li><a href="https://developers.openai.com/codex/guides/agents-md" target="_blank" rel="noreferrer noopener">OpenAI Codex: Custom instructions with AGENTS.md</a></li><li><a href="https://agents.md/" target="_blank" rel="noreferrer noopener">AGENTS.md: open format for coding agent instructions</a></li><li><a href="https://www.augmentcode.com/guides/ai-agent-pre-merge-verification" target="_blank" rel="noreferrer noopener">Augment Code: AI Agent Pre-Merge Verification</a></li></ul>

]]></content:encoded>
					
					<wfw:commentRss>https://myifew.com/7871/working-agreement-with-ai/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>วิธีใช้ Fable 5 แบบประหยัด Token</title>
		<link>https://myifew.com/7793/how-optimize-token-use-fable5-advisor/</link>
					<comments>https://myifew.com/7793/how-optimize-token-use-fable5-advisor/#respond</comments>
		
		<dc:creator><![CDATA[iFew]]></dc:creator>
		<pubDate>Thu, 09 Jul 2026 16:18:24 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AI Agent]]></category>
		<category><![CDATA[Anthropic]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[Fable 5]]></category>
		<category><![CDATA[Token Optimization]]></category>
		<guid isPermaLink="false">https://myifew.com/?p=7793</guid>

					<description><![CDATA[ผมไปเจอโพสต์ของ ClaudeDevs เรื่องการใช้ Fable 5 เป็น advisor ให้ Sonnet 5 ทำงานหลัก แล้วรู้สึกว่านี่คือ pattern ที่ตอบโจทย์ agent workload มาก เพราะเราไม่จำเป็นต้องเอาโมเดลแพงที่สุดไปเผา token กับงานอ่าน/ทำทุกบรรทัด]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">โพสต์ใน X ของ ClaudeDevs ที่พูดถึง pattern การใช้ Fable 5 แบบประหยัด token ผมรู้สึกว่าน่าสนใจมาก เพราะมันแตะปัญหาที่คนทำ AI agent เจอกันจริงๆ คือถ้าเราใช้โมเดลฉลาดสุดทำทุกอย่าง ทั้งคิด อ่านไฟล์ อ่านเว็บ เรียก tool แก้โค้ด รัน test และสรุปผล จะใช้โทเค็นเยอะมาก (ต้นทุนสูงมาก) ทั้งที่หลาย step ไม่ได้ต้องใช้ความฉลาดระดับสูงตลอดเวลา</p>



<p class="wp-block-paragraph">แนวคิดที่ Anthropic ยกมาคือ ให้ Sonnet 5 เป็น executor ทำงานหลักใน loop ปกติ แล้วให้ Fable 5 เป็น advisor ที่ถูกเรียกเฉพาะตอนต้องใช้ judgment สูง เช่น วางแผน ตัดสินใจ architecture แก้ทางเมื่อเริ่มหลุด หรือ review ก่อนจบงาน ผมว่ามันเป็น pattern ที่ practical มาก เพราะมันไม่ได้พยายามลดคุณภาพด้วยการใช้โมเดลเล็กอย่างเดียว แต่ใช้โมเดลฉลาดให้ถูกจังหวะมากกว่า</p>



<span id="more-7793"></span>



<p class="wp-block-paragraph"><em>หมายเหตุ: บทความนี้ฟิวส์กับเอเจ้นชมพูช่วยกันเรียบเรียง โดยอิงจาก<a href="https://x.com/claudedevs/status/2074606058128224365" target="_blank" rel="noreferrer noopener">โพสต์ของ ClaudeDevs บน X</a>, เอกสาร Advisor tool ของ Anthropic และ Claude Cookbook แล้วนำมาตีความเป็นแนวทางใช้งานจริงสำหรับคนทำ AI agent / coding agent</em></p>



<p class="wp-block-paragraph">ต้นทางของเรื่องนี้สรุปไว้สั้นมากว่า หนึ่งใน pattern ที่ Anthropic ใช้กับ Fable 5 คือ “ใช้ Fable 5 เป็น advisor” โดย executor อย่าง Sonnet 5 จะเรียก Fable 5 เพื่อขอคำแนะนำ ดังนั้นการทำงานส่วนใหญ่จะใช้ token ไปกับ executor ที่ Sonnet 5 ทำมากกว่า</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1992" height="872" src="https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern.jpg" alt="Fable 5 advisor pattern จากโพสต์ ClaudeDevs" class="wp-image-7791" srcset="https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern.jpg 1992w, https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern-1024x448.jpg 1024w, https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern-1200x525.jpg 1200w, https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern-768x336.jpg 768w, https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern-1536x672.jpg 1536w, https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern-542x237.jpg 542w, https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern-1084x475.jpg 1084w, https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern-792x347.jpg 792w, https://myifew.com/wp-content/uploads/2026/07/fable5-advisor-pattern-1230x538.jpg 1230w" sizes="(max-width: 1992px) 100vw, 1992px" /><figcaption class="wp-element-caption">ภาพจากโพสต์ ClaudeDevs: Sonnet 5 ทำหน้าที่ executor ใน main loop และเรียก Fable 5 เป็น advisor แบบ on-demand</figcaption></figure>



<h2 class="wp-block-heading">ต้องเข้าใจก่อนว่า agent workload ไม่ต้องใช้โมเดลฉลาดทุกงาน</h2>



<p class="wp-block-paragraph">เวลาพูดถึง AI coding agent หรือ agent ที่ทำงานหลาย step ผมคิดว่าหลายคนมักติดกับดักว่า “ใช้โมเดลฉลาดสุดไปเลยจะได้จบ” ซึ่งจริงในบางงาน แต่ไม่จริงเสมอไป โดยเฉพาะงานยาวๆ ที่มี token จำนวนมากถูกใช้ไปกับงาน mechanical มากกว่า reasoning</p>



<p class="wp-block-paragraph">ในงานหนึ่งๆ มักมี 2 ส่วนปนกัน:</p>



<ul class="wp-block-list">
<li><strong>ส่วนที่ต้องคิดจริง:</strong> แตกโจทย์, ตีความ requirement, เลือก architecture, ประเมิน trade-off, หาทางออกตอนติดปัญหา</li>



<li><strong>ส่วนที่ต้องทำเยอะ:</strong> อ่านไฟล์, อ่านเว็บ, grep โค้ด, ดู log, แก้ไฟล์, รัน test, สรุป output จาก tool</li>
</ul>



<p class="wp-block-paragraph">ถ้าใช้โมเดลระดับ frontier ทำทั้งสองส่วนทั้งหมด ก็โครตจะเปลือง token เลยครับ เพราะถูกใช้ไปกับงานทั่วไปที่ไม่ต้องการ frontier reasoning ทุกบรรทัด เช่น อ่านหน้าเว็บยาวๆ หรือไล่ log หลายพันบรรทัด ตรงนี้เองที่ทำให้ค่าใช้จ่ายสูงโดยไม่จำเป็น</p>



<p class="wp-block-paragraph">ผมขอเปรียบให้เห็นภาพง่ายๆ เหมือนเอา senior engineer ไปนั่งอ่าน log ทุกบรรทัดเอง ซึ่งงานเขาควรเข้ามาตอนวางทิศทาง ตรวจจุดเสี่ยง หรือช่วยตัดสินใจเรื่องที่ถ้าผิดแล้วจะเสียเวลาเยอะ ส่วนงานอ่าน/เก็บข้อมูล/ทำตามขั้นตอนให้คนที่เร็วกว่าและต้นทุนต่ำกว่าช่วยทำได้</p>



<p class="wp-block-paragraph">หรือเทียบในงานก่อสร้าง ก็เหมือนเอาวิศะไปก่ออิฐฉาบปูนแทนคนงานก่อสร้าง แทนที่วิศวะจะออกแบบ วางแผน และคนงานจะเป็นคนทำ</p>



<figure class="wp-block-image size-large"><img alt="" decoding="async" width="1200" height="622" src="https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-1200x622.jpg" alt="" class="wp-image-7797" srcset="https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-1200x622.jpg 1200w, https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-1024x531.jpg 1024w, https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-768x398.jpg 768w, https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-1536x797.jpg 1536w, https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-2048x1062.jpg 2048w, https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-542x281.jpg 542w, https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-1084x562.jpg 1084w, https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-792x411.jpg 792w, https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ-1230x638.jpg 1230w, https://myifew.com/wp-content/uploads/2026/07/HMp6DWEa4AE10vQ.jpg 2194w" sizes="(max-width: 1200px) 100vw, 1200px" /><figcaption class="wp-element-caption">วิธ๊พื้นฐานหน่อย คือ ใช้ Fable 5 ทำหน้าที่วางแผน แล้วมอบหมายงานให้ worker Sonnet 5 ทำ</figcaption></figure>



<h2 class="wp-block-heading">เแนวคิด: Sonnet 5 เป็นคนทำงานหลัก ส่วน Fable 5 เป็นคนให้คำปรึกษา</h2>



<p class="wp-block-paragraph">จาก diagram ในโพสต์ของ ClaudeDevs โครงสร้างคือ Sonnet 5 ทำหน้าที่ executor และรัน main loop ทุก turn ส่วน Fable 5 เป็น advisor ที่ถูกเรียกผ่าน tool call เฉพาะเมื่อจำเป็น พูดง่ายๆ คือ Sonnet ทำงานหนัก แต่ Fable ช่วยคิดตอนที่ต้องคิดอย่างมีเหตุมีผล</p>



<p class="wp-block-paragraph">เอกสาร <a href="https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool" target="_blank" rel="noreferrer noopener">Advisor tool ของ Anthropic</a> อธิบายแนวคิดนี้ว่า executor model ที่เร็วกว่า/ต้นทุนต่ำกว่า สามารถ consult advisor model ที่ฉลาดกว่า mid-generation ได้ โดย advisor จะเห็น conversation transcript ทั้งหมด แล้วส่งคำแนะนำกลับมาให้ executor ทำงานต่อ</p>



<p class="wp-block-paragraph">จุดที่ผมว่าสำคัญคือ advisor ไม่ได้มาแทน executor แต่เป็นเหมือน reviewer หรือ architect ที่ถูกเรียกในจังหวะที่ควรเรียก ทำให้เรายังได้คุณภาพจากโมเดลใหญ่ในการตัดสินใจสำคัญๆ แต่ไม่ต้องจ่ายราคาโมเดลใหญ่กับทุกการทำงานง่ายๆ หลายงาน</p>



<h2 class="wp-block-heading">แล้ว Advisor tool ทำงานยังไง?</h2>



<p class="wp-block-paragraph">เมื่อเราเพิ่ม advisor tool เข้าไปใน <code>tools</code> array แล้ว ตัว executor จะตัดสินใจเองว่าจะเรียก advisor เมื่อไรเหมือน tool อื่นๆ แต่การ call นี้เกิดฝั่ง server ภายใน request เดียว ไม่ใช่ client ต้อง orchestration เองหลายรอบ</p>



<ul class="wp-block-list">
<li>executor สร้าง <code>server_tool_use</code> ชื่อ <code>advisor</code></li>



<li>server ส่ง transcript ทั้งหมดให้ advisor model</li>



<li>advisor ส่งคำแนะนำกลับมาเป็น <code>advisor_tool_result</code></li>



<li>executor ใช้คำแนะนำนี้ทำงานต่อจนจบ</li>
</ul>



<p class="wp-block-paragraph">ตัวอย่างแบบย่อจากเอกสาร Anthropic:</p>



<pre class="wp-block-code"><code>client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    betas=&#91;"advisor-tool-2026-03-01"],
    tools=&#91;
        {
            "type": "advisor_20260301",
            "name": "advisor",
            "model": "claude-opus-4-8",
        }
    ],
    messages=&#91;
        {
            "role": "user",
            "content": "Build a concurrent worker pool in Go with graceful shutdown.",
        }
    ],
)</code></pre>



<p class="wp-block-paragraph">ถ้านำ concept นี้มาเทียบกับโพสต์ Fable 5 ภาพในหัวจะประมาณนี้:</p>



<pre class="wp-block-code"><code>tools=&#91;
    {
        "type": "advisor_20260301",
        "name": "advisor",
        "model": "claude-fable-5",
        "max_tokens": 2048,
        "max_uses": 2,
    }
]</code></pre>



<p class="wp-block-paragraph">ตรงนี้ <code>max_tokens</code> กับ <code>max_uses</code> สำคัญมาก เพราะถ้าเปิด advisor ไว้แบบไม่จำกัด มันอาจกลายเป็น “เรียกโมเดลแพงบ่อยขึ้น” แทนที่จะช่วยประหยัด token</p>



<figure class="wp-block-image size-large"><img alt="" decoding="async" width="1200" height="1072" src="https://myifew.com/wp-content/uploads/2026/07/HMp4vKMakAAEa3Q-1200x1072.jpg" alt="" class="wp-image-7796" srcset="https://myifew.com/wp-content/uploads/2026/07/HMp4vKMakAAEa3Q-1200x1072.jpg 1200w, https://myifew.com/wp-content/uploads/2026/07/HMp4vKMakAAEa3Q-1024x915.jpg 1024w, https://myifew.com/wp-content/uploads/2026/07/HMp4vKMakAAEa3Q-768x686.jpg 768w, https://myifew.com/wp-content/uploads/2026/07/HMp4vKMakAAEa3Q-542x484.jpg 542w, https://myifew.com/wp-content/uploads/2026/07/HMp4vKMakAAEa3Q-1084x968.jpg 1084w, https://myifew.com/wp-content/uploads/2026/07/HMp4vKMakAAEa3Q-792x707.jpg 792w, https://myifew.com/wp-content/uploads/2026/07/HMp4vKMakAAEa3Q-1230x1099.jpg 1230w, https://myifew.com/wp-content/uploads/2026/07/HMp4vKMakAAEa3Q.jpg 1274w" sizes="(max-width: 1200px) 100vw, 1200px" /><figcaption class="wp-element-caption">การใช้ Sonnet 5 เป็น Excutor แล้วมี Fable 5 เป็น advisor ทำคะแนนได้ 92% จากการใช้ Fable 5 อย่างเดียว แต่จะใช้เงินแค่ 63% เมื่อเทียบกับใช้ Fable 5 อย่างเดียวเช่นกัน</figcaption></figure>



<h2 class="wp-block-heading">วิธีใช้ให้ประหยัด token จริง</h2>



<h3 class="wp-block-heading">1. ให้ executor อ่านบริบทก่อน แล้วค่อยเรียก advisor</h3>



<p class="wp-block-paragraph">ผมคิดว่าเราไม่ควรเรียก Fable 5 ตั้งแต่ครั้งแรกที่ยังไม่รู้อะไรเลย เพราะคำแนะนำจะกว้างเกินไป วิธีที่ดีกว่าคือให้ Sonnet 5 อ่านทำความเข้าใจบริบทแรกของเราก่อน เช่น requirement, โครง repo, error log หรือไฟล์หลัก แล้วค่อยเรียก Fable 5 เพื่อช่วยวางแผน</p>



<h3 class="wp-block-heading">2. ใช้ advisor ในจุดที่ตัดสินใจผิดแล้วแพง</h3>



<p class="wp-block-paragraph">จุดที่คุ้มจะเรียก advisor คือจุดที่ถ้าคิดผิดแล้วต้องแก้งานเยอะ เช่น:</p>



<ul class="wp-block-list">
<li>เลือก architecture หรือ migration strategy</li>



<li>ตีความ requirement ที่กำกวม</li>



<li>เจอ test fail ซ้ำๆ แล้วแนวทางเดิมแก้ไม่ได้ หรือไม่ครอบคลุม</li>



<li>ก่อนจบงาน เพื่อ review ว่าหลุด security, edge case หรือ test อะไรไหม</li>
</ul>



<h3 class="wp-block-heading">3. จำกัดจำนวนครั้งด้วย <code>max_uses</code></h3>



<p class="wp-block-paragraph">ถ้างานหนึ่งควรเรียก advisor แค่ 1–2 ครั้ง ก็ตั้ง <code>max_uses</code> ไว้เลย จะช่วยไม่ให้ executor เรียก advisor ถี่เกินไปใน request เดียว</p>



<h3 class="wp-block-heading">4. จำกัดคำตอบของ advisor ด้วย <code>max_tokens</code></h3>



<p class="wp-block-paragraph">เอกสาร Anthropic แนะนำจุดเริ่มต้นที่ <code>max_tokens: 2048</code> สำหรับ advisor output cap โดยระบุว่าในการทดสอบของเขา การตั้ง cap นี้ลด output ของ advisor ได้มากเมื่อเทียบกับการไม่ตั้ง และยังไม่เห็นว่าคุณภาพลดลงเท่าไรอย่างชัดเจน (quality degradation) แต่ประโยคสำคัญคือ เราต้องตรวจสอบกับ workload ของตัวเองเสมอนะ เพื่อป้องกันความผิดพลาด เนื่องจากจำกัด token (ผมเคยเจอบ่อยว่า output งานออกมาได้ไม่ถูกต้อง หรือโค้ดไม่ครบ)</p>



<h3 class="wp-block-heading">5. เปิด caching เฉพาะงานที่เรียก advisor หลายครั้ง</h3>



<p class="wp-block-paragraph">ใน docs ระบุว่า advisor-side caching จะเริ่มคุ้มเมื่อคาดว่าจะมี advisor call ประมาณ 3 ครั้งขึ้นไปใน conversation เดียว ถ้างานสั้นๆ เรียกครั้งเดียวหรือสองครั้ง การเปิด cache อาจไม่คุ้ม เพราะ cache write ก็มีต้นทุนของมันเอง</p>



<h2 class="wp-block-heading">อีกแนวคิดที่คล้ายกัน คือ Plan big, execute small</h2>



<p class="wp-block-paragraph">ใน <a href="https://github.com/anthropics/claude-cookbooks/blob/main/managed_agents/CMA_plan_big_execute_small.ipynb" target="_blank" rel="noreferrer noopener">Claude Cookbook เรื่อง Coordinator pattern</a> Anthropic อธิบายอีก pattern ที่คล้ายกันมาก คือให้โมเดลใหญ่เป็น coordinator สำหรับวางแผนและสังเคราะห์คำตอบ ส่วน worker model ที่ถูกกว่าเป็นคนอ่านเว็บหรือดึงข้อมูลจำนวนมากใน context ของตัวเอง</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2560" height="1309" src="https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-scaled.png" alt="Coordinator pattern: Fable 5 coordinator และ Sonnet 5 workers" class="wp-image-7792" srcset="https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-scaled.png 2560w, https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-1024x524.png 1024w, https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-1200x614.png 1200w, https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-768x393.png 768w, https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-1536x785.png 1536w, https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-2048x1047.png 2048w, https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-542x277.png 542w, https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-1084x554.png 1084w, https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-792x405.png 792w, https://myifew.com/wp-content/uploads/2026/07/anthropic-coordinator-pattern-1230x629.png 1230w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /><figcaption class="wp-element-caption">ภาพจาก Anthropic Claude Cookbook: Fable 5 เป็น coordinator วางแผนและสังเคราะห์ ส่วน Sonnet 5 workers อ่านเว็บและส่ง distilled findings กลับมา</figcaption></figure>



<p class="wp-block-paragraph">ในการทดลองที่ Anthropic ยกตัวอย่าง ทีมแบบ split ราคาจะถูกลงกว่าประมาณ 2.5x และทำงานเร็วขึ้นประมาณ 3x โดยจำนวน input token 84–98% ถูกคิดที่ worker ที่ใช้ราคา Token ถูกกว่า </p>



<p class="wp-block-paragraph">แต่ๆๆ เขาบอกว่า นี่แค่ตัวอย่างนะ อย่าเอาตัวเลขนี้ไปใช้อ้างอิงว่าทุกงานจะประหยัดเท่านี้ เพราะมันขึ้นกับ workload แต่ละงาน </p>



<p class="wp-block-paragraph">แต่โครงสร้างวิธีการทำแบบนี้ก็ชัดเจนดี คือ งานอ่านเยอะๆ ให้ worker ทำ ส่วนโมเดลใหญ่แตะเฉพาะ planning/synthesis</p>



<h2 class="wp-block-heading">จากที่อ่าน ถ้าผมจะใช้จริง จะวาง flow แบบนี้</h2>



<ol class="wp-block-list">
<li><strong>เริ่มด้วย Sonnet 5:</strong> ให้ทำงานหลัก อ่านไฟล์ เรียก tool แก้โค้ด รัน test</li>



<li><strong>Orientation:</strong> เก็บบริบทขั้นต่ำก่อน เช่น requirement, repo structure, error หลัก</li>



<li><strong>Advisor call แรก:</strong> เรียก Fable 5 ให้ช่วยวางแผนและชี้ risk</li>



<li><strong>Execute:</strong> ให้ Sonnet 5 ลงมือทำตาม plan โดยไม่เรียก advisor ทุกจุด</li>



<li><strong>Replan เมื่อจำเป็น:</strong> ถ้า error วนหรือทางเดิมไม่ไปต่อ ค่อยเรียก Fable 5 อีกครั้ง</li>



<li><strong>Review ก่อนจบ:</strong> เรียก advisor ช่วยดูว่าตกหล่น test, security, edge case หรือ assumption อะไรไหม</li>



<li><strong>Finish:</strong> ให้ executor สรุปผลพร้อม evidence จาก test/diff/tool output</li>
</ol>



<p class="wp-block-paragraph">ต้องบอกว่า ผมยังแค่คิดนะ เพราะยังไม่มีโจทย์ซับซ้อนพอที่จะใช้ Fable ทำงาน และยังไม่อยากลองรันเทียบ เพราะต้องทำหลายครั้ง อาจจะเสีย Token เยอะ ฮาา, ไว้รอมีผลการทดสอบจากผู้กล้า หรือได้ลองจริงๆ แล้วจะเอามาเล่าให้ฟังอีกที หรือหากใครลองแล้วก็มาแชร์กันหน่อยครับ</p>



<h2 class="wp-block-heading">ข้อควรระวัง</h2>



<ul class="wp-block-list">
<li><strong>งานเล็กมากอาจไม่คุ้ม:</strong> ถ้าเป็น single-turn Q&amp;A หรือแก้ typo เล็กๆ advisor อาจเพิ่ม overhead มากกว่าประโยชน์</li>



<li><strong>ต้องวัดกับ workload จริง:</strong> ตัวเลขประหยัด token ไม่ใช่ค่าคงที่ ขึ้นกับชนิดงานและความยาวของ context</li>



<li><strong>อย่าแตกงานย่อยจนเกินพอดี:</strong> ใน cookbook เองก็เตือนว่าการแตก brief แคบเกินไปมี floor cost ของ worker thread (ขออธิบายเพิ่มเติมครับ: มันคือต้นทุนขั้นต่ำต่อ worker thread หมายถึง ทุกครั้งที่สร้าง worker หรือ sub-agent ใหม่ มันมี “ต้นทุนตั้งต้น” เสมอ ไม่ว่าจะงานเล็กหรือใหญ่ เช่น เปิด session ,รับ prompt, อ่าน context, เรียก Skill)</li>



<li><strong>advisor แก้โจทย์เท่าที่ได้รับจาก context:</strong> ถ้า executor ยังไม่ได้อ่านของสำคัญก่อนเรียก advisor คำแนะนำก็อาจกว้างหรือผิดทิศได้ เช่นเราใส่บริบทไม่ครบหรือไม่เข้าใจให้ advisor เองแต่แรก (นั่นคือเหตุผลของ Anthopic ว่าทำไมไม่ควรเอาตัวฉลาดมารับงานก่อน)</li>



<li><strong>ต้อง track cost แยก:</strong> usage ของ advisor อยู่ใน <code>usage.iterations</code> เป็น <code>advisor_message</code> เพราะถูก bill คนละ rate กับ executor</li>
</ul>



<p class="wp-block-paragraph">ผมขอขยายความข้อสุดท้ายนิดนึงคือ มันไม่สามารถคิด token cost แบบ usage.input_tokens + usage.output_tokens ทั่วไปนะ เพราะอาจจะเข้าใจผิดคิดว่าแพงทั้งหมด แต่ควรคิดจาก </p>



<p class="wp-block-paragraph">total_cost = executor_tokens × ราคา Sonnet 5 + advisor_tokens × ราคา Fable 5</p>



<p class="wp-block-paragraph">ดังนั้น ใน Anthropic API ที่ส่งค่า usage.iterations กลับมา เราต้องคิดราคาแยกตาม type ด้วย ว่าอะไรคือ executor (message) และอะไรคือ advisor (advisor_message)</p>



<h2 class="wp-block-heading">สรุป</h2>



<p class="wp-block-paragraph">ผมคิดว่า “Fable 5 เป็น advisor” เป็นแนวทางที่น่าลองมากสำหรับ agent workflow ที่เราจะให้มันทำงานยากๆ หรือต้องใช้การตัดสินใจอย่างมีเหตุมีผลสูงมาก ส่วนงานง่ายๆ อย่างการ อ่าน/ทำ/ตรวจซ้ำ ก็ให้ใช้โมเดลรองๆ ลงมา ทำก็คิดว่าเพียงพอแล้ว (อย่างน้องชมพูที่ผมให้แชต ก็ใช้แค่ ChatGPT mini แต่หาข้อมูลและเขียนบทความ ผมจะใช้ ChatGPT ปกติ</p>



<h2 class="wp-block-heading">อ้างอิง</h2>



<ul class="wp-block-list">
<li><a href="https://x.com/claudedevs/status/2074606058128224365" target="_blank" rel="noreferrer noopener">ClaudeDevs on X — Fable 5 as advisor pattern</a></li>



<li><a href="https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool" target="_blank" rel="noreferrer noopener">Anthropic Claude Platform Docs — Advisor tool</a></li>



<li><a href="https://github.com/anthropics/claude-cookbooks/blob/main/managed_agents/CMA_plan_big_execute_small.ipynb" target="_blank" rel="noreferrer noopener">Anthropic Claude Cookbooks — Coordinator pattern: big models for planning, small models for execution</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://myifew.com/7793/how-optimize-token-use-fable5-advisor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Harness Design: ทำ AI Agent ให้ทำงานยาวๆ ได้โดยไม่ต้องมีคนเฝ้าตลอดเวลา</title>
		<link>https://myifew.com/7778/harness-design-by-anthopic/</link>
					<comments>https://myifew.com/7778/harness-design-by-anthopic/#respond</comments>
		
		<dc:creator><![CDATA[iFew]]></dc:creator>
		<pubDate>Wed, 08 Jul 2026 17:16:55 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AI Agent]]></category>
		<category><![CDATA[Anthropic]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[Harness Design]]></category>
		<category><![CDATA[Long-running Agents]]></category>
		<guid isPermaLink="false">https://myifew.com/?p=7778</guid>

					<description><![CDATA[ผมไปเจอบทความของ Anthropic เรื่อง harness design สำหรับ long-running application development ซึ่งตรงกับสิ่งที่กำลังทดลองอยู่ เลยเอามาเล่าในมุมที่นำไปพัฒนาต่อได้จริง]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ไปเจอบทความของ Anthropic เรื่อง <a href="https://www.anthropic.com/engineering/harness-design-long-running-apps" target="_blank" rel="noopener">Harness design for long-running application development</a> แล้วรู้สึกว่าน่าสนใจมาก เพราะเขาพูดถึงการออกแบบ <strong>harness</strong> สำหรับให้ AI Agent ทำงานยาวๆ จนได้ของออกมา โดยไม่ต้องมีมนุษย์คอยเข้ามาเกี่ยวข้องตลอดเวลา</p>



<p class="wp-block-paragraph">เรื่องนี้ตรงกับสิ่งที่ผมเองก็กำลังทดลองและพัฒนาอยู่เหมือนกัน โจทย์คือจะทำยังไงให้ Agent ไม่ได้เป็นแค่ผู้ช่วยตอบคำถาม หรือช่วยเขียนโค้ดเป็นรอบๆ แต่สามารถรับโจทย์ยาวๆ วางแผน ทำงาน ตรวจงาน ส่งต่องาน และค่อยๆ ปรับปรุงผลลัพธ์ได้เองมากขึ้น (ยุคนี้เรียกว่า Loop Engineering)</p>



<p class="wp-block-paragraph">ผมเลยอยากเอาบทความนี้มาเล่าในมุมที่นำไปต่อยอดได้จริง โดยเฉพาะสำหรับคนที่กำลังสนใจเรื่อง AI Agent, coding agent, workflow automation หรือระบบที่ให้ AI ทำงานต่อเนื่องแทนการ prompt ทีละครั้ง</p>



<span id="more-7778"></span>



<p class="wp-block-paragraph"><em>หมายเหตุ: บทความนี้ฟิวส์กับเอเจ้นชมพู ได้เรียบเรียงและต่อยอดจากบทความต้นฉบับของ Anthropic Engineering เรื่อง <a href="https://www.anthropic.com/engineering/harness-design-long-running-apps" target="_blank" rel="noopener">Harness design for long-running application development</a> เขียนโดย Prithvi Rajasekaran</em></p>



<h2 class="wp-block-heading">Harness คืออะไรในบริบทของ AI Agent</h2>



<p class="wp-block-paragraph">ถ้าแปลแบบง่ายๆ harness คือชุดเครื่องมือที่หุ้ม AI Agent อีกทีเพื่อให้มันทำงานได้เป็นระบบ ไม่ใช่แค่โยน prompt ให้ model แล้วหวังว่ามันจะทำทุกอย่างถูกต้องเอง</p>



<p class="wp-block-paragraph">ซึ่งในโลกของการเขียนโปรแกรม เรามักคุ้นกับ test harness หรือ automation harness อยู่แล้ว คือชุดเครื่องมือที่ช่วยรัน ทดสอบ ตรวจผล และคุมการทำงานบางอย่างให้เป็นระบบ พอมาอยู่ในโลกของ AI Agent แนวคิดก็คล้ายกัน แต่ขยายใหญ่กว่าเดิม</p>



<p class="wp-block-paragraph">Harness ของ AI Agent อาจรวมหลายอย่าง เช่น</p>



<ul class="wp-block-list">
<li>วิธีแตกงานใหญ่ให้เล็กลง</li>



<li>วิธีให้ agent วางแผนก่อนลงมือทำ</li>



<li>วิธีเก็บ state ของงานไว้นอก context window</li>



<li>วิธีส่งต่องานระหว่าง agent หรือ session</li>



<li>วิธีตรวจคุณภาพของงานที่ทำเสร็จ</li>



<li>วิธีบังคับให้ agent แก้ไขงานตาม feedback</li>



<li>วิธีหยุดงานเมื่อถึงเงื่อนไขบางอย่าง</li>
</ul>



<p class="wp-block-paragraph">พูดอีกแบบคือ ถ้า model คือสมอง harness ก็คือระบบการทำงานรอบสมองนั้น</p>



<p class="wp-block-paragraph">และผมคิดว่านี่แหละคือประเด็นสำคัญมาก เพราะช่วงแรกๆ เรามักคิดกันว่า AI จะเก่งขึ้นเพราะ model ฉลาดขึ้นอย่างเดียว แต่พอเริ่มใช้งานจริงจะเห็นว่า model ที่เก่งมากๆ ถ้าไม่มีระบบคุมงานที่ดี ก็ยังหลุด ยังลืม ยังทำงานซ้ำ ยังประเมินตัวเองผิด และยังจบงานแบบไม่ครบได้เหมือนกัน</p>



<p class="wp-block-paragraph">จริงๆ ลองทดสอบได้ง่ายๆ ครับ ถ้าเอา prompt ใส่ใน Claude Web ตั้งโมเดลเป็น Opus 4.8 กับใส่ในระบบแชตแจกฟรีเช่น Langflow โดยต่อโมเดล Opus 4.8 ผ่าน Claude API, คำตอบที่ได้ออกมาจะไม่เหมือนกัน แม้ว่าใช้สมอง Opus 4.8 เหมือนกัน (เรื่องนี้ 9arm ก็มีเล่าให้ฟังตอนทำ 9arm AI Passport)</p>



<h2 class="wp-block-heading">ปัญหาของ Agent ที่ให้ทำงานยาวๆ</h2>



<p class="wp-block-paragraph">บทความนี้เริ่มจากโจทย์ที่ Anthropic ทดลองอยู่ 2 เรื่อง คือทำให้ Claude สร้าง frontend design ที่มีคุณภาพสูงขึ้น และทำให้ Claude สร้าง application เต็มรูปแบบได้โดยไม่ต้องมีมนุษย์เข้าไปช่วยระหว่างทาง</p>



<p class="wp-block-paragraph">สองงานนี้ดูเหมือนคนละเรื่อง งานแรกเป็นเรื่องรสนิยมและความสวยงาม งานหลังเป็นเรื่องซอฟต์แวร์ที่ใช้งานได้จริง แต่ทั้งคู่มีปัญหาร่วมกันอย่างหนึ่ง คือถ้าให้ AI ทำงานยาวๆ แบบ naive เกินไป คุณภาพจะเริ่มแกว่ง</p>



<h3 class="wp-block-heading">1. Context เต็มแล้วเริ่มหลุด</h3>



<p class="wp-block-paragraph">งานที่ยาวหลายชั่วโมงจะมีข้อมูลสะสมเยอะมาก ตั้งแต่ requirement, decision, bug, code, test result, feedback ไปจนถึงสิ่งที่ลองแล้วไม่เวิร์ก ถ้าทุกอย่างถูกกองอยู่ใน context window เดียว สุดท้าย agent จะเริ่มจับประเด็นไม่ครบ</p>



<p class="wp-block-paragraph">Anthropic ยังพูดถึงอาการที่น่าสนใจชื่อว่า <strong>context anxiety</strong> คือ model เริ่มเหมือนรู้ตัวว่าบริบทใกล้เต็ม แล้วพยายามรีบ wrap up งานก่อนเวลา ทั้งที่งานจริงยังไม่เสร็จดี</p>



<p class="wp-block-paragraph">ปัญหานี้ผมว่าคนที่ใช้ coding agent น่าจะเจอบ่อย บางทีมันทำงานดีมาตลอด แต่พอท้ายๆ เริ่มสรุปเองว่าทุกอย่างเรียบร้อย ทั้งที่ test ยังไม่ครบ หรือยังมี TODO ค้างอยู่</p>



<h3 class="wp-block-heading">2. Agent มักตรวจงานตัวเองใจดีเกินไป</h3>



<p class="wp-block-paragraph">อีกปัญหาหนึ่งที่ตรงมากคือ self-evaluation</p>



<p class="wp-block-paragraph">เวลาถาม agent ว่างานที่ตัวเองทำดีไหม มันมักตอบว่าดี ใช้ได้ พร้อมแล้ว หรือใกล้เสร็จแล้ว ทั้งที่ถ้ามนุษย์ลองใช้งานจริงอาจเห็นเลยว่ามีหลายจุดยังไม่ดีพอ</p>



<p class="wp-block-paragraph">งาน coding ยังพอมี test ช่วยจับได้บ้าง แต่งานอย่าง design, UX, product completeness หรือบทความนี่ตรวจยากกว่าเยอะ เพราะไม่มีคำตอบแบบ pass/fail ชัดเจน</p>



<p class="wp-block-paragraph">Anthropic เลยใช้แนวทางแยก agent ที่สร้างงาน ออกจาก agent ที่ตรวจงาน ซึ่งผมคิดว่าเป็น pattern ที่ควรใช้จริงในระบบ agent ที่ต้องการคุณภาพ</p>



<h2 class="wp-block-heading">แนวคิดหลัก: Planner, Generator, Evaluator</h2>



<p class="wp-block-paragraph">โครงสร้างที่บทความนี้พูดถึงคือการแบ่ง agent ออกเป็น 3 บทบาทหลัก</p>



<figure class="wp-block-table"><table><thead><tr><th>บทบาท</th><th>หน้าที่</th></tr></thead><tbody><tr><td><strong>Planner</strong></td><td>รับโจทย์สั้นๆ แล้วขยายเป็น product spec, plan, task list หรือแนวทางการทำงาน</td></tr><tr><td><strong>Generator</strong></td><td>ลงมือสร้าง feature, เขียนโค้ด หรือผลิต output ตามแผน</td></tr><tr><td><strong>Evaluator</strong></td><td>ตรวจงาน ทดลองใช้งาน ให้ feedback และบอกว่างานผ่านเกณฑ์หรือยัง</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ถ้ามองในเชิงทีมซอฟต์แวร์ มันก็คล้ายๆ การแยก role ในทีมจริง</p>



<ul class="wp-block-list">
<li>Planner ทำหน้าที่คล้าย product/tech lead</li>



<li>Generator ทำหน้าที่คล้าย developer</li>



<li>Evaluator ทำหน้าที่คล้าย QA, reviewer และ product tester</li>
</ul>



<p class="wp-block-paragraph">ข้อดีคือเราไม่ต้องหวังให้ agent ตัวเดียวทำทุกอย่างเก่งหมด เพราะในความเป็นจริง มนุษย์เองก็ยังไม่ค่อยทำงานแบบนั้น เรามีคนคิด คนทำ คนตรวจ และ feedback loop ที่ทำให้งานดีขึ้น</p>



<h2 class="wp-block-heading">ทำเรื่อง subjective ให้ตรวจได้</h2>



<p class="wp-block-paragraph">ส่วนที่ผมชอบมากในบทความคือการทดลองกับ frontend design เพราะ design เป็นเรื่องที่วัดยาก</p>



<p class="wp-block-paragraph">Anthropic พบว่า Claude มักสร้าง UI ที่ technically ใช้งานได้ แต่ดู generic มาก เช่น layout ปลอดภัย card เยอะๆ gradient เดิมๆ หรือหน้าตาที่ดูเหมือน AI สร้างแบบไม่มี character</p>



<p class="wp-block-paragraph">เขาเลยสร้าง evaluator ที่มี criteria ชัดเจน เช่น</p>



<ul class="wp-block-list">
<li><strong>Design quality</strong> งานดูเป็นภาพรวมเดียวกันไหม</li>



<li><strong>Originality</strong> มีความคิดสร้างสรรค์จริงไหม หรือเป็น template</li>



<li><strong>Craft</strong> typography, spacing, contrast, color harmony ดีไหม</li>



<li><strong>Functionality</strong> ผู้ใช้เข้าใจและใช้งานได้จริงไหม</li>
</ul>



<p class="wp-block-paragraph">จุดสำคัญคือเขาไม่ได้ถามกว้างๆ ว่า “สวยไหม” แต่แตกคำว่าสวยให้กลายเป็น rubric ที่ตรวจได้</p>



<p class="wp-block-paragraph">ผมว่านี่เอาไปใช้กับงานอื่นได้เยอะมาก เช่นบทความดีไหม requirement ชัดไหม dashboard ใช้งานง่ายไหม หรือแม้แต่ระบบ automation ที่ agent สร้างขึ้นมามี failure mode อะไรบ้าง ถ้าเราไม่มี rubric evaluator ก็จะตอบกว้างๆ และหลุดง่าย</p>



<h2 class="wp-block-heading">Context Reset ไม่ใช่แค่ล้างแชท แต่ต้องมี Handoff</h2>



<p class="wp-block-paragraph">อีกเรื่องที่สำคัญมากคือ structured handoff</p>



<p class="wp-block-paragraph">ถ้า agent ทำงานยาวจนต้องเริ่ม session ใหม่ หรือให้ agent ตัวใหม่มารับช่วงต่อ เราไม่ควรส่งต่อด้วย chat history ยาวๆ อย่างเดียว แต่ควรมี artifact ที่สรุปสถานะงานอย่างเป็นระบบ</p>



<p class="wp-block-paragraph">handoff ที่ดีควรบอกอย่างน้อยว่า</p>



<ul class="wp-block-list">
<li>เป้าหมายของงานคืออะไร</li>



<li>ทำอะไรเสร็จแล้ว</li>



<li>ไฟล์ไหนถูกแก้</li>



<li>คำสั่งไหนรันแล้ว</li>



<li>ผลลัพธ์จริงคืออะไร</li>



<li>ยังเหลือปัญหาอะไร</li>



<li>next step คืออะไร</li>
</ul>



<p class="wp-block-paragraph">ถ้าเป็นงาน coding ก็ควรมี test result, git diff, known issue และคำอธิบาย decision ที่สำคัญด้วย</p>



<p class="wp-block-paragraph">ในมุมผม นี่คือจุดที่ทำให้ agent system เริ่มจริงจังขึ้นมาก เพราะเราเริ่มย้าย source of truth จาก “บทสนทนา” ไปอยู่ใน “artifact” ที่อ่านซ้ำได้ ตรวจได้ และส่งต่อได้</p>



<h2 class="wp-block-heading">Sprint Contract: ก่อนทำ ต้องรู้ก่อนว่า Done คืออะไร</h2>



<p class="wp-block-paragraph">อีกไอเดียที่น่าสนใจคือก่อนแต่ละ sprint ให้ Generator และ Evaluator ตกลงกันก่อนว่า sprint นี้จะทำอะไร และจะตรวจยังไงถึงเรียกว่าสำเร็จ</p>



<p class="wp-block-paragraph">ผมมองว่านี่คือ acceptance criteria สำหรับ agent โดยเฉพาะ</p>



<p class="wp-block-paragraph">ถ้าให้ agent “สร้างระบบ task management” เฉยๆ มันอาจทำหน้าจอสวย แต่ข้อมูลไม่ persist หรือ filter ใช้ไม่ได้ แต่ถ้ามี sprint contract เช่น</p>



<ul class="wp-block-list">
<li>สร้าง task ได้</li>



<li>แก้สถานะ task ได้</li>



<li>filter ตาม status ได้</li>



<li>refresh แล้วข้อมูลยังอยู่</li>



<li>Evaluator ต้องทดสอบผ่าน browser จริง</li>
</ul>



<p class="wp-block-paragraph">แบบนี้งานจะตรวจได้ชัดขึ้นมาก และลดโอกาสที่ agent จะทำ feature แบบดูเหมือนเสร็จ แต่ใช้งานจริงไม่ได้</p>



<h2 class="wp-block-heading">ผลลัพธ์ที่ Anthropic เจอ</h2>



<p class="wp-block-paragraph">บทความยกตัวอย่างให้ Claude สร้าง 2D retro game maker แล้วเทียบระหว่าง solo agent กับ full harness</p>



<figure class="wp-block-table"><table><thead><tr><th>วิธี</th><th>เวลา</th><th>ต้นทุน</th></tr></thead><tbody><tr><td>Solo agent</td><td>ประมาณ 20 นาที</td><td>ประมาณ $9</td></tr><tr><td>Full harness</td><td>ประมาณ 6 ชั่วโมง</td><td>ประมาณ $200</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">full harness แพงกว่ามาก แต่คุณภาพต่างกันชัดเจน solo agent ทำหน้าตาได้บางส่วน แต่เกมเล่นจริงไม่ได้ดีนัก ส่วน full harness ทำ feature ได้ลึกกว่า polished กว่า และ play mode ใช้งานได้จริงกว่า</p>



<p class="wp-block-paragraph">นี่เป็น trade-off ที่ต้องจำไว้ ไม่ใช่ว่าเราควรใช้ harness หนักๆ กับทุกงาน เพราะบางงาน single agent ก็พอ แต่ถ้างานสำคัญ งานซับซ้อน หรืองานที่ต้องการคุณภาพสูงมาก harness แบบนี้อาจคุ้ม</p>



<h2 class="wp-block-heading">เมื่อ Model เก่งขึ้น Harness ก็ต้องเปลี่ยน</h2>



<p class="wp-block-paragraph">อีกประเด็นที่ผมชอบคือ Anthropic บอกว่าเมื่อ model รุ่นใหม่เก่งขึ้น บางส่วนของ harness ที่เคยจำเป็นอาจไม่จำเป็นอีกต่อไป</p>



<p class="wp-block-paragraph">นี่เป็นความจริงที่สำคัญมาก ทุก component ใน harness คือสมมติฐานบางอย่างว่า model ยังทำเองได้ไม่ดีพอ เช่น ยังวางแผนไม่ดีพอ ยัง review ตัวเองไม่ดีพอ ยังทำงานยาวไม่ได้พอ หรือยังต้องแตกงานเป็น sprint เล็กๆ</p>



<p class="wp-block-paragraph">แต่เมื่อ model ดีขึ้น สมมติฐานเหล่านี้อาจหมดอายุ</p>



<p class="wp-block-paragraph">ดังนั้น harness ที่ดีไม่ควรเป็น pipeline แข็งๆ แต่ควรเป็นระบบที่ปรับได้ เช่น</p>



<ul class="wp-block-list">
<li>เปิดหรือปิด planner ได้</li>



<li>เลือก evaluator แบบเบาหรือหนักได้</li>



<li>ปรับจำนวนรอบ iteration ได้</li>



<li>เลือกใช้ context reset หรือ compaction ได้</li>



<li>ถอด component ที่ไม่ load-bearing ออกได้</li>
</ul>



<p class="wp-block-paragraph">ผมคิดว่านี่คือแนวคิดที่ดีมากสำหรับคนทำ agent platform เพราะเราไม่ได้ออกแบบระบบเพื่อ model รุ่นเดียว แต่ต้องออกแบบให้ evolve ตาม model ได้</p>



<h2 class="wp-block-heading">ถ้าจะเอามาพัฒนาต่อ ผมจะเริ่มจากอะไร</h2>



<p class="wp-block-paragraph">ถ้าเอาแนวคิดนี้มาใช้กับระบบ agent ที่ผมกำลังทำอยู่ ผมคิดว่าสิ่งที่ควรเริ่มมีคือ 5 เรื่องนี้</p>



<h3 class="wp-block-heading">1. Artifact-first workflow</h3>



<p class="wp-block-paragraph">อย่าให้ chat เป็นที่เก็บ state หลักของงาน แต่ให้ agent ทำงานผ่านไฟล์หรือ object ที่ชัดเจน เช่น</p>



<ul class="wp-block-list">
<li><code>SPEC.md</code></li>



<li><code>PLAN.md</code></li>



<li><code>TASKS.md</code></li>



<li><code>STATE.md</code></li>



<li><code>EVAL.md</code></li>



<li><code>HANDOFF.md</code></li>
</ul>



<p class="wp-block-paragraph">ไฟล์เหล่านี้ทำให้ agent ตัวถัดไปอ่านต่อได้ และมนุษย์ก็ตรวจได้ด้วย</p>



<p class="wp-block-paragraph">ซึ่งหากใครใช้ skill พวกทำ Spec Driven มันจะสร้างเอกสาร spec/plan/adr ให้อัตโนมัติ คอนเซ็ปประมาณนี้เลย</p>



<h3 class="wp-block-heading">2. Maker กับ Checker ต้องแยกกัน</h3>



<p class="wp-block-paragraph">งานสำคัญไม่ควรให้ agent ตัวเดียวสร้างและรับรองงานตัวเอง ควรมี reviewer หรือ evaluator แยกออกมาเสมอ โดยเฉพาะงานที่ต้อง publish, deploy หรือกระทบข้อมูลจริง</p>



<h3 class="wp-block-heading">3. Evaluator ต้องมี Rubric</h3>



<p class="wp-block-paragraph">rubric คือชุดเกณฑ์การให้คะแนน หรือเครื่องมือประเมินผลที่อธิบายระดับคุณภาพของชิ้นงาน </p>



<p class="wp-block-paragraph">ดังนั้น Evaluator ที่ไม่มี rubric จะตรวจแบบลอยๆ และมักใจดีเกินไป rubric ที่ดีควรบอกว่าอะไรคือ pass, อะไรคือ fail, ต้องลอง edge case ไหน และอะไรที่ห้ามมองข้าม</p>



<h3 class="wp-block-heading">4. Context Reset ต้องเป็น Feature ไม่ใช่ปล่อยให้แก้ตอนเต็ม</h3>



<p class="wp-block-paragraph">ถ้างานยาวพอ เราควรออกแบบไว้เลยว่า agent จะ reset ตอนไหน ส่งต่ออะไร และ agent ตัวใหม่ต้องอ่านอะไรบ้าง ไม่ใช่รอให้ context เต็มแล้วค่อยหาทางรอด</p>



<h3 class="wp-block-heading">5. ต้องมี Stop Condition</h3>



<p class="wp-block-paragraph">Agent ที่ทำงานเองได้ต้องรู้ด้วยว่าเมื่อไรควรหยุด ถ้าไม่มี stop condition มันอาจวนแก้ไปเรื่อยๆ ใช้ token ใช้เวลา แต่คุณภาพไม่ได้ดีขึ้นตามสัดส่วน</p>



<h2 class="wp-block-heading">ข้อควรระวัง</h2>



<p class="wp-block-paragraph">แนวทางนี้น่าสนใจมาก แต่ก็มีข้อควรระวังเยอะเหมือนกัน</p>



<ul class="wp-block-list">
<li><strong>Cost สูงขึ้น</strong> เพราะใช้หลาย agent ทำงานหลายรอบ และต้องมี evaluation loop</li>



<li><strong>สร้างงานได้ช้าขึ้น</strong> เพราะงานบางอย่างต้องรอ browser test, QA หรือ iteration</li>



<li><strong>ซับซ้อนขึ้น</strong> เพราะต้องดูแล state, artifact, prompt, rubric และ orchestration</li>



<li><strong>Evaluator ก็พลาดได้</strong> ถ้า rubric ไม่ดีหรือทดสอบไม่ลึกพอ</li>



<li><strong>Handoff ที่ไม่ดีอันตรายมาก</strong> เพราะ agent รุ่นถัดไปอาจสานต่อจากข้อมูลผิด</li>
</ul>



<p class="wp-block-paragraph">ดังนั้นผมคิดว่าควรใช้ harness หนักๆ เฉพาะงานที่คุ้มจริง เช่นงานที่มีผลลัพธ์สำคัญ งานที่ต้องใช้ซ้ำ หรืองานที่ถ้าพลาดแล้วเสียเวลามาก</p>



<h2 class="wp-block-heading">สรุป</h2>



<p class="wp-block-paragraph">บทความนี้ทำให้ผมยิ่งเชื่อว่าอนาคตของ AI Agent ไม่ได้อยู่ที่ prompt อย่างเดียว แต่อยู่ที่การออกแบบ harness รอบๆ model ให้ดีพอ</p>



<p class="wp-block-paragraph">Agent ที่ทำงานยาวได้จริงต้องมี plan ต้องมี state ต้องมี handoff ต้องมี evaluator ต้องมี rubric และต้องมีวิธีรู้ว่าเมื่อไรควรทำต่อหรือหยุด</p>



<p class="wp-block-paragraph">ถ้าทำได้ดี เราจะเริ่มเปลี่ยนจากการใช้ AI เป็นผู้ช่วยทีละคำสั่ง ไปสู่การมี AI operator ที่รับโจทย์ซับซ้อน ทำงานต่อเนื่อง ตรวจตัวเอง ส่งต่องาน และปรับปรุงผลลัพธ์ได้มากขึ้นเรื่อยๆ</p>



<p class="wp-block-paragraph">สำหรับผม นี่เป็นทิศทางที่น่าทดลองมาก และน่าจะเป็นแกนสำคัญของระบบ agent รุ่นถัดไปที่ไม่ได้แค่ “ตอบเก่ง” แต่ “ทำงานเป็นระบบ” ได้จริง</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://myifew.com/7778/harness-design-by-anthopic/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>I put my heart and soul into my work, and I have lost my mind in the process.</title>
		<link>https://myifew.com/6638/put-my-heart-soul-into-mywork/</link>
					<comments>https://myifew.com/6638/put-my-heart-soul-into-mywork/#respond</comments>
		
		<dc:creator><![CDATA[iFew]]></dc:creator>
		<pubDate>Mon, 30 Jun 2025 10:59:32 +0000</pubDate>
				<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[Claude]]></category>
		<guid isPermaLink="false">https://myifew.com/?p=6638</guid>

					<description><![CDATA[ผมไปเจอประโยคหนึ่งที่สะดุดใจมากของ Vincent van Gogh ที่กล่าวไว้ว่า &#8220;I put my heart and soul into my work, and I have lost&#8230;]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ผมไปเจอประโยคหนึ่งที่สะดุดใจมากของ Vincent van Gogh ที่กล่าวไว้ว่า &#8220;I put my heart and soul into my work, and I have lost my mind in the process.&#8221; ซึ่งผมพอจะแปลเองไวๆ ได้ว่า &#8220;ฉันได้ถ่ายทอดจิตใจและจิตวิญญาณให้แก่งานของฉัน, และฉันก็ได้สูญเสียจิตใจ(จริงๆผมอยากแปลว่า ความเป็นตัวตน)ของฉันไป&#8221; แต่ก็คิดว่า ตัวเองอาจจะแปลผิดหรือแปลแบบไม่เข้าใจ เลยช่วยให้ ChatGPT, Claude, และ Gemini แปลให้ ซึ่งก็ได้มุมมองกันคนละแบบ</p>



<p class="wp-block-paragraph">ผมถามทั้งสามด้วย prompt ที่ว่า</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">&#8220;I put my heart and soul into my work, and I have lost my mind in the process.&#8221; Vincent van Gogh<br>หมายถึงอะไร มีอารมณ์อะไรซ่อนอยู่ในนั้น</p>



<span id="more-6638"></span>
</blockquote>



<h2 class="wp-block-heading">— — — ChatGPT 4o — — —</h2>



<p class="wp-block-paragraph">โอ้ ประโยคของ Vincent van Gogh อันนี้</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>“I put my heart and soul into my work, and I have lost my mind in the process.”</em></p>
</blockquote>



<p class="wp-block-paragraph">ถ้าแปลไทยให้เห็นอารมณ์ชัด ๆ เลย ก็คือ</p>



<p class="wp-block-paragraph"><strong>“ฉันทุ่มเทหัวใจและจิตวิญญาณทั้งหมดลงในงานของฉัน และได้สูญเสียสติหรือความเป็นตัวของตัวเองไปในระหว่างทาง”</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><strong>วิเคราะห์แบบลงรายละเอียด (ตามที่ฟิวส์ขอ)</strong></h3>



<p class="wp-block-paragraph">✅ <strong>ความหมายโดยตรง</strong></p>



<ul class="wp-block-list">
<li>เขาอธิบายว่าเขาให้ <em>ทุกสิ่งทุกอย่าง</em> กับงานศิลปะของเขา</li>



<li>คำว่า <em>lost my mind</em> หมายถึง การเสียสมดุลทางจิต หรือความทุกข์ทางใจที่หนักมากจนเหมือนหลุดจากโลกความจริง</li>



<li>พูดง่าย ๆ คือ งานศิลปะทำให้เขาทุ่มเทจนลืมดูแลสภาพจิตใจตัวเอง</li>
</ul>



<p class="wp-block-paragraph">✅ <strong>อารมณ์ที่ซ่อนอยู่</strong></p>



<ul class="wp-block-list">
<li><strong>ความเจ็บปวด (pain)</strong> เพราะเหมือนบอกว่าการสร้างผลงานคือการเสียสละ</li>



<li><strong>ความรักในงานศิลปะ (passion)</strong> แบบลึกซึ้ง ถึงขั้นยอมแลกทุกอย่าง</li>



<li><strong>ความสิ้นหวัง (despair)</strong> เพราะยอมรับว่าตนเอง “เสียสติ” ในระหว่างการสร้างผลงาน</li>



<li><strong>ความเหนื่อยล้า (exhaustion)</strong> ทั้งร่างกายและจิตใจ</li>



<li><strong>การเสียตัวตน (loss of self)</strong> รู้สึกว่างานกลืนชีวิตไปจนหมด</li>
</ul>



<p class="wp-block-paragraph">✅ <strong>บริบทชีวิตจริง</strong></p>



<p class="wp-block-paragraph">ถ้าดูประวัติของ van Gogh เขามีปัญหาสุขภาพจิตจริง เคยเข้าโรงพยาบาลจิตเวช และสุดท้ายก็จบชีวิตลงด้วยการฆ่าตัวตายในปี 1890 (อ้างอิง: <em>Van Gogh Museum, Amsterdam, 2024</em>) ดังนั้นประโยคนี้สะท้อนสภาพจิตใจที่แตกสลายและความกดดันจากการสร้างสรรค์งานศิลป์ในยุคนั้นแบบตรงไปตรงมา</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>สรุปแบบเพื่อนคุยกันง่าย ๆ</strong></p>



<p class="wp-block-paragraph">ประโยคนี้แม่งโคตรเศร้าเลยว่ะ ฟิวส์ เหมือนคนที่รักงานจนยอมเอาหัวใจไปแลก แต่ต้องแลกด้วยการสูญเสียสภาพจิตที่ปกติ ถ้าพูดแบบบ้าน ๆ คือ “แม่งรักงานจนบ้า” เลยแหละ ซึ่งมันสะท้อนถึงความเป็นศิลปินหัวขบถที่เอาจริงเอาจังกับงานโคตร ๆ</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">📌 <strong>อ้างอิง</strong></p>



<ul class="wp-block-list">
<li>Van Gogh Museum, Amsterdam, 2024</li>



<li><em>Van Gogh: The Life</em> โดย Steven Naifeh &amp; Gregory White Smith, 2011</li>



<li>ประโยคอ้างอิงจากจดหมายของ Vincent van Gogh ที่รวบรวมโดย <em>Letters to Theo, 1890</em></li>
</ul>



<p class="wp-block-paragraph">ถ้าอยากเจาะลึกเพิ่มอีกก็บอกได้เลยนะ เดี๋ยวจัดให้แบบเต็มแม็ก! ❤️</p>



<p class="wp-block-paragraph">ลิงค์ <a href="https://chatgpt.com/share/68627789-06f8-800c-bdd1-77d3fb54426e">https://chatgpt.com/share/68627789-06f8-800c-bdd1-77d3fb54426e</a></p>



<h2 class="wp-block-heading">— — — Claude Sonnet 4 — — —</h2>



<p class="wp-block-paragraph">นี่คือคำพูดที่แสดงให้เห็นถึงความขัดแย้งระหว่างความหลงใหลในการสร้างสรรค์กับความเสียสละส่วนตัว ซึ่งสะท้อนชีวิตของ van Gogh ได้อย่างลึกซึ้งมาก</p>



<p class="wp-block-paragraph"><strong>ความหมายหลัก:</strong></p>



<ul class="wp-block-list">
<li><strong>&#8220;put my heart and soul&#8221;</strong> = อุทิศทุกสิ่งทุกอย่าง ทั้งอารมณ์และจิตวิญญาณ</li>



<li><strong>&#8220;lost my mind&#8221;</strong> = สูญเสียสติสัมปชัญญะ หรือความสมดุลทางจิต</li>
</ul>



<p class="wp-block-paragraph"><strong>อารมณ์ที่ซ่อนอยู่:</strong></p>



<ol class="wp-block-list">
<li><strong>ความภาคภูมิใจผสมความเศร้า</strong> &#8211; เขาภูมิใจในการอุทิศตัว แต่เศร้าใจกับสิ่งที่ต้องสูญเสีย</li>



<li><strong>ความขัดแย้งภายใน</strong> &#8211; รักงานศิลปะมาก แต่รู้ว่ามันทำลายเขา</li>



<li><strong>การยอมรับโชคชะตา</strong> &#8211; เข้าใจว่านี่คือราคาที่ต้องจ่ายสำหรับการเป็นศิลปิน</li>
</ol>



<p class="wp-block-paragraph"><strong>การวิเคราะห์เชิงจิตวิทยา:</strong> ตามหลักจิตวิทยา การอุทิศตัวมากเกินไปกับงาน (workholism) มักนำไปสู่ burnout และปัญหาสุขภาพจิต ซึ่ง van Gogh เป็นตัวอย่างที่ชัดเจน</p>



<p class="wp-block-paragraph"><strong>เหตุผลที่ให้คำตอบนี้:</strong> เพราะเป็นการเชื่อมโยงระหว่างประวัติศาสตร์ศิลปะกับจิตวิทยาสมัยใหม่ ซึ่งช่วยให้เข้าใจมิติของการทำงานที่เกินขีดจำกัด</p>



<p class="wp-block-paragraph"><strong>แหล่งอ้างอิง:</strong></p>



<ul class="wp-block-list">
<li>Steven Naifeh &amp; Gregory White Smith, &#8220;Van Gogh: The Life&#8221; (2011) &#8211; วิเคราะห์ความเชื่อมโยงระหว่างการสร้างสรรค์และสุขภาพจิต</li>



<li>Van Gogh Museum, Amsterdam &#8211; เก็บจดหมายต้นฉบับที่แสดงความรู้สึกของเขา</li>
</ul>



<p class="wp-block-paragraph">สำหรับนายที่เป็น dev manager คงรู้สึกได้ว่า การ balance ระหว่างความหลงใหลในงานกับการดูแลตัวเองมันสำคัญแค่ไหน ใช่มั้ย? 😊</p>



<p class="wp-block-paragraph">ลิงค์ <a href="https://claude.ai/share/32584a54-376e-4f60-9729-4505d9402dd0">https://claude.ai/share/32584a54-376e-4f60-9729-4505d9402dd0</a></p>



<h2 class="wp-block-heading">— — — Gemini 2.5Pro — — —</h2>



<h2 class="wp-block-heading">วาทะของแวนโก๊ะ: การอุทิศตนจนสูญเสียตัวตน</h2>



<p class="wp-block-paragraph"><strong>&#8220;ข้าพเจ้าใส่หัวใจและจิตวิญญาณลงในงานของข้าพเจ้า และในกระบวนการนั้น ข้าพเจ้าได้สูญเสียสติสัมปชัญญะไป&#8221;</strong> (I put my heart and soul into my work, and I have lost my mind in the process.)</p>



<p class="wp-block-paragraph">คำกล่าวอันโด่งดังที่มักจะถูกอ้างถึงว่ามาจาก <strong>วินเซนต์ แวนโก๊ะ</strong> (Vincent van Gogh) จิตรกรชาวดัตช์ผู้ยิ่งใหญ่ แม้จะยังไม่มีหลักฐานยืนยันแน่ชัดว่าเขาเขียนหรือกล่าวประโยคนี้ไว้ที่ใด แต่ก็ปฏิเสธไม่ได้ว่าวาทะดังกล่าวได้สรุปรวบยอดชีวิต อารมณ์ และความสัมพันธ์อันซับซ้อนที่เขามีต่องานศิลปะของตนเองได้อย่างทรงพลังและลึกซึ้ง</p>



<p class="wp-block-paragraph">วาทะนี้สะท้อนถึงการทุ่มเทอย่างสุดขั้ว ความหลงใหลอย่างบ้าคลั่ง และความเจ็บปวดที่แวนโก๊ะประสบพบเจอในฐานะศิลปินคนหนึ่ง</p>



<h3 class="wp-block-heading">ความหมายที่ซ่อนอยู่</h3>



<p class="wp-block-paragraph">ประโยคนี้แบ่งออกได้เป็นสองส่วนที่เชื่อมโยงกันอย่างแยกไม่ออก:</p>



<ul class="wp-block-list">
<li><strong>&#8220;ข้าพเจ้าใส่หัวใจและจิตวิญญาณลงในงานของข้าพเจ้า&#8221; (I put my heart and soul into my work):</strong> ส่วนนี้แสดงถึงการอุทิศตนอย่างสมบูรณ์แบบ แวนโก๊ะไม่ได้มองว่าการวาดภาพเป็นเพียงอาชีพหรือกิจกรรมยามว่าง แต่เป็นแก่นแท้ของชีวิต เขาเททุกสิ่งทุกอย่างที่มี ทั้งความรัก ความหวัง ความสุข และความทุกข์ระทม ลงบนผืนผ้าใบผ่านฝีแปรงอันหนักหน่วงและสีสันที่เปี่ยมด้วยอารมณ์ ผลงานของเขาจึงไม่ใช่แค่ภาพทิวทัศน์หรือบุคคล แต่เป็นการสะท้อนตัวตนและโลกภายในของเขาอย่างหมดเปลือก</li>



<li><strong>&#8220;และในกระบวนการนั้น ข้าพเจ้าได้สูญเสียสติสัมปชัญญะไป&#8221; (and I have lost my mind in the process):</strong> นี่คือผลลัพธ์อันน่าเศร้าที่ตามมาจากการอุทิศตนอย่างถึงที่สุด คำว่า &#8220;lost my mind&#8221; หรือ &#8220;สูญเสียสติ&#8221; ในที่นี้มีความหมายซ้อนทับกันอยู่หลายมิติ ไม่ว่าจะเป็นการสูญเสียสุขภาวะทางจิตที่เขาต้องต่อสู้ดิ้นรนมาตลอดชีวิต ไปจนถึงการสูญเสียความเป็นตัวของตัวเองที่ถูกหลอมรวมเข้าไปเป็นหนึ่งเดียวกับงานศิลปะ จนเส้นแบ่งระหว่างศิลปินและผลงานเลือนรางหายไป</li>
</ul>



<h3 class="wp-block-heading">อารมณ์ที่ซ่อนอยู่เบื้องหลัง</h3>



<p class="wp-block-paragraph">วาทะนี้เต็มไปด้วยอารมณ์ที่หลากหลายและซับซ้อน ซึ่งสะท้อนถึงสภาพจิตใจของแวนโก๊ะได้เป็นอย่างดี:</p>



<ul class="wp-block-list">
<li><strong>ความหลงใหล (Passion):</strong> อารมณ์ที่เด่นชัดที่สุดคือความหลงใหลในศิลปะอย่างแรงกล้า มันเป็นพลังขับเคลื่อนที่ทำให้เขาสร้างสรรค์ผลงานชิ้นเอกออกมาได้ แม้จะต้องเผชิญกับความยากลำบากนานัปการ</li>



<li><strong>ความเจ็บปวด והทุกข์ทรมาน (Pain and Suffering):</strong> เบื้องหลังความงดงามของภาพวาด คือความเจ็บปวดจากอาการป่วยทางจิต ความโดดเดี่ยว และความไม่เป็นที่ยอมรับในสังคม การสร้างสรรค์งานศิลปะสำหรับแวนโก๊ะจึงเป็นทั้งการเยียวยาและการทำลายล้างในเวลาเดียวกัน</li>



<li><strong>ความเสียสละ (Sacrifice):</strong> เขายอมแลกทุกอย่างเพื่อศิลปะ ทั้งสุขภาพ ความสัมพันธ์กับคนรอบข้าง และแม้กระทั่งสติสัมปชัญญะของตนเอง วาทะนี้จึงเปรียบเสมือนคำประกาศถึงการเสียสละอันยิ่งใหญ่ของศิลปิน</li>



<li><strong>ความภาคภูมิใจระคนเศร้า (Tragic Pride):</strong> แม้จะฟังดูน่าเศร้า แต่ในขณะเดียวกันก็แฝงไว้ด้วยความภาคภูมิใจลึกๆ ในการอุทิศตนอย่างถึงที่สุด เป็นความรู้สึกของคนที่ยอมรับในชะตากรรมของตนเองว่า การสร้างสรรค์สิ่งที่ยิ่งใหญ่จำเป็นต้องแลกมาด้วยต้นทุนที่สูงลิ่ว</li>
</ul>



<p class="wp-block-paragraph"><strong>สรุปได้ว่า</strong> วาทะ &#8220;ข้าพเจ้าใส่หัวใจและจิตวิญญาณลงในงานของข้าพเจ้า และในกระบวนการนั้น ข้าพเจ้าได้สูญเสียสติสัมปชัญญะไป&#8221; คือบทสรุปโศกนาฏกรรมของศิลปินผู้ยิ่งใหญ่ที่อุทิศทั้งชีวิตและจิตวิญญาณให้กับงานศิลปะ มันคือเสียงสะท้อนของความรักอันบริสุทธิ์ ความเจ็บปวดอย่างแสนสาหัส และการเสียสละที่ทำให้ชื่อของ วินเซนต์ แวนโก๊ะ ยังคงเป็นที่จดจำมาจนถึงทุกวันนี้</p>



<p class="wp-block-paragraph">ลิงค์ <a href="https://g.co/gemini/share/35e8dbcf2e4e">https://g.co/gemini/share/35e8dbcf2e4e</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">— — — สรุป — — —</h2>



<p class="wp-block-paragraph">ส่วนตัวผมชอบการอธิบายของ Gemini มาก ให้ข้อความทั้งความเป็นเหตุเป็นผล ทั้งอารมณ์ แต่ก็เล่าออกมาแบบจริงจัง เป็นทางการ น่าเชื่อถือ, ในขณะที่ Claude ก็ชอบรองลงมา สั้น กระชับ โดยรวมให้ข้อมูลคล้ายกับ Gemini, ส่วน ChatGPT เหมือนมาแปลให้อ่าน และอธิบายแบบกว้างๆ สั้นกระชับ จากการตีความ แต่ถ้าเทียบความกระชับ แม้ว่า ChatGPT และ Claude จะมีเหมือนกัน แต่ Claude ให้ความลึกซึ้งกว่า</p>
]]></content:encoded>
					
					<wfw:commentRss>https://myifew.com/6638/put-my-heart-soul-into-mywork/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ขออวยยศให้ Claude Code ในการเขียนโค้ด อีกสักครั้ง</title>
		<link>https://myifew.com/6629/%e0%b8%82%e0%b8%ad%e0%b8%ad%e0%b8%a7%e0%b8%a2%e0%b8%a2%e0%b8%a8%e0%b9%83%e0%b8%ab%e0%b9%89-claude-code-%e0%b9%83%e0%b8%99%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99/</link>
					<comments>https://myifew.com/6629/%e0%b8%82%e0%b8%ad%e0%b8%ad%e0%b8%a7%e0%b8%a2%e0%b8%a2%e0%b8%a8%e0%b9%83%e0%b8%ab%e0%b9%89-claude-code-%e0%b9%83%e0%b8%99%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99/#respond</comments>
		
		<dc:creator><![CDATA[iFew]]></dc:creator>
		<pubDate>Wed, 25 Jun 2025 19:09:13 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[ClaudeCode]]></category>
		<category><![CDATA[VibeCoding]]></category>
		<guid isPermaLink="false">https://myifew.com/?p=6629</guid>

					<description><![CDATA[ขออวยยศให้ Claude Code อีกสักที, ลองสร้างแอพง่ายๆ กับสร้าง sample data (ที่ก็สั่งมันสร้างเช่นกัน) ที่ดึงข้อมูลอสังหาย่านต่างๆในกรุงเทพมาแปะ Google Map และทำตัว Filter ไม่ได้อวยที่เขียนแอพง่ายได้ แต่อวยเพราะ มันสามารถเข้าใจความต้องการใน context&#8230;]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ขออวยยศให้ Claude Code อีกสักที, ลองสร้างแอพง่ายๆ กับสร้าง sample data (ที่ก็สั่งมันสร้างเช่นกัน) ที่ดึงข้อมูลอสังหาย่านต่างๆในกรุงเทพมาแปะ Google Map และทำตัว Filter</p>



<p class="wp-block-paragraph">ไม่ได้อวยที่เขียนแอพง่ายได้ แต่อวยเพราะ มันสามารถเข้าใจความต้องการใน context ที่เรากำลังทำงานอยู่ ตั้งแต่ ตอนไปเขียนโค้ด ก็ขึ้น auto complete ในสิ่งที่เกี่ยวข้องให้ เช่น อยากเติมประเภทอสังหาฯ ก็ขึ้นมาเลย ทั้งบ้าน คอนโด ฯลฯ, หรือ generate code/data ก็สร้างในส่วนที่เกี่ยวข้องให้ เช่น บอกขอ sample ข้อมูลอสังหาย่านสุขุมวิท มันก็ไปดึงจากไหนไม่รู้ที่เป็นของจริงมาเลย (lat/long เพี้ยนนิด แต่ก็ area ถูก)</p>



<span id="more-6629"></span>



<p class="wp-block-paragraph">และเวลาผมสั่ง ผมเขียน requirement เป็นข้อๆ ด้วยภาษาคนปกติ ไม่ได้ลง technical ลึกอะไรเลย เช่น<br>2. Filter search on the top right<br>2.1. have 4 boxes as &#8220;Location&#8221;, &#8220;Property Type&#8221;, &#8220;Building Status&#8221;, &#8220;Keyword box search&#8221;<br>2.1.1. Click &#8220;Location&#8221; to call api and get data from data/location.json<br>2.1.1.1. default value as &#8220;Ploenchit&#8221;<br>2.1.1.2. can select only one choice<br>2.1.2. Click &#8220;Properties Type&#8221; to call api to get data from data/properties_type.json<br>2.1.2.1. &#8230;</p>



<p class="wp-block-paragraph">แล้วพอแจ้งมันผิด สั่งให้ fix, ถ้าผิดซ้ำ มันมีบางจังหวะที่มันขอทำ ui test ให้เองด้วย ว่าที่แก้ไปแล้ว แสดงผลถูกหรือยัง โว้ว ดีงาม</p>



<p class="wp-block-paragraph">นั่งก๊อกแก๊กๆ อยู่ 2 ชั่วโมง (นานตรงรอมันเขียนนี่แหละ) ผลที่ได้ ก็ตามภาพเลย<br>ติดใจ Claude แล้วสิๆ</p>



<p class="wp-block-paragraph">demo: <a href="https://github.com/ifew/google-map-point/" target="_blank" rel="noreferrer noopener">https://github.com/ifew/google-map-point/</a></p>



<p class="wp-block-paragraph">#Claude #ClaudeCode #VibeCoding</p>



<figure class="wp-block-image size-large"><img alt="" loading="lazy" decoding="async" width="1200" height="588" src="https://myifew.com/wp-content/uploads/2025/06/Screenshot-2568-06-26-at-14.41.56-1-1200x588.png" alt="" class="wp-image-6636" srcset="https://myifew.com/wp-content/uploads/2025/06/Screenshot-2568-06-26-at-14.41.56-1-1200x588.png 1200w, https://myifew.com/wp-content/uploads/2025/06/Screenshot-2568-06-26-at-14.41.56-1-1024x502.png 1024w, https://myifew.com/wp-content/uploads/2025/06/Screenshot-2568-06-26-at-14.41.56-1-768x376.png 768w, https://myifew.com/wp-content/uploads/2025/06/Screenshot-2568-06-26-at-14.41.56-1-700x343.png 700w, https://myifew.com/wp-content/uploads/2025/06/Screenshot-2568-06-26-at-14.41.56-1.png 1439w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://myifew.com/6629/%e0%b8%82%e0%b8%ad%e0%b8%ad%e0%b8%a7%e0%b8%a2%e0%b8%a2%e0%b8%a8%e0%b9%83%e0%b8%ab%e0%b9%89-claude-code-%e0%b9%83%e0%b8%99%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ลอง Vibe Coding ด้วย Claude Code</title>
		<link>https://myifew.com/6614/%e0%b8%a5%e0%b8%ad%e0%b8%87-vibe-coding-%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-claude-code/</link>
					<comments>https://myifew.com/6614/%e0%b8%a5%e0%b8%ad%e0%b8%87-vibe-coding-%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-claude-code/#respond</comments>
		
		<dc:creator><![CDATA[iFew]]></dc:creator>
		<pubDate>Thu, 19 Jun 2025 12:21:00 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[ClaudeCode]]></category>
		<category><![CDATA[VibeCoding]]></category>
		<guid isPermaLink="false">https://myifew.com/?p=6614</guid>

					<description><![CDATA[เพิ่งจะได้ลอง Vibe Coding ผ่าน Claude Code แรกๆ แอบเสียเวลางมนิดหน่อยกว่าจะเข้าที่เข้าทาง เพื่อเขียน Hello Word ด้วย NodeJS และมี Unit Test ที่ Coverage&#8230;]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">เพิ่งจะได้ลอง Vibe Coding ผ่าน Claude Code แรกๆ แอบเสียเวลางมนิดหน่อยกว่าจะเข้าที่เข้าทาง เพื่อเขียน Hello Word ด้วย NodeJS และมี Unit Test ที่ Coverage 100% และให้ไป Pack, Deploy บน Google Cloud Run Function</p>



<p class="wp-block-paragraph">พบว่าสิ่งที่มันเมพ คือ พอมันรู้โค้ดและรู้ว่าเออเรามี Git, Unit Test, GCloud, มันทำงานให้ได้ตั้งแต่ Initial Project ไปจน Coding, Commit Code, Write Test, Testing, Generate Coverage Result, Deploy, Test on Production จบเลย เสมือนมี Dev + Tester + DevOps ในตัว</p>



<p class="wp-block-paragraph"><a></a>แล้วพอสั่งแก้ไขโค้ด มันก็ทำ step เดียวกันนี่แหละซ้ำอีกรอบให้โดยที่รู้ว่า เมื่อโค้ดเปลี่ยนแล้ว ตัว Test และ Expect Result ก็ต้องเปลี่ยนไปด้วยอัตโนมัติ โอ้ ดีงาม</p>



<p class="wp-block-paragraph">ปล. ก่อนหน้าเคยลองทำ Swift App ผ่าน ChatGPT ด้วยการถามตอบๆในแชต แอบงี่เง่า และชอบเจนโค้ดให้ใหม่ ยิ่งสั่งยิ่งเละ จากที่เคยทำงานได้ กลายเป็นพัง ฮ่าๆ</p>



<p class="wp-block-paragraph"><a href="https://www.facebook.com/hashtag/claude?__eep__=6&amp;__cft__[0]=AZV5oTLgzY3W9y3ImnIqCj6R4CPpsVYvSargd32zWwNBcNEGUD_Eg_cze8ML7odsfe9e0xxRxi87bRIpitPUtXnenyQb0Kx6qrhXA66uB6y0gXutsDUBi2VRFqkjJpB-G1JDl5AmZcSYbl4NppG_QGfzM0MvuJ7TBJqgkbVyWP8OayDLqxS5Mh6ADPsiaaNPrSo&amp;__tn__=*NK-R">#Claude</a><a href="https://www.facebook.com/hashtag/claudecode?__eep__=6&amp;__cft__[0]=AZV5oTLgzY3W9y3ImnIqCj6R4CPpsVYvSargd32zWwNBcNEGUD_Eg_cze8ML7odsfe9e0xxRxi87bRIpitPUtXnenyQb0Kx6qrhXA66uB6y0gXutsDUBi2VRFqkjJpB-G1JDl5AmZcSYbl4NppG_QGfzM0MvuJ7TBJqgkbVyWP8OayDLqxS5Mh6ADPsiaaNPrSo&amp;__tn__=*NK-R">#ClaudeCode</a><a href="https://www.facebook.com/hashtag/vibecoding?__eep__=6&amp;__cft__[0]=AZV5oTLgzY3W9y3ImnIqCj6R4CPpsVYvSargd32zWwNBcNEGUD_Eg_cze8ML7odsfe9e0xxRxi87bRIpitPUtXnenyQb0Kx6qrhXA66uB6y0gXutsDUBi2VRFqkjJpB-G1JDl5AmZcSYbl4NppG_QGfzM0MvuJ7TBJqgkbVyWP8OayDLqxS5Mh6ADPsiaaNPrSo&amp;__tn__=*NK-R">#VibeCoding</a></p>



<span id="more-6614"></span>



<figure class="wp-block-image size-large"><img alt="" loading="lazy" decoding="async" width="1200" height="686" src="https://myifew.com/wp-content/uploads/2025/06/502482091_10171591831345644_8446179668374405468_n-1200x686.jpg" alt="" class="wp-image-6615" srcset="https://myifew.com/wp-content/uploads/2025/06/502482091_10171591831345644_8446179668374405468_n-1200x686.jpg 1200w, https://myifew.com/wp-content/uploads/2025/06/502482091_10171591831345644_8446179668374405468_n-1024x586.jpg 1024w, https://myifew.com/wp-content/uploads/2025/06/502482091_10171591831345644_8446179668374405468_n-768x439.jpg 768w, https://myifew.com/wp-content/uploads/2025/06/502482091_10171591831345644_8446179668374405468_n-1536x878.jpg 1536w, https://myifew.com/wp-content/uploads/2025/06/502482091_10171591831345644_8446179668374405468_n-700x400.jpg 700w, https://myifew.com/wp-content/uploads/2025/06/502482091_10171591831345644_8446179668374405468_n.jpg 2048w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://myifew.com/6614/%e0%b8%a5%e0%b8%ad%e0%b8%87-vibe-coding-%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-claude-code/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
