<?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>Working Agreement &#8211; Few Steps &#8211; ก้าวสั้นๆ แต่ไปเรื่อยๆ</title>
	<atom:link href="https://myifew.com/tag/working-agreement/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.2</generator>

<image>
	<url>https://myifew.com/wp-content/uploads/2018/07/cropped-logo6-ts-32x32.png</url>
	<title>Working Agreement &#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>
	</channel>
</rss>
